]> git.proxmox.com Git - ceph.git/blob - ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/suitesparse/FindCXSparse.cmake
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / tools / vcpkg / ports / suitesparse / FindCXSparse.cmake
1 # Distributed under the OSI-approved BSD 3-Clause License.
2 #
3 #.rst:
4 # FindCXSparse
5 # --------
6 #
7 # Find the CXSparse library
8 #
9 # Result Variables
10 # ^^^^^^^^^^^^^^^^
11 #
12 # The following variables will be defined:
13 #
14 # ``CXSparse_FOUND``
15 # True if CXSparse found on the local system
16 #
17 # ``CXSPARSE_FOUND``
18 # True if CXSparse found on the local system
19 #
20 # ``CXSparse_INCLUDE_DIRS``
21 # Location of CXSparse header files
22 #
23 # ``CXSPARSE_INCLUDE_DIRS``
24 # Location of CXSparse header files
25 #
26 # ``CXSparse_LIBRARIES``
27 # List of the CXSparse libraries found
28 #
29 # ``CXSPARSE_LIBRARIES``
30 # List of the CXSparse libraries found
31 #
32 #
33
34 include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
35 include(${CMAKE_ROOT}/Modules/SelectLibraryConfigurations.cmake)
36
37 find_path(CXSPARSE_INCLUDE_DIR NAMES cs.h PATH_SUFFIXES suitesparse)
38
39 find_library(CXSPARSE_LIBRARY_RELEASE NAMES cxsparse libcxsparse)
40 find_library(CXSPARSE_LIBRARY_DEBUG NAMES cxsparsed libcxsparsed)
41 select_library_configurations(CXSPARSE)
42
43 if(CXSPARSE_INCLUDE_DIR)
44 set(CXSPARSE_VERSION_FILE ${CXSPARSE_INCLUDE_DIR}/cs.h)
45 file(READ ${CXSPARSE_INCLUDE_DIR}/cs.h CXSPARSE_VERSION_FILE_CONTENTS)
46
47 string(REGEX MATCH "#define CS_VER [0-9]+"
48 CXSPARSE_MAIN_VERSION "${CXSPARSE_VERSION_FILE_CONTENTS}")
49 string(REGEX REPLACE "#define CS_VER ([0-9]+)" "\\1"
50 CXSPARSE_MAIN_VERSION "${CXSPARSE_MAIN_VERSION}")
51
52 string(REGEX MATCH "#define CS_SUBVER [0-9]+"
53 CXSPARSE_SUB_VERSION "${CXSPARSE_VERSION_FILE_CONTENTS}")
54 string(REGEX REPLACE "#define CS_SUBVER ([0-9]+)" "\\1"
55 CXSPARSE_SUB_VERSION "${CXSPARSE_SUB_VERSION}")
56
57 string(REGEX MATCH "#define CS_SUBSUB [0-9]+"
58 CXSPARSE_SUBSUB_VERSION "${CXSPARSE_VERSION_FILE_CONTENTS}")
59 string(REGEX REPLACE "#define CS_SUBSUB ([0-9]+)" "\\1"
60 CXSPARSE_SUBSUB_VERSION "${CXSPARSE_SUBSUB_VERSION}")
61
62 set(CXSPARSE_VERSION "${CXSPARSE_MAIN_VERSION}.${CXSPARSE_SUB_VERSION}.${CXSPARSE_SUBSUB_VERSION}")
63 endif()
64
65 include(FindPackageHandleStandardArgs)
66 find_package_handle_standard_args(CXSparse
67 REQUIRED_VARS CXSPARSE_INCLUDE_DIR CXSPARSE_LIBRARIES
68 VERSION_VAR CXSPARSE_VERSION)
69
70 set(CXSPARSE_FOUND ${CXSparse_FOUND})
71 set(CXSPARSE_INCLUDE_DIRS ${CXSPARSE_INCLUDE_DIR})
72 set(CXSparse_INCLUDE_DIRS ${CXSPARSE_INCLUDE_DIR})
73 set(CXSparse_LIBRARIES ${CXSPARSE_LIBRARIES})