-
Notifications
You must be signed in to change notification settings - Fork 27
ECKIT-635 FAM Mock and data structures on FAM via OpenFAM lib #209
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
mcakircali
wants to merge
294
commits into
develop
Choose a base branch
from
feature/ECKIT-635_fam-backend-map
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
294 commits
Select commit
Hold shift + click to select a range
41ecc48
fix(FAM): bug in FamName path parsing
mcakircali b7f07d1
refactor(FAM): cosmetic
mcakircali 783773c
test(FAM): added more region and object API stuff
mcakircali 149e929
Merge branch 'develop' into feature/backend-openfam
mcakircali 2fcedb3
feat(Exceptions): added OutOfStorage exception
mcakircali 07d6e0c
test(FAM): added more object tests
mcakircali a7a6557
feat(FAM): added version to FamNode header
mcakircali 516e5eb
fix(FAM): added missing find_package in CMakeLists
mcakircali d1c4d69
style(FAM): cosmetic
mcakircali 5808cbf
Merge branch 'develop' into feature/backend-openfam
mcakircali 774ec73
feat(FAM): added FamNamePath
mcakircali 7425645
test(FAM): ctor URI and Name
mcakircali e0af456
feat(URI): added Endpoint getter
mcakircali 42b7708
feat(FAM): API for FamNamePath from URI and cleanup
mcakircali 66ec025
test(FAM): fixes API
mcakircali 0e89adc
feat(URI): extended ctor for Endpoint
mcakircali c80c033
feat(FAM): moved FamPath to seperate source
mcakircali 1726e51
test(FAM): fixed API changes
mcakircali 6eb6b86
test(FAM): added FamPath tests
mcakircali 398b43d
feat(cmake): added FindLibUUID
mcakircali 2645f4b
feat(FAM): generate UUID V5
mcakircali d3ded3b
fix(FAM): FamHandle API
mcakircali 615619d
feat(FAM): FamName with endpoint member
mcakircali d64aa53
feat(FAM): small changes to FamName and FamPath
mcakircali f4fc2aa
fix(FAM): added metadata server exception
mcakircali 65bbbee
feat(FAM): make FamName abstract
mcakircali b24cdac
feat(FAM): added FamRegionName
mcakircali e74667e
feat(FAM): added FamObjectName
mcakircali 09526be
fix(FAM): use FamObjectName in FamHandle
mcakircali 8753c73
fix(FAM): use FamObjectName in FamURIManager
mcakircali 1937926
test(FAM): refactor after FamName changes
mcakircali 00d8f3d
Merge branch 'develop' into feature/backend-openfam
mcakircali 9fd48e6
fix(FAM): FamName API
mcakircali d335320
fix(FAM): cleanup
mcakircali 21cf1ad
feat(FAM): added ctor for FamPath
mcakircali 597ff39
test(FAM): added Name stuff and fixes
mcakircali 57749e0
feat(FAM): get object from region
mcakircali bf89030
feat(FAM): static uuid method
mcakircali c9f3e0c
feat(FAM): added object uuid method
mcakircali 5554942
feat(FAM): added uri belongs method
mcakircali 8f4ece7
test(Buffer): fix null check
mcakircali 43aa461
Merge branch 'develop' into feature/backend-openfam
mcakircali afb3514
fix format
mcakircali 2967c0d
Merge branch 'develop' into feature/backend-openfam
mcakircali b3d6599
fix libuuid cmake
mcakircali 2a8dfdb
fix(FAM): cmake option
mcakircali e9c8e74
fix(FAM): includes FamList
mcakircali cb288c3
fix(FAM): includes FamSession
mcakircali 36978cd
fix(FAM): includes
mcakircali a49d8f8
fix(FAM): exceptions
mcakircali 63f2616
feat(FAM): added Stream API to FamName
mcakircali 618252f
feat(FAM): added Stream API to FamPath
mcakircali 6822172
fix(FAM): name and path
mcakircali be3d4e0
fix(FAM): assert handle obj
mcakircali 03f5804
feat(FAM): added uriBelongs to FamRegionName
mcakircali ae87385
feat(FAM): added buffer() to ObjectName
mcakircali f71c8e4
test(FAM): API fixes
mcakircali e0a3c81
feat(FAM): added FamMap (WIP)
mcakircali 64b2055
fix(FAM): Fam_Descriptor_Status issue
mcakircali 1e7db17
fix(FAM): nothrow get session
mcakircali 6b67b1b
feat(FAM): add string support for property
mcakircali 0065db5
fix(FAM): format
mcakircali 3736534
ECKIT-635: add debug log
mcakircali 8c46a9a
ECKIT-635: test includes
mcakircali a510ff5
ECKIT-635: fix fam include
mcakircali 1466241
ECKIT-635: fix fam test
mcakircali 9c4136a
ECKIT-635: add perm level
mcakircali 792919c
ECKIT-635: fix test
mcakircali c48544c
ECKIT-635: cleanup
mcakircali f2c8e43
ECKIT-635: cleanup fam test
mcakircali 2a877e3
ECKIT-635: fix fam map
mcakircali 86351fd
ECKIT-635: fix fam region name
mcakircali bd54d22
ECKIT-635: fix fam list includes
mcakircali 0e85346
ECKIT-635: fam session
mcakircali 7df9d13
ECKIT-635: fam session to manager
mcakircali e7934fb
ECKIT-635: reorg fam session manager
mcakircali 6aab8db
ECKIT-635: clean fam region
mcakircali a4f6485
ECKIT-635: clean fam region test
mcakircali be57038
Merge branch 'develop' into feature/ECKIT-635_fam-backend-map
mcakircali 92f4e52
ECKIT-635: fix api
mcakircali 4534d29
fix(cmake): bump min ecbuild version
mcakircali 47258aa
Merge branch 'fix/min-ecbuild-version' into feature/ECKIT-635_fam-bac…
mcakircali 023a26b
ECKIT-635: fam region dtor
mcakircali d90d76e
ECKIT-635: fam handle
mcakircali 354f90e
ECKIT-635: remove ptr fam object
mcakircali f46d945
ECKIT-635: fix fam text
mcakircali 0255014
ECKIT-635: cleanup fam session
mcakircali c3b6af2
Merge branch 'fix/cmake-syntax-issue' into feature/ECKIT-635_fam-back…
mcakircali 28dcb94
ECKIT-635: fix leak fam session
mcakircali 455112c
Merge branch 'develop' into feature/ECKIT-635_fam-backend-map
mcakircali 1e25ef3
ECKIT-635: cleanup fam object name
mcakircali 5f43e70
ECKIT-635: fix magic number fam property
mcakircali 240a79d
ECKIT-635: rule of five for FamName
mcakircali 424213f
ECKIT-635: FamName param case
mcakircali 05f1ea7
ECKIT-635: fix fam hash table
mcakircali 47e2704
ECKIT-635: param case
mcakircali 556090b
Merge branch 'develop' into feature/ECKIT-635_fam-backend-map
mcakircali 400e330
ECKIT-635: include
mcakircali a56d42b
FDB-537 famobejctname and famurimanager
mcakircali 3a60716
wip fam map
mcakircali 3e3c988
Merge branch 'develop' into feature/ECKIT-635_fam-backend-map
mcakircali 5907c2b
Merge branch 'develop' into feature/ECKIT-635_fam-backend-map
mcakircali a25ad0a
Merge branch 'develop' into project/opencube-m34
mcakircali a750c09
fix(FAM): read size length
mcakircali 6682755
Merge branch 'develop' into project/opencube-m34
mcakircali 40fc4e8
Merge branch 'develop' into project/opencube-map
mcakircali 710bfb5
Merge branch 'develop' into project/opencube-map
mcakircali c7a8de0
fix(FAM): FamPath uuid
mcakircali db6535d
fix(FAM): tests
mcakircali c12e6c1
fix(FAM): FamName api
mcakircali ce9a377
Merge branch 'develop' into project/opencube-map
mcakircali bc7ed58
fix(FAM): FamObject move only
mcakircali 6c6c9ba
fix(FAM): iterator never set to invalid=false
mcakircali a221db1
fix(FAM): map ctor rules
mcakircali 6faa482
fix(FAM): list::front/back asserts empty
mcakircali 8fd0b81
refactor(FAM): list iter
mcakircali 39bb2dd
fix(FAM): tests
mcakircali 3b930a2
feat(FAM): list helpers
mcakircali 9aaba96
feat(FAM): fam object value type
mcakircali 924d1da
test(FAM): add more list
mcakircali 1fb55b1
feat(FAM): session mutex and cleanup
mcakircali 2b7194e
fix(FAM): sessions
mcakircali 81c7ac6
fix(FAM): session cleanup
mcakircali e7a0007
chore(FAM): test accessor
mcakircali 66b67cc
refactor(FAM): FamSession -> Session
mcakircali 69d1da8
refactor(FAM): FamSession
mcakircali 9ccb7cb
refactor(FAM): trailing return
mcakircali e64b136
feat(fam): implement FamList pop operations and tests
mcakircali 00de9c9
feat(fam): add erase FamList
mcakircali 7d6b447
feat(fam): cleanup
mcakircali 81d0fb1
feat(fam): lock-free list
mcakircali c9488c9
feat(fam): add more list api
mcakircali 1e7779f
feat(fam): implement map
mcakircali c7b00d1
feat(fam): add map entry type
mcakircali f78cb5f
feat(fam): implement map iterators
mcakircali 4cbeb55
fix(fam): list test
mcakircali e85d1b2
test(fam): add map
mcakircali 6665bc8
feat(fam): template map
mcakircali f576ba1
test(fam): add map64 type
mcakircali e8b7149
doc(fam): map
mcakircali 0edc3c6
feat(fam): cleanup
mcakircali c3f1664
feat(fam): predef map sizes
mcakircali 903f797
Merge branch 'feature/fam-map' into feature/ECKIT-635_fam-backend-map
mcakircali 872c481
Merge branch 'develop' into feature/ECKIT-635_fam-backend-map
mcakircali 6037432
feat(fam): table suffix and uriBelogns
mcakircali 1d59939
feat(fam): cmake openfam mock
mcakircali 168c7b0
feat(fam): add openfam mock exception
mcakircali edd4b51
feat(fam): add openfam mock
mcakircali 27ee1c8
feat(fam): mock via shared memory
mcakircali 6c69137
refactor(fam): simplify
mcakircali 85c8eed
fix(fam): __ATOMIC_RELEASE
mcakircali 58c0873
fix(fam): free region
mcakircali ed87a07
fix(fam): null check fam_resize_region
mcakircali 6de79b6
fix(fam): FamHandle::seek absolute
mcakircali 0ef69ca
fix(fam): isValidName signed char
mcakircali abc5091
fix(fam): partHandle empty check
mcakircali 0affaad
fix(fam): perm_t
mcakircali 2fb7ed8
fix(fam): fam_get_option can return nullptr
mcakircali 459d67c
fix(fam): FamObject::data() unsigned underflow
mcakircali b45118f
fix(fam): ensureCreate loop guards
mcakircali f3f96ac
fix(fam): fam_stat check nullptr
mcakircali d2ca3f2
fix(fam): use std::uint64_t{7}
mcakircali fea244e
fix(fam): throw failed unlock
mcakircali a4585db
fix(fam): use string_view
mcakircali 68489de
fix(fam): remove Dead breaks
mcakircali f9abca8
doc(fam): mock allocate
mcakircali e904034
Merge branch 'develop' into feature/ECKIT-635_fam-backend-map
mcakircali b4d4e8c
fix(fam): remove junk
mcakircali 99e797d
fix(fam): test fam common
mcakircali 766ae3c
fix(fam): T deduce to unsigned long
mcakircali 84e8b4a
fix(fam): add missing includes
mcakircali 06fbeff
fix(fam): testing fills up shm
mcakircali 8156c6f
fix(fam): make shared
mcakircali c87171f
test(fam): add famurimanager asString
mcakircali f7d867a
test(fam): safer make test data
mcakircali 068a019
fix(fam): zero fill if data is null
mcakircali 6f82636
fix(fam): add missing include
mcakircali 30ae134
fix(fam): dereference const
mcakircali 9ec4778
doc(fam): add TOCTOU comment
mcakircali 47f3cf6
doc(fam): add map::insert duplicates
mcakircali 877a785
fix(fam): object zero-size data
mcakircali 6f18d27
fix(fam): assert fampath parsing
mcakircali a098a7c
fix(fam): fampath uuid
mcakircali f862eac
fix(fam): add missing chrono header
mcakircali f43017e
test(fam): fam endpoint as env
mcakircali 00aa3cd
fix(fam): catch concurrent destroys
mcakircali 3d92483
fix(fam): cmake options
mcakircali 682537f
feat(fam): add FamCommon for types
mcakircali 8bc1011
test(fam): add FamHandle
mcakircali 89a9d92
test(fam): add mixed
mcakircali 64e7f9e
test(fam): split monolith fam into separate tests
mcakircali 2bd6570
test(fam): move to fam directory
mcakircali e00de34
chore(fam): remove unused header
mcakircali 008299d
fix(fam): reduce obj name length
mcakircali ba34435
feat(fam): add FamMap insertOrAssign
mcakircali 4987689
fix(fam): limit mock objname size = 40
mcakircali 69146c8
Merge branch 'develop' into feature/ECKIT-635_fam-backend-map
mcakircali 9af6489
feat(fam): add ShmHandle
mcakircali 7012776
feat(fam): use std lock_guard instead of LockGuard
mcakircali a4177a6
feat(fam): address pr comment
mcakircali 898e844
feat(fam): set fam mock size at runtime
mcakircali bad5093
feat(fam): alignTo8 magic
mcakircali e8dff89
feat(fam): add findlibopenfam
mcakircali e708956
feat(fam): mock is a shared lib
mcakircali 4e742f4
feat(fam): add clang tidy
mcakircali 77bf4e4
feat(fam): config and session name
mcakircali 7095552
feat(fam): address pr comment
mcakircali 04d70c7
fix(fam): guard object data()
mcakircali 23c7360
test(fam): address pr comment
mcakircali 35ff24b
feat(fam): pr comment fampath class
mcakircali 3133415
test(fam): explicit cleanup
mcakircali 64dd19a
feat(fam): add emplace to FamMap
mcakircali 5d596c3
feat(fam): map insert or assign is push front
mcakircali 8a20fd8
feat(fam): renamed session()
mcakircali af517ef
feat(fam): mock uses 0600
mcakircali 23ba853
feat(fam): mock reclaim data area
mcakircali 8c77723
feat(fam): FamHash heap allocation
mcakircali 55a0f5a
feat(fam): FamMap insert pushFront
mcakircali b6af1c6
feat(fam): FamMap avoid infinite spin
mcakircali 27b3601
feat(fam): FamMap force insert
mcakircali 053bd26
test(fam): FamMap force insert
mcakircali f00eb89
chore(fam): cleanup
mcakircali 9144313
test(fam): more FamMap api
mcakircali aabe0db
test(fam): multi-proc
mcakircali edb56ea
test(fam): list map multi-proc
mcakircali f86e39b
fix(fam): mock multi-proc
mcakircali 154e75e
feat(fam): add simple spin lock
mcakircali 78dd2e4
feat(fam): add ensureObject
mcakircali 905a187
test(fam): add set_terminate
mcakircali 80b1c6f
test(Testing): add ProcessFork
mcakircali 5208960
test(fam): use processfork
mcakircali 3499252
fix(fam): famlist race condition
mcakircali d0683ac
test(fam): fix real fam
mcakircali 13cdc0d
fix(fam): format
mcakircali 853cc4e
test(fam): re-org
mcakircali 8183b84
feat(fam): add backoff
mcakircali efbb044
feat(fam): add fork process
mcakircali 6669559
feat(fam): handle concurrent destroy
mcakircali 8b0a201
feat(fam): assert types
mcakircali 14a8090
feat(fam): remove epoch
mcakircali 276e693
feat(fam): FamMap lease-based lock
mcakircali 79f8150
fix(fam): FamMap size assert
mcakircali 2998fcb
chore(fam): refactor famcommon
mcakircali e0bbec5
fix(fam): FamMap clear is locked
mcakircali a06474a
fix(fam): ensureObject throws w/ msg
mcakircali 9ab9db0
fix(fam): FamHandle throw out of range
mcakircali e907e3c
feat(fam): prev/next offsets
mcakircali b843046
feat(fam): remove inheritance on pod
mcakircali 0ed86f8
fix(fam): assert msg
mcakircali 7accf7d
fix(fam): header cleanup
mcakircali File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -13,3 +13,4 @@ build/ | |
| tests/geo/eckit_geo_cache | ||
| _build | ||
| *.ccls-cache | ||
| compile_commands.json | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,104 @@ | ||
| # Copyright 2024- European Centre for Medium-Range Weather Forecasts (ECMWF) | ||
| # | ||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||
| # you may not use this file except in compliance with the License. | ||
| # You may obtain a copy of the License at | ||
| # | ||
| # https://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| # See the License for the specific language governing permissions and | ||
| # limitations under the License. | ||
| # | ||
| # In applying this licence, ECMWF does not waive the privileges and immunities | ||
| # granted to it by virtue of its status as an intergovernmental organisation nor | ||
| # does it submit to any jurisdiction. | ||
| # | ||
| # Requires: | ||
| # FindPackageHandleStandardArgs (CMake standard module) | ||
| # | ||
|
|
||
| #[=======================================================================[.rst: | ||
| FindLibOPENFAM | ||
| -------------- | ||
|
|
||
| This module finds the libopenfam (Fabric-Attached Memory) library. | ||
|
|
||
| Imported Targets | ||
| ^^^^^^^^^^^^^^^^ | ||
|
|
||
| This module provides the following imported targets, if found: | ||
|
|
||
| ``LibOPENFAM`` | ||
| The libopenfam library | ||
|
|
||
| Result variables | ||
| ^^^^^^^^^^^^^^^^ | ||
|
|
||
| This module will set the following variables in your project: | ||
|
|
||
| ``LIB_OPENFAM_FOUND`` | ||
| True if the libopenfam library is found. | ||
| ``LIB_OPENFAM_INCLUDE_DIRS`` | ||
| Include directories needed to use libopenfam. | ||
| ``LIB_OPENFAM_LIBRARIES`` | ||
| Libraries needed to link to libopenfam. | ||
|
|
||
| Cache variables | ||
| ^^^^^^^^^^^^^^^ | ||
|
|
||
| The following cache variables may also be set to help find libopenfam library: | ||
|
|
||
| ``LIB_OPENFAM_INCLUDE_DIR`` | ||
| where to find the libopenfam headers. | ||
| ``LIB_OPENFAM_LIBRARY`` | ||
| where to find the libopenfam library. | ||
|
|
||
| Hints | ||
| ^^^^^ | ||
|
|
||
| The environment variables ``OPENFAM_DIR`` and ``OPENFAM_PATH`` | ||
| may also be set to help find libopenfam library. | ||
|
|
||
| #]=======================================================================] | ||
|
|
||
| find_path(LIB_OPENFAM_INCLUDE_DIR fam/fam.h | ||
| HINTS | ||
| ${OPENFAM_DIR} | ||
| ${OPENFAM_PATH} | ||
| ENV OPENFAM_DIR | ||
| ENV OPENFAM_PATH | ||
| PATH_SUFFIXES include ../include | ||
| ) | ||
|
|
||
| find_library(LIB_OPENFAM_LIBRARY | ||
| NAMES openfam | ||
| HINTS | ||
| ${OPENFAM_DIR} | ||
| ${OPENFAM_PATH} | ||
| ENV OPENFAM_DIR | ||
| ENV OPENFAM_PATH | ||
| PATH_SUFFIXES lib lib64 build/lib build/lib64 | ||
| ) | ||
|
|
||
| include(FindPackageHandleStandardArgs) | ||
|
|
||
| find_package_handle_standard_args(LibOPENFAM REQUIRED_VARS | ||
| LIB_OPENFAM_LIBRARY | ||
| LIB_OPENFAM_INCLUDE_DIR) | ||
|
|
||
| if (LibOPENFAM_FOUND) | ||
| set(LIB_OPENFAM_LIBRARIES ${LIB_OPENFAM_LIBRARY}) | ||
| set(LIB_OPENFAM_INCLUDE_DIRS ${LIB_OPENFAM_INCLUDE_DIR}) | ||
| if(NOT TARGET LibOPENFAM) | ||
| add_library(LibOPENFAM UNKNOWN IMPORTED) | ||
| set_target_properties(LibOPENFAM PROPERTIES | ||
| IMPORTED_LOCATION "${LIB_OPENFAM_LIBRARY}" | ||
| INTERFACE_INCLUDE_DIRECTORIES "${LIB_OPENFAM_INCLUDE_DIR}" | ||
| INTERFACE_LINK_LIBRARIES "${LIB_OPENFAM_LIBRARY}") | ||
| endif() | ||
| endif() | ||
|
|
||
| mark_as_advanced(LIB_OPENFAM_INCLUDE_DIR LIB_OPENFAM_LIBRARY) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,108 @@ | ||
| # Copyright 2024- European Centre for Medium-Range Weather Forecasts (ECMWF) | ||
| # | ||
| # Licensed under the Apache License, Version 2.0 (the "License"); | ||
| # you may not use this file except in compliance with the License. | ||
| # You may obtain a copy of the License at | ||
| # | ||
| # https://www.apache.org/licenses/LICENSE-2.0 | ||
| # | ||
| # Unless required by applicable law or agreed to in writing, software | ||
| # distributed under the License is distributed on an "AS IS" BASIS, | ||
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
| # See the License for the specific language governing permissions and | ||
| # limitations under the License. | ||
| # | ||
| # In applying this licence, ECMWF does not waive the privileges and immunities | ||
| # granted to it by virtue of its status as an intergovernmental organisation nor | ||
| # does it submit to any jurisdiction. | ||
| # | ||
| # Requires: | ||
| # FindPackageHandleStandardArgs (CMake standard module) | ||
| # | ||
|
|
||
| #[=======================================================================[.rst: | ||
| FindLibUUID | ||
| -------- | ||
|
|
||
| This module finds the libuuid (from util-linux) library. | ||
|
|
||
| Imported Targets | ||
| ^^^^^^^^^^^^^^^^ | ||
|
|
||
| This module provides the following imported targets, if found: | ||
|
|
||
| ``LibUUID`` | ||
| The libuuid library | ||
|
|
||
| Result variables | ||
| ^^^^^^^^^^^^^^^^ | ||
|
|
||
| This module will set the following variables in your project: | ||
|
|
||
| ``LIB_UUID_FOUND`` | ||
| True if the libuuid library is found. | ||
| ``LIB_UUID_INCLUDE_DIRS`` | ||
| Include directories needed to use libuuid. | ||
| ``LIB_UUID_LIBRARIES`` | ||
| Libraries needed to link to libuuid. | ||
|
|
||
| Cache variables | ||
| ^^^^^^^^^^^^^^^ | ||
|
|
||
| The following cache variables may also be set to help find libuuid library: | ||
|
|
||
| ``LIB_UUID_INCLUDE_DIR`` | ||
| where to find the libuuid headers. | ||
| ``LIB_UUID_LIBRARY`` | ||
| where to find the libuuid library. | ||
|
|
||
| Hints | ||
| ^^^^^ | ||
|
|
||
| The environment variables ``LIB_UUID_ROOT``, ``LIB_UUID_DIR``, and ``LIB_UUID_PATH`` | ||
| may also be set to help find libuuid library. | ||
|
|
||
| #]=======================================================================] | ||
|
|
||
| find_path(LIB_UUID_INCLUDE_DIR uuid.h | ||
| HINTS | ||
| ${LIB_UUID_ROOT} | ||
| ${LIB_UUID_DIR} | ||
| ${LIB_UUID_PATH} | ||
| ENV LIB_UUID_ROOT | ||
| ENV LIB_UUID_DIR | ||
| ENV LIB_UUID_PATH | ||
| PATH_SUFFIXES uuid | ||
| ) | ||
|
|
||
| find_library(LIB_UUID_LIBRARY | ||
| NAMES uuid | ||
| HINTS | ||
| ${LIB_UUID_ROOT} | ||
| ${LIB_UUID_DIR} | ||
| ${LIB_UUID_PATH} | ||
| ENV LIB_UUID_ROOT | ||
| ENV LIB_UUID_DIR | ||
| ENV LIB_UUID_PATH | ||
| PATH_SUFFIXES lib lib64 | ||
| ) | ||
|
|
||
| include(FindPackageHandleStandardArgs) | ||
|
|
||
| find_package_handle_standard_args(LibUUID REQUIRED_VARS | ||
| LIB_UUID_LIBRARY | ||
| LIB_UUID_INCLUDE_DIR) | ||
|
|
||
| if (LibUUID_FOUND) | ||
| set(LIB_UUID_LIBRARIES ${LIB_UUID_LIBRARY}) | ||
| set(LIB_UUID_INCLUDE_DIRS ${LIB_UUID_INCLUDE_DIR}) | ||
| if(NOT TARGET LibUUID) | ||
| add_library(LibUUID UNKNOWN IMPORTED) | ||
| set_target_properties(LibUUID PROPERTIES | ||
| IMPORTED_LOCATION "${LIB_UUID_LIBRARY}" | ||
| INTERFACE_INCLUDE_DIRECTORIES "${LIB_UUID_INCLUDE_DIR}" | ||
| INTERFACE_LINK_LIBRARIES "${LIB_UUID_LIBRARY}") | ||
| endif() | ||
| endif() | ||
|
|
||
| mark_as_advanced(LIB_UUID_INCLUDE_DIR LIB_UUID_LIBRARY) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.