Warning, /education/labplot/cmake/FindCantor.cmake is written in an unsupported language. File is not indexed.
0001 #============================================================================= 0002 # SPDX-FileCopyrightText: 2019 Harald Sitter <sitter@kde.org> 0003 # 0004 # SPDX-License-Identifier: BSD-3-Clause 0005 #============================================================================= 0006 0007 include(FeatureSummary) 0008 SET_PACKAGE_PROPERTIES(Cantor PROPERTIES 0009 DESCRIPTION "Provide a nice Interface for doing Mathematics and Scientific Computing" 0010 URL "https://edu.kde.org/cantor/" 0011 ) 0012 # Try to find via config. If that isn't available fall back to manual lookup. 0013 # Config is vastly preferable because it will also make sure link dependencies 0014 # are found and actually in the target link interface. 0015 find_package(Cantor ${Cantor_FIND_VERSION} ${Cantor_FIND_REQUIRED} CONFIG) 0016 if(Cantor_FOUND) 0017 return() 0018 endif() 0019 0020 find_library(Cantor_LIBRARIES cantorlibs) 0021 find_path(Cantor_INCLUDE_DIR cantor/worksheetaccess.h) 0022 0023 if(EXISTS "${Cantor_INCLUDE_DIR}/cantor/cantorlibs_version.h") 0024 file(READ "${Cantor_INCLUDE_DIR}/cantor/cantorlibs_version.h" Cantorlibs_version_H_CONTENT) 0025 0026 string(REGEX MATCH "#define CANTOR_VERSION_MAJOR[ ]+[0-9]+" Cantor_VERSION_MAJOR_MATCH ${Cantorlibs_version_H_CONTENT}) 0027 string(REGEX MATCH "#define CANTOR_VERSION_MINOR[ ]+[0-9]+" Cantor_VERSION_MINOR_MATCH ${Cantorlibs_version_H_CONTENT}) 0028 string(REGEX MATCH "#define CANTOR_VERSION_PATCH[ ]+[0-9]+" Cantor_VERSION_PATCH_MATCH ${Cantorlibs_version_H_CONTENT}) 0029 0030 string(REGEX REPLACE ".*_MAJOR[ ]+(.*)" "\\1" Cantor_VERSION_MAJOR ${Cantor_VERSION_MAJOR_MATCH}) 0031 string(REGEX REPLACE ".*_MINOR[ ]+(.*)" "\\1" Cantor_VERSION_MINOR ${Cantor_VERSION_MINOR_MATCH}) 0032 string(REGEX REPLACE ".*_PATCH[ ]+(.*)" "\\1" Cantor_VERSION_PATCH ${Cantor_VERSION_PATCH_MATCH}) 0033 0034 set(Cantor_VERSION "${Cantor_VERSION_MAJOR}.${Cantor_VERSION_MINOR}.${Cantor_VERSION_PATCH}") 0035 else() 0036 set(Cantor_VERSION "0.0.0") 0037 endif() 0038 0039 include(FindPackageHandleStandardArgs) 0040 find_package_handle_standard_args(Cantor 0041 FOUND_VAR 0042 Cantor_FOUND 0043 REQUIRED_VARS 0044 Cantor_LIBRARIES 0045 Cantor_INCLUDE_DIR 0046 VERSION_VAR 0047 Cantor_VERSION 0048 ) 0049 0050 if(Cantor_FOUND AND NOT TARGET Cantor::cantorlibs) 0051 add_library(Cantor::cantorlibs UNKNOWN IMPORTED) 0052 set_target_properties(Cantor::cantorlibs PROPERTIES 0053 IMPORTED_LOCATION "${Cantor_LIBRARIES}" 0054 INTERFACE_INCLUDE_DIRECTORIES "${Cantor_INCLUDE_DIR}" 0055 ) 0056 endif() 0057 0058 mark_as_advanced(Cantor_LIBRARIES Cantor_INCLUDE_DIR Cantor_VERSION) 0059