Начало проекта
This commit is contained in:
45
MyxCMake/find/FindCgalWidget.cmake
Normal file
45
MyxCMake/find/FindCgalWidget.cmake
Normal file
@@ -0,0 +1,45 @@
|
||||
if(NOT CGAL_WIDGET_IS_EXTERNAL_PROJECT)
|
||||
set(CGAL_WIDGET_PREFIX "" CACHE PATH "The path to the prefix of an cgal-widget installation")
|
||||
set(CGAL_WIDGET_INCLUDE_DIR "" CACHE PATH "The path to the headers of an cgal-widget installation")
|
||||
set(CGAL_WIDGET_LIBRARY_DIR "" CACHE PATH "The path to the library of an cgal-widget installation")
|
||||
|
||||
set(_search_paths "")
|
||||
if(CGAL_WIDGET_INCLUDE_DIR AND EXISTS ${CGAL_WIDGET_INCLUDE_DIR})
|
||||
list(APPEND _search_paths ${CGAL_WIDGET_INCLUDE_DIR})
|
||||
endif()
|
||||
if(CGAL_WIDGET_PREFIX AND EXISTS ${CGAL_WIDGET_PREFIX})
|
||||
list(APPEND _search_paths "${CGAL_WIDGET_PREFIX}/include")
|
||||
endif()
|
||||
find_path(
|
||||
CGAL_WIDGET_INCLUDE_DIRS
|
||||
NAMES cgal-widget/cgal-widget.hpp
|
||||
PATHS ${_search_paths})
|
||||
|
||||
set(_search_paths "")
|
||||
if(CGAL_WIDGET_LIBRARY_DIR AND EXISTS ${CGAL_WIDGET_LIBRARY_DIR})
|
||||
list(APPEND _search_paths ${CGAL_WIDGET_LIBRARY_DIR})
|
||||
endif()
|
||||
if(CGAL_WIDGET_PREFIX AND EXISTS ${CGAL_WIDGET_PREFIX})
|
||||
list(APPEND _search_paths "${CGAL_WIDGET_PREFIX}/lib")
|
||||
endif()
|
||||
find_library(
|
||||
CGAL_WIDGET_LIBRARIES
|
||||
NAMES preprocmath
|
||||
PATHS ${_search_paths})
|
||||
unset(_search_paths)
|
||||
|
||||
if(CGAL_WIDGET_INCLUDE_DIRS AND CGAL_WIDGET_LIBRARIES)
|
||||
set(CGAL_WIDGET_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(CGAL_WIDGET_FOUND)
|
||||
if(NOT CGAL_WIDGET_FIND_QUIETLY)
|
||||
message(STATUS "Found cgal-widget")
|
||||
endif()
|
||||
set(HAVE_CGAL_WIDGET 1)
|
||||
elseif(CGAL_WIDGET_FOUND)
|
||||
if(CGAL_WIDGET_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find cgal-widget")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
39
MyxCMake/find/FindCgalWidgetThirdparty.cmake
Normal file
39
MyxCMake/find/FindCgalWidgetThirdparty.cmake
Normal file
@@ -0,0 +1,39 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
set(CGAL_WIDGET_PREFIX
|
||||
${CMAKE_BINARY_DIR}
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(CGAL_WIDGET_INCLUDE_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(CGAL_WIDGET_INCLUDE_DIRS
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(CGAL_WIDGET_LIBRARY_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(CGAL_WIDGET_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libcgal-widget.a
|
||||
CACHE FILEPATH "" FORCE)
|
||||
|
||||
# cmake-format: off
|
||||
list(APPEND _ext_project_args
|
||||
cgal-widget
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/cgal-widget
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||
<SOURCE_DIR>)
|
||||
if(CgalWidgetThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} cgal-widget-install-headers)
|
||||
else()
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_BYPRODUCTS ${CGAL_WIDGET_LIBRARIES})
|
||||
endif()
|
||||
ExternalProject_Add(${_ext_project_args})
|
||||
unset(_ext_project_args)
|
||||
|
||||
set(CGAL_WIDGET_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
|
||||
# cmake-format: on
|
32
MyxCMake/find/FindFcProtocol.cmake
Normal file
32
MyxCMake/find/FindFcProtocol.cmake
Normal file
@@ -0,0 +1,32 @@
|
||||
if(NOT FC_PROTOCOL_IS_EXTERNAL_PROJECT)
|
||||
set(FC_PROTOCOL_PREFIX "" CACHE PATH "The path to the prefix of an FC protocols installation")
|
||||
set(FC_PROTOCOL_INCLUDE_DIR "" CACHE PATH "The path to the headers of an FC protocols installation")
|
||||
|
||||
set(_search_paths "")
|
||||
if(EXISTS FC_PROTOCOL_INCLUDE_DIR)
|
||||
list(APPEND _search_paths ${FC_PROTOCOL_INCLUDE_DIR})
|
||||
endif()
|
||||
if(EXISTS FC_PROTOCOL_PREFIX)
|
||||
list(APPEND _search_paths "${FC_PROTOCOL_PREFIX}/include")
|
||||
endif()
|
||||
find_path(
|
||||
FC_PROTOCOL_INCLUDE_DIRS
|
||||
NAMES fc-protocol/hw/result.hpp
|
||||
PATHS ${_search_paths})
|
||||
unset(_search_paths)
|
||||
|
||||
if(FC_PROTOCOL_INCLUDE_DIRS)
|
||||
set(FC_PROTOCOL_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(FC_PROTOCOL_FOUND)
|
||||
if(NOT FC_PROTOCOL_FIND_QUIETLY)
|
||||
message(STATUS "Found FC protocol")
|
||||
endif()
|
||||
set(HAVE_FC_PROTOCOL 1)
|
||||
elseif(FC_PROTOCOL_FOUND)
|
||||
if(FC_PROTOCOL_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find FC protocol")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
30
MyxCMake/find/FindFcProtocolThirdparty.cmake
Normal file
30
MyxCMake/find/FindFcProtocolThirdparty.cmake
Normal file
@@ -0,0 +1,30 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
set(FC_PROTOCOL_PREFIX
|
||||
${CMAKE_BINARY_DIR}
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(FC_PROTOCOL_INCLUDE_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(FC_PROTOCOL_INCLUDE_DIRS
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
|
||||
# cmake-format: off
|
||||
list(APPEND _ext_project_args
|
||||
fc-protocol
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/fc-protocol
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||
<SOURCE_DIR>)
|
||||
if(FcProtocolThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} fc-protocol-install-headers)
|
||||
endif()
|
||||
ExternalProject_Add(${_ext_project_args})
|
||||
unset(_ext_project_args)
|
||||
|
||||
set(FC_PROTOCOL_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
|
||||
# cmake-format: on
|
45
MyxCMake/find/FindFsp.cmake
Normal file
45
MyxCMake/find/FindFsp.cmake
Normal file
@@ -0,0 +1,45 @@
|
||||
if(NOT FSP_IS_EXTERNAL_PROJECT)
|
||||
set(FSP_PREFIX "" CACHE PATH "The path to the prefix of an libfsp installation")
|
||||
set(FSP_INCLUDE_DIR "" CACHE PATH "The path to the headers of an libfsp installation")
|
||||
set(FSP_LIBRARY_DIR "" CACHE PATH "The path to the library of an libfsp installation")
|
||||
|
||||
set(_search_paths "")
|
||||
if(FSP_INCLUDE_DIR AND EXISTS ${FSP_INCLUDE_DIR})
|
||||
list(APPEND _search_paths ${FSP_INCLUDE_DIR})
|
||||
endif()
|
||||
if(FSP_PREFIX AND EXISTS ${FSP_PREFIX})
|
||||
list(APPEND _search_paths "${FSP_PREFIX}/include")
|
||||
endif()
|
||||
find_path(
|
||||
FSP_INCLUDE_DIRS
|
||||
NAMES fsp/mods.hpp
|
||||
PATHS ${_search_paths})
|
||||
|
||||
set(_search_paths "")
|
||||
if(FSP_LIBRARY_DIR AND EXISTS ${FSP_LIBRARY_DIR})
|
||||
list(APPEND _search_paths ${FSP_LIBRARY_DIR})
|
||||
endif()
|
||||
if(FSP_PREFIX AND EXISTS ${FSP_PREFIX})
|
||||
list(APPEND _search_paths "${FSP_PREFIX}/lib")
|
||||
endif()
|
||||
find_library(
|
||||
FSP_LIBRARIES
|
||||
NAMES fsp
|
||||
PATHS ${_search_paths})
|
||||
unset(_search_paths)
|
||||
|
||||
if(FSP_INCLUDE_DIRS AND FSP_LIBRARIES)
|
||||
set(FSP_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(FSP_FOUND)
|
||||
if(NOT FSP_FIND_QUIETLY)
|
||||
message(STATUS "Found libfsp")
|
||||
endif()
|
||||
set(HAVE_FSP 1)
|
||||
elseif(FSP_FOUND)
|
||||
if(FSP_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find libfsp")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
43
MyxCMake/find/FindFspThirdparty.cmake
Normal file
43
MyxCMake/find/FindFspThirdparty.cmake
Normal file
@@ -0,0 +1,43 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
set(FSP_PREFIX
|
||||
${CMAKE_BINARY_DIR}
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(FSP_INCLUDE_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(FSP_INCLUDE_DIRS
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(FSP_LIBRARY_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(FSP_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libfsp.a
|
||||
CACHE FILEPATH "" FORCE)
|
||||
|
||||
# cmake-format: off
|
||||
list(APPEND _ext_project_args
|
||||
libfsp
|
||||
DEPENDS libpreprocmath libionobase myxlib
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libfsp
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||
-DPREPROCMATH_PREFIX=${CMAKE_BINARY_DIR}
|
||||
-DIONOBASE_PREFIX=${CMAKE_BINARY_DIR}
|
||||
-DMYXLIB_PREFIX=${CMAKE_BINARY_DIR}
|
||||
<SOURCE_DIR>)
|
||||
if(FspThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} fsp-install-headers)
|
||||
else()
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_BYPRODUCTS ${FSP_LIBRARIES})
|
||||
endif()
|
||||
ExternalProject_Add(${_ext_project_args})
|
||||
unset(_ext_project_args)
|
||||
|
||||
set(FSP_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
|
||||
# cmake-format: on
|
183
MyxCMake/find/FindGEOS.cmake
Normal file
183
MyxCMake/find/FindGEOS.cmake
Normal file
@@ -0,0 +1,183 @@
|
||||
# Find GEOS
|
||||
# ~~~~~~~~~
|
||||
# Copyright (c) 2008, Mateusz Loskot <mateusz@loskot.net>
|
||||
# (based on FindGDAL.cmake by Magnus Homann)
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
#
|
||||
# CMake module to search for GEOS library
|
||||
#
|
||||
# If it's found it sets GEOS_FOUND to TRUE
|
||||
# and following variables are set:
|
||||
# GEOS_INCLUDE_DIR
|
||||
# GEOS_LIBRARY
|
||||
#
|
||||
|
||||
IF(EXISTS ${CMAKE_SOURCE_DIR}/cmake/MacPlistMacros.cmake)
|
||||
INCLUDE (${CMAKE_SOURCE_DIR}/cmake/MacPlistMacros.cmake)
|
||||
ENDIF()
|
||||
|
||||
IF(WIN32)
|
||||
|
||||
IF (MINGW)
|
||||
FIND_PATH(GEOS_INCLUDE_DIR geos_c.h /usr/local/include /usr/include c:/msys/local/include)
|
||||
FIND_LIBRARY(GEOS_LIBRARY NAMES geos_c PATHS /usr/local/lib /usr/lib c:/msys/local/lib)
|
||||
ENDIF (MINGW)
|
||||
|
||||
IF (MSVC)
|
||||
FIND_PATH(GEOS_INCLUDE_DIR geos_c.h $ENV{LIB_DIR}/include $ENV{INCLUDE})
|
||||
FIND_LIBRARY(GEOS_LIBRARY NAMES geos geos_c_i geos_c PATHS
|
||||
"$ENV{LIB_DIR}/lib"
|
||||
$ENV{LIB}
|
||||
)
|
||||
ENDIF (MSVC)
|
||||
|
||||
ELSE(WIN32)
|
||||
|
||||
IF(UNIX)
|
||||
# try to use framework on mac
|
||||
# want clean framework path, not unix compatibility path
|
||||
IF (APPLE)
|
||||
IF (CMAKE_FIND_FRAMEWORK MATCHES "FIRST"
|
||||
OR CMAKE_FRAMEWORK_PATH MATCHES "ONLY"
|
||||
OR NOT CMAKE_FIND_FRAMEWORK)
|
||||
SET (CMAKE_FIND_FRAMEWORK_save ${CMAKE_FIND_FRAMEWORK} CACHE STRING "" FORCE)
|
||||
SET (CMAKE_FIND_FRAMEWORK "ONLY" CACHE STRING "" FORCE)
|
||||
FIND_LIBRARY(GEOS_LIBRARY GEOS)
|
||||
IF (GEOS_LIBRARY)
|
||||
# they're all the same in a framework
|
||||
SET (GEOS_INCLUDE_DIR ${GEOS_LIBRARY}/Headers CACHE PATH "Path to a file.")
|
||||
# set GEOS_CONFIG to make later test happy, not used here, may not exist
|
||||
SET (GEOS_CONFIG ${GEOS_LIBRARY}/unix/bin/geos-config CACHE FILEPATH "Path to a program.")
|
||||
# version in info.plist
|
||||
GET_VERSION_PLIST (${GEOS_LIBRARY}/Resources/Info.plist GEOS_VERSION)
|
||||
IF (NOT GEOS_VERSION)
|
||||
MESSAGE (FATAL_ERROR "Could not determine GEOS version from framework.")
|
||||
ENDIF (NOT GEOS_VERSION)
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1" GEOS_VERSION_MAJOR "${GEOS_VERSION}")
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\2" GEOS_VERSION_MINOR "${GEOS_VERSION}")
|
||||
IF (GEOS_VERSION_MAJOR LESS 3)
|
||||
MESSAGE (FATAL_ERROR "GEOS version is too old (${GEOS_VERSION}). Use 3.0.0 or higher.")
|
||||
ENDIF (GEOS_VERSION_MAJOR LESS 3)
|
||||
ENDIF (GEOS_LIBRARY)
|
||||
SET (CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_save} CACHE STRING "" FORCE)
|
||||
ENDIF ()
|
||||
ENDIF (APPLE)
|
||||
|
||||
IF(CYGWIN)
|
||||
FIND_LIBRARY(GEOS_LIBRARY NAMES geos_c PATHS /usr/lib /usr/local/lib)
|
||||
ENDIF(CYGWIN)
|
||||
|
||||
IF (NOT GEOS_INCLUDE_DIR OR NOT GEOS_LIBRARY OR NOT GEOS_CONFIG)
|
||||
# didn't find OS X framework, and was not set by user
|
||||
SET(GEOS_CONFIG_PREFER_PATH "$ENV{GEOS_HOME}/bin" CACHE STRING "preferred path to GEOS (geos-config)")
|
||||
FIND_PROGRAM(GEOS_CONFIG geos-config
|
||||
${GEOS_CONFIG_PREFER_PATH}
|
||||
/usr/local/bin/
|
||||
/usr/bin/
|
||||
)
|
||||
#MESSAGE("DBG GEOS_CONFIG ${GEOS_CONFIG}")
|
||||
|
||||
IF (GEOS_CONFIG)
|
||||
|
||||
EXEC_PROGRAM(${GEOS_CONFIG}
|
||||
ARGS --version
|
||||
OUTPUT_VARIABLE GEOS_VERSION)
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1" GEOS_VERSION_MAJOR "${GEOS_VERSION}")
|
||||
STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\2" GEOS_VERSION_MINOR "${GEOS_VERSION}")
|
||||
|
||||
IF (GEOS_VERSION_MAJOR LESS 3 OR (GEOS_VERSION_MAJOR EQUAL 3 AND GEOS_VERSION_MINOR LESS 3) )
|
||||
MESSAGE (FATAL_ERROR "GEOS version is too old (${GEOS_VERSION}). Use 3.3.0 or higher.")
|
||||
ENDIF (GEOS_VERSION_MAJOR LESS 3 OR (GEOS_VERSION_MAJOR EQUAL 3 AND GEOS_VERSION_MINOR LESS 3) )
|
||||
|
||||
# set INCLUDE_DIR to prefix+include
|
||||
EXEC_PROGRAM(${GEOS_CONFIG}
|
||||
ARGS --prefix
|
||||
OUTPUT_VARIABLE GEOS_PREFIX)
|
||||
|
||||
FIND_PATH(GEOS_INCLUDE_DIR
|
||||
geos_c.h
|
||||
${GEOS_PREFIX}/include
|
||||
/usr/local/include
|
||||
/usr/include
|
||||
)
|
||||
|
||||
## extract link dirs for rpath
|
||||
EXEC_PROGRAM(${GEOS_CONFIG}
|
||||
ARGS --libs
|
||||
OUTPUT_VARIABLE GEOS_CONFIG_LIBS )
|
||||
|
||||
## split off the link dirs (for rpath)
|
||||
## use regular expression to match wildcard equivalent "-L*<endchar>"
|
||||
## with <endchar> is a space or a semicolon
|
||||
STRING(REGEX MATCHALL "[-][L]([^ ;])+"
|
||||
GEOS_LINK_DIRECTORIES_WITH_PREFIX
|
||||
"${GEOS_CONFIG_LIBS}" )
|
||||
#MESSAGE("DBG GEOS_LINK_DIRECTORIES_WITH_PREFIX=${GEOS_LINK_DIRECTORIES_WITH_PREFIX}")
|
||||
|
||||
## remove prefix -L because we need the pure directory for LINK_DIRECTORIES
|
||||
|
||||
IF (GEOS_LINK_DIRECTORIES_WITH_PREFIX)
|
||||
STRING(REGEX REPLACE "[-][L]" "" GEOS_LINK_DIRECTORIES ${GEOS_LINK_DIRECTORIES_WITH_PREFIX} )
|
||||
ENDIF (GEOS_LINK_DIRECTORIES_WITH_PREFIX)
|
||||
|
||||
### XXX - mloskot: geos-config --libs does not return -lgeos_c, so set it manually
|
||||
## split off the name
|
||||
## use regular expression to match wildcard equivalent "-l*<endchar>"
|
||||
## with <endchar> is a space or a semicolon
|
||||
#STRING(REGEX MATCHALL "[-][l]([^ ;])+"
|
||||
# GEOS_LIB_NAME_WITH_PREFIX
|
||||
# "${GEOS_CONFIG_LIBS}" )
|
||||
#MESSAGE("DBG GEOS_CONFIG_LIBS=${GEOS_CONFIG_LIBS}")
|
||||
#MESSAGE("DBG GEOS_LIB_NAME_WITH_PREFIX=${GEOS_LIB_NAME_WITH_PREFIX}")
|
||||
SET(GEOS_LIB_NAME_WITH_PREFIX -lgeos_c CACHE STRING INTERNAL)
|
||||
|
||||
## remove prefix -l because we need the pure name
|
||||
|
||||
IF (GEOS_LIB_NAME_WITH_PREFIX)
|
||||
STRING(REGEX REPLACE "[-][l]" "" GEOS_LIB_NAME ${GEOS_LIB_NAME_WITH_PREFIX} )
|
||||
ENDIF (GEOS_LIB_NAME_WITH_PREFIX)
|
||||
#MESSAGE("DBG GEOS_LIB_NAME=${GEOS_LIB_NAME}")
|
||||
|
||||
IF (APPLE)
|
||||
IF (NOT GEOS_LIBRARY)
|
||||
# work around empty GEOS_LIBRARY left by framework check
|
||||
# while still preserving user setting if given
|
||||
# ***FIXME*** need to improve framework check so below not needed
|
||||
SET(GEOS_LIBRARY ${GEOS_LINK_DIRECTORIES}/lib${GEOS_LIB_NAME}.dylib CACHE STRING INTERNAL FORCE)
|
||||
ENDIF (NOT GEOS_LIBRARY)
|
||||
ELSE (APPLE)
|
||||
FIND_LIBRARY(GEOS_LIBRARY NAMES ${GEOS_LIB_NAME} PATHS ${GEOS_LIB_DIRECTORIES}/lib)
|
||||
ENDIF (APPLE)
|
||||
#MESSAGE("DBG GEOS_LIBRARY=${GEOS_LIBRARY}")
|
||||
|
||||
ELSE(GEOS_CONFIG)
|
||||
MESSAGE("FindGEOS.cmake: geos-config not found. Please set it manually. GEOS_CONFIG=${GEOS_CONFIG}")
|
||||
ENDIF(GEOS_CONFIG)
|
||||
ENDIF(NOT GEOS_INCLUDE_DIR OR NOT GEOS_LIBRARY OR NOT GEOS_CONFIG)
|
||||
ENDIF(UNIX)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF(GEOS_INCLUDE_DIR AND NOT GEOS_VERSION)
|
||||
FILE(READ ${GEOS_INCLUDE_DIR}/geos_c.h VERSIONFILE)
|
||||
STRING(REGEX MATCH "#define GEOS_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+(dev)?\"" GEOS_VERSION ${VERSIONFILE})
|
||||
STRING(REGEX MATCH "[0-9]+\\.[0-9]\\.[0-9]+" GEOS_VERSION ${GEOS_VERSION})
|
||||
ENDIF(GEOS_INCLUDE_DIR AND NOT GEOS_VERSION)
|
||||
|
||||
IF (GEOS_INCLUDE_DIR AND GEOS_LIBRARY)
|
||||
SET(GEOS_FOUND TRUE)
|
||||
ENDIF (GEOS_INCLUDE_DIR AND GEOS_LIBRARY)
|
||||
|
||||
IF (GEOS_FOUND)
|
||||
|
||||
IF (NOT GEOS_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found GEOS: ${GEOS_LIBRARY} (${GEOS_VERSION})")
|
||||
ENDIF (NOT GEOS_FIND_QUIETLY)
|
||||
|
||||
ELSE (GEOS_FOUND)
|
||||
|
||||
MESSAGE(GEOS_INCLUDE_DIR=${GEOS_INCLUDE_DIR})
|
||||
MESSAGE(GEOS_LIBRARY=${GEOS_LIBRARY})
|
||||
MESSAGE(FATAL_ERROR "Could not find GEOS")
|
||||
|
||||
ENDIF (GEOS_FOUND)
|
45
MyxCMake/find/FindImitator.cmake
Normal file
45
MyxCMake/find/FindImitator.cmake
Normal file
@@ -0,0 +1,45 @@
|
||||
if(NOT IMITATOR_IS_EXTERNAL_PROJECT)
|
||||
set(IMITATOR_PREFIX "" CACHE PATH "The path to the prefix of an libimitator installation")
|
||||
set(IMITATOR_INCLUDE_DIR "" CACHE PATH "The path to the headers of an libimitator installation")
|
||||
set(IMITATOR_LIBRARY_DIR "" CACHE PATH "The path to the library of an libimitator installation")
|
||||
|
||||
set(_search_paths "")
|
||||
if(IMITATOR_INCLUDE_DIR AND EXISTS ${IMITATOR_INCLUDE_DIR})
|
||||
list(APPEND _search_paths ${IMITATOR_INCLUDE_DIR})
|
||||
endif()
|
||||
if(IMITATOR_PREFIX AND EXISTS ${IMITATOR_PREFIX})
|
||||
list(APPEND _search_paths "${IMITATOR_PREFIX}/include")
|
||||
endif()
|
||||
find_path(
|
||||
IMITATOR_INCLUDE_DIRS
|
||||
NAMES imitator/imitator.hpp
|
||||
PATHS ${_search_paths})
|
||||
|
||||
set(_search_paths "")
|
||||
if(IMITATOR_LIBRARY_DIR AND EXISTS ${IMITATOR_LIBRARY_DIR})
|
||||
list(APPEND _search_paths ${IMITATOR_LIBRARY_DIR})
|
||||
endif()
|
||||
if(IMITATOR_PREFIX AND EXISTS ${IMITATOR_PREFIX})
|
||||
list(APPEND _search_paths "${IMITATOR_PREFIX}/lib")
|
||||
endif()
|
||||
find_library(
|
||||
IMITATOR_LIBRARIES
|
||||
NAMES imitator
|
||||
PATHS ${_search_paths})
|
||||
unset(_search_paths)
|
||||
|
||||
if(IMITATOR_INCLUDE_DIRS AND IMITATOR_LIBRARIES)
|
||||
set(IMITATOR_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(IMITATOR_FOUND)
|
||||
if(NOT IMITATOR_FIND_QUIETLY)
|
||||
message(STATUS "Found libimitator")
|
||||
endif()
|
||||
set(HAVE_IMITATOR 1)
|
||||
elseif(IMITATOR_FOUND)
|
||||
if(IMITATOR_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find libimitator")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
41
MyxCMake/find/FindImitatorThirdparty.cmake
Normal file
41
MyxCMake/find/FindImitatorThirdparty.cmake
Normal file
@@ -0,0 +1,41 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
set(IMITATOR_PREFIX
|
||||
${CMAKE_BINARY_DIR}
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(IMITATOR_INCLUDE_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(IMITATOR_INCLUDE_DIRS
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(IMITATOR_LIBRARY_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(IMITATOR_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libimitator.a
|
||||
CACHE FILEPATH "" FORCE)
|
||||
|
||||
# cmake-format: off
|
||||
list(APPEND _ext_project_args
|
||||
libimitator
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libimitator
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||
-DPREPROCMATH_PREFIX=${CMAKE_BINARY_DIR}
|
||||
-DMYXLIB_PREFIX=${CMAKE_BINARY_DIR}
|
||||
<SOURCE_DIR>)
|
||||
if(ImitatorThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} imitator-install-headers)
|
||||
else()
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_BYPRODUCTS ${IMITATOR_LIBRARIES})
|
||||
endif()
|
||||
ExternalProject_Add(${_ext_project_args})
|
||||
unset(_ext_project_args)
|
||||
|
||||
set(IMITATOR_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
|
||||
# cmake-format: on
|
46
MyxCMake/find/FindIonobase.cmake
Normal file
46
MyxCMake/find/FindIonobase.cmake
Normal file
@@ -0,0 +1,46 @@
|
||||
if(NOT IONOBASE_IS_EXTERNAL_PROJECT)
|
||||
set(IONOBASE_PREFIX "" CACHE PATH "The path to the prefix of an libionobase installation")
|
||||
set(IONOBASE_INCLUDE_DIR "" CACHE PATH "The path to the headers of an libionobase installation")
|
||||
set(IONOBASE_LIBRARY_DIR "" CACHE PATH "The path to the library of an libionobase installation")
|
||||
|
||||
set(_search_paths "")
|
||||
if(IONOBASE_INCLUDE_DIR AND EXISTS ${IONOBASE_INCLUDE_DIR})
|
||||
list(APPEND _search_paths ${IONOBASE_INCLUDE_DIR})
|
||||
endif()
|
||||
if(IONOBASE_PREFIX AND EXISTS ${IONOBASE_PREFIX})
|
||||
list(APPEND _search_paths "${IONOBASE_PREFIX}/include")
|
||||
endif()
|
||||
find_path(
|
||||
IONOBASE_INCLUDE_DIRS
|
||||
NAMES interchfor.h
|
||||
PATH_SUFFIXES ionobase
|
||||
PATHS ${_search_paths})
|
||||
|
||||
set(_search_paths "")
|
||||
if(IONOBASE_LIBRARY_DIR AND EXISTS ${IONOBASE_LIBRARY_DIR})
|
||||
list(APPEND _search_paths ${IONOBASE_LIBRARY_DIR})
|
||||
endif()
|
||||
if(IONOBASE_PREFIX AND EXISTS ${IONOBASE_PREFIX})
|
||||
list(APPEND _search_paths "${IONOBASE_PREFIX}/lib")
|
||||
endif()
|
||||
find_library(
|
||||
IONOBASE_LIBRARIES
|
||||
NAMES ionobase
|
||||
PATHS ${_search_paths})
|
||||
unset(_search_paths)
|
||||
|
||||
if(IONOBASE_INCLUDE_DIRS AND IONOBASE_LIBRARIES)
|
||||
set(IONOBASE_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(IONOBASE_FOUND)
|
||||
if(NOT IONOBASE_FIND_QUIETLY)
|
||||
message(STATUS "Found libionobase")
|
||||
endif()
|
||||
set(HAVE_IONOBASE 1)
|
||||
elseif(IONOBASE_FOUND)
|
||||
if(IONOBASE_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find libionobase")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
39
MyxCMake/find/FindIonobaseThirdparty.cmake
Normal file
39
MyxCMake/find/FindIonobaseThirdparty.cmake
Normal file
@@ -0,0 +1,39 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
set(IONOBASE_PREFIX
|
||||
${CMAKE_BINARY_DIR}
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(IONOBASE_INCLUDE_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/ionobase
|
||||
CACHE PATH "" FORCE)
|
||||
set(IONOBASE_INCLUDE_DIRS
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}/ionobase
|
||||
CACHE PATH "" FORCE)
|
||||
set(IONOBASE_LIBRARY_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(IONOBASE_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libionobase.a
|
||||
CACHE FILEPATH "" FORCE)
|
||||
|
||||
# cmake-format: off
|
||||
list(APPEND _ext_project_args
|
||||
libionobase
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libionobase
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||
<SOURCE_DIR>)
|
||||
if(IonobaseThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} ionobase-install-headers)
|
||||
else()
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_BYPRODUCTS ${IONOBASE_LIBRARIES})
|
||||
endif()
|
||||
ExternalProject_Add(${_ext_project_args})
|
||||
unset(_ext_project_args)
|
||||
|
||||
set(IONOBASE_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
|
||||
# cmake-format: on
|
32
MyxCMake/find/FindMPFR.cmake
Normal file
32
MyxCMake/find/FindMPFR.cmake
Normal file
@@ -0,0 +1,32 @@
|
||||
# Copyright (c) 2008-2010 Kent State University
|
||||
# Copyright (c) 2011-2012 Texas A&M University
|
||||
#
|
||||
# This file is distributed under the MIT License. See the accompanying file
|
||||
# LICENSE.txt or http://www.opensource.org/licenses/mit-license.php for terms
|
||||
# and conditions.
|
||||
|
||||
# NOTE: MPFR prefix is understood to be the path to the root of the MPFR
|
||||
# installation library.
|
||||
|
||||
set(MPFR_PREFIX "" CACHE PATH "The path to the prefix of an MPFR installation")
|
||||
|
||||
find_path(MPFR_INCLUDE_DIRS mpfr.h
|
||||
PATHS ${MPFR_PREFIX}/include)
|
||||
|
||||
find_library(MPFR_LIBRARIES NAMES mpfr
|
||||
PATHS ${MPFR_PREFIX}/lib)
|
||||
|
||||
if(MPFR_INCLUDE_DIRS AND MPFR_LIBRARIES)
|
||||
set(MPFR_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(MPFR_FOUND)
|
||||
if(NOT MPFR_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found MPFR: ${MPFR_LIBRARIES}")
|
||||
endif()
|
||||
set(HAVE_MPFR 1)
|
||||
elseif(MPFR_FOUND)
|
||||
if(MPFR_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find MPFR")
|
||||
endif()
|
||||
endif()
|
15
MyxCMake/find/FindMPFRCppThirdparty.cmake
Normal file
15
MyxCMake/find/FindMPFRCppThirdparty.cmake
Normal file
@@ -0,0 +1,15 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
if(MPFR_FOUND)
|
||||
ExternalProject_Add(
|
||||
mpfrcpp
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/mpreal
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}/include
|
||||
CONFIGURE_COMMAND true
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/mpreal.h <INSTALL_DIR>)
|
||||
endif()
|
||||
|
||||
set(MPFRCPP_PREFIX ${CMAKE_BINARY_DIR} CACHE FILEPATH "" FORCE)
|
||||
set(MPFRCPP_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR} CACHE PATH "" FORCE)
|
41
MyxCMake/find/FindMathGL.cmake
Normal file
41
MyxCMake/find/FindMathGL.cmake
Normal file
@@ -0,0 +1,41 @@
|
||||
set(MATHGP_PREFIX "" CACHE PATH "The path to the prefix of an MathGL installation")
|
||||
|
||||
find_path(MATHGL_INCLUDE_DIR NAMES mgl2/mgl.h
|
||||
PATHS
|
||||
${MPFR_PREFIX}/include
|
||||
/opt/local/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
)
|
||||
|
||||
find_library(MATHGL_LIBRARIES NAMES mgl mgl
|
||||
PATHS
|
||||
${MPFR_PREFIX}/lib
|
||||
/opt/local/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
)
|
||||
|
||||
find_library(MATHGL_QT5_LIBRARIES NAMES mgl-qt5
|
||||
PATHS
|
||||
${MPFR_PREFIX}/lib
|
||||
/opt/local/include
|
||||
/usr/include
|
||||
/usr/local/include
|
||||
)
|
||||
|
||||
if(MATHGL_INCLUDE_DIR AND MATHGL_LIBRARIES)
|
||||
get_filename_component(MATHGL_LIBRARY_DIR ${MATHGL_LIBRARIES} PATH)
|
||||
set(MATHGL_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(MATHGL_FOUND)
|
||||
if(NOT MATHGL_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found MathGL: ${MATHGL_LIBRARIES}")
|
||||
endif()
|
||||
set(HAVE_MATHGL 1)
|
||||
elseif(MATHGL_FOUND)
|
||||
if(MATHGL_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find MATHGL")
|
||||
endif()
|
||||
endif()
|
45
MyxCMake/find/FindMyxNotifications.cmake
Normal file
45
MyxCMake/find/FindMyxNotifications.cmake
Normal file
@@ -0,0 +1,45 @@
|
||||
if(NOT MYX_NOTIFICATIONS_IS_EXTERNAL_PROJECT)
|
||||
set(MYX_NOTIFICATIONS_PREFIX "" CACHE PATH "The path to the prefix of an myx-notifications installation")
|
||||
set(MYX_NOTIFICATIONS_INCLUDE_DIR "" CACHE PATH "The path to the headers of an myx-notifications installation")
|
||||
set(MYX_NOTIFICATIONS_LIBRARY_DIR "" CACHE PATH "The path to the library of an myx-notifications installation")
|
||||
|
||||
set(_search_paths "")
|
||||
if(MYX_NOTIFICATIONS_INCLUDE_DIR AND EXISTS ${MYX_NOTIFICATIONS_INCLUDE_DIR})
|
||||
list(APPEND _search_paths ${MYX_NOTIFICATIONS_INCLUDE_DIR})
|
||||
endif()
|
||||
if(MYX_NOTIFICATIONS_PREFIX AND EXISTS ${MYX_NOTIFICATIONS_PREFIX})
|
||||
list(APPEND _search_paths "${MYX_NOTIFICATIONS_PREFIX}/include")
|
||||
endif()
|
||||
find_path(
|
||||
MYX_NOTIFICATIONS_INCLUDE_DIRS
|
||||
NAMES myx/notifications/widget.hpp
|
||||
PATHS ${_search_paths})
|
||||
|
||||
set(_search_paths "")
|
||||
if(MYX_NOTIFICATIONS_LIBRARY_DIR AND EXISTS ${MYX_NOTIFICATIONS_LIBRARY_DIR})
|
||||
list(APPEND _search_paths ${MYX_NOTIFICATIONS_LIBRARY_DIR})
|
||||
endif()
|
||||
if(MYX_NOTIFICATIONS_PREFIX AND EXISTS ${MYX_NOTIFICATIONS_PREFIX})
|
||||
list(APPEND _search_paths "${MYX_NOTIFICATIONS_PREFIX}/lib")
|
||||
endif()
|
||||
find_library(
|
||||
MYX_NOTIFICATIONS_LIBRARIES
|
||||
NAMES myx-notifications
|
||||
PATHS ${_search_paths})
|
||||
unset(_search_paths)
|
||||
|
||||
if(MYX_NOTIFICATIONS_INCLUDE_DIRS AND MYX_NOTIFICATIONS_LIBRARIES)
|
||||
set(MYX_NOTIFICATIONS_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(MYX_NOTIFICATIONS_FOUND)
|
||||
if(NOT MYX_NOTIFICATIONS_FIND_QUIETLY)
|
||||
message(STATUS "Found myx-notifications")
|
||||
endif()
|
||||
set(HAVE_MYX_NOTIFICATIONS 1)
|
||||
elseif(MYX_NOTIFICATIONS_FOUND)
|
||||
if(MYX_NOTIFICATIONS_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find myx-notifications")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
39
MyxCMake/find/FindMyxNotificationsThirdparty.cmake
Normal file
39
MyxCMake/find/FindMyxNotificationsThirdparty.cmake
Normal file
@@ -0,0 +1,39 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
set(MYX_NOTIFICATIONS_PREFIX
|
||||
${CMAKE_BINARY_DIR}
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(MYX_NOTIFICATIONS_INCLUDE_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(MYX_NOTIFICATIONS_INCLUDE_DIRS
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(MYX_NOTIFICATIONS_LIBRARY_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(MYX_NOTIFICATIONS_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-notifications.a
|
||||
CACHE FILEPATH "" FORCE)
|
||||
|
||||
# cmake-format: off
|
||||
list(APPEND _ext_project_args
|
||||
myx-notifications
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/myx-notifications
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||
<SOURCE_DIR>)
|
||||
if(MyxNotificationsThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} myx-notifications-install-headers)
|
||||
else()
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_BYPRODUCTS ${MYX_NOTIFICATIONS_LIBRARIES})
|
||||
endif()
|
||||
ExternalProject_Add(${_ext_project_args})
|
||||
unset(_ext_project_args)
|
||||
|
||||
set(MYX_NOTIFICATIONS_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
|
||||
# cmake-format: on
|
45
MyxCMake/find/FindMyxQPing.cmake
Normal file
45
MyxCMake/find/FindMyxQPing.cmake
Normal file
@@ -0,0 +1,45 @@
|
||||
if(NOT MYX_QPING_IS_EXTERNAL_PROJECT)
|
||||
set(MYX_QPING_PREFIX "" CACHE PATH "The path to the prefix of an myx-qping installation")
|
||||
set(MYX_QPING_INCLUDE_DIR "" CACHE PATH "The path to the headers of an myx-qping installation")
|
||||
set(MYX_QPING_LIBRARY_DIR "" CACHE PATH "The path to the library of an myx-qping installation")
|
||||
|
||||
set(_search_paths "")
|
||||
if(MYX_QPING_INCLUDE_DIR AND EXISTS ${MYX_QPING_INCLUDE_DIR})
|
||||
list(APPEND _search_paths ${MYX_QPING_INCLUDE_DIR})
|
||||
endif()
|
||||
if(MYX_QPING_PREFIX AND EXISTS ${MYX_QPING_PREFIX})
|
||||
list(APPEND _search_paths "${MYX_QPING_PREFIX}/include")
|
||||
endif()
|
||||
find_path(
|
||||
MYX_QPING_INCLUDE_DIRS
|
||||
NAMES myx/qping/ping.hpp
|
||||
PATHS ${_search_paths})
|
||||
|
||||
set(_search_paths "")
|
||||
if(MYX_QPING_LIBRARY_DIR AND EXISTS ${MYX_QPING_LIBRARY_DIR})
|
||||
list(APPEND _search_paths ${MYX_QPING_LIBRARY_DIR})
|
||||
endif()
|
||||
if(MYX_QPING_PREFIX AND EXISTS ${MYX_QPING_PREFIX})
|
||||
list(APPEND _search_paths "${MYX_QPING_PREFIX}/lib")
|
||||
endif()
|
||||
find_library(
|
||||
MYX_QPING_LIBRARIES
|
||||
NAMES myx-qping
|
||||
PATHS ${_search_paths})
|
||||
unset(_search_paths)
|
||||
|
||||
if(MYX_QPING_INCLUDE_DIRS AND MYX_QPING_LIBRARIES)
|
||||
set(MYX_QPING_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(MYX_QPING_FOUND)
|
||||
if(NOT MYX_QPING_FIND_QUIETLY)
|
||||
message(STATUS "Found myx-qping")
|
||||
endif()
|
||||
set(HAVE_MYX_QPING 1)
|
||||
elseif(MYX_QPING_FOUND)
|
||||
if(MYX_QPING_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find myx-qping")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
39
MyxCMake/find/FindMyxQPingThirdparty.cmake
Normal file
39
MyxCMake/find/FindMyxQPingThirdparty.cmake
Normal file
@@ -0,0 +1,39 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
set(MYX_QPING_PREFIX
|
||||
${CMAKE_BINARY_DIR}
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(MYX_QPING_INCLUDE_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(MYX_QPING_INCLUDE_DIRS
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(MYX_QPING_LIBRARY_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(MYX_QPING_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-qping.a
|
||||
CACHE FILEPATH "" FORCE)
|
||||
|
||||
# cmake-format: off
|
||||
list(APPEND _ext_project_args
|
||||
myx-qping
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/myx-qping
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||
<SOURCE_DIR>)
|
||||
if(MyxQPingThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} myx-qping-install-headers)
|
||||
else()
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_BYPRODUCTS ${MYX_QPING_LIBRARIES})
|
||||
endif()
|
||||
ExternalProject_Add(${_ext_project_args})
|
||||
unset(_ext_project_args)
|
||||
|
||||
set(MYX_QPING_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
|
||||
# cmake-format: on
|
45
MyxCMake/find/FindMyxRedis.cmake
Normal file
45
MyxCMake/find/FindMyxRedis.cmake
Normal file
@@ -0,0 +1,45 @@
|
||||
if(NOT MYX_REDIS_IS_EXTERNAL_PROJECT)
|
||||
set(MYX_REDIS_PREFIX "" CACHE PATH "The path to the prefix of an myx-redis installation")
|
||||
set(MYX_REDIS_INCLUDE_DIR "" CACHE PATH "The path to the headers of an myx-redis installation")
|
||||
set(MYX_REDIS_LIBRARY_DIR "" CACHE PATH "The path to the library of an myx-redis installation")
|
||||
|
||||
set(_search_paths "")
|
||||
if(MYX_REDIS_INCLUDE_DIR AND EXISTS ${MYX_REDIS_INCLUDE_DIR})
|
||||
list(APPEND _search_paths ${MYX_REDIS_INCLUDE_DIR})
|
||||
endif()
|
||||
if(MYX_REDIS_PREFIX AND EXISTS ${MYX_REDIS_PREFIX})
|
||||
list(APPEND _search_paths "${MYX_REDIS_PREFIX}/include")
|
||||
endif()
|
||||
find_path(
|
||||
MYX_REDIS_INCLUDE_DIRS
|
||||
NAMES myx/redis/sync_client.hpp
|
||||
PATHS ${_search_paths})
|
||||
|
||||
set(_search_paths "")
|
||||
if(MYX_REDIS_LIBRARY_DIR AND EXISTS ${MYX_REDIS_LIBRARY_DIR})
|
||||
list(APPEND _search_paths ${MYX_REDIS_LIBRARY_DIR})
|
||||
endif()
|
||||
if(MYX_REDIS_PREFIX AND EXISTS ${MYX_REDIS_PREFIX})
|
||||
list(APPEND _search_paths "${MYX_REDIS_PREFIX}/lib")
|
||||
endif()
|
||||
find_library(
|
||||
MYX_REDIS_LIBRARIES
|
||||
NAMES myx-redis
|
||||
PATHS ${_search_paths})
|
||||
unset(_search_paths)
|
||||
|
||||
if(MYX_REDIS_INCLUDE_DIRS AND MYX_REDIS_LIBRARIES)
|
||||
set(MYX_REDIS_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(MYX_REDIS_FOUND)
|
||||
if(NOT MYX_REDIS_FIND_QUIETLY)
|
||||
message(STATUS "Found myx-redis")
|
||||
endif()
|
||||
set(HAVE_MYX_REDIS 1)
|
||||
elseif(MYX_REDIS_FOUND)
|
||||
if(MYX_REDIS_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find myx-redis")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
39
MyxCMake/find/FindMyxRedisThirdparty.cmake
Normal file
39
MyxCMake/find/FindMyxRedisThirdparty.cmake
Normal file
@@ -0,0 +1,39 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
set(MYX_REDIS_PREFIX
|
||||
${CMAKE_BINARY_DIR}
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(MYX_REDIS_INCLUDE_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(MYX_REDIS_INCLUDE_DIRS
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(MYX_REDIS_LIBRARY_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(MYX_REDIS_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-redis.a
|
||||
CACHE FILEPATH "" FORCE)
|
||||
|
||||
# cmake-format: off
|
||||
list(APPEND _ext_project_args
|
||||
myx-redis
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/myx-redis
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||
<SOURCE_DIR>)
|
||||
if(MyxRedisThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} myx-redis-install-headers)
|
||||
else()
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_BYPRODUCTS ${MYX_REDIS_LIBRARIES})
|
||||
endif()
|
||||
ExternalProject_Add(${_ext_project_args})
|
||||
unset(_ext_project_args)
|
||||
|
||||
set(MYX_REDIS_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
|
||||
# cmake-format: on
|
78
MyxCMake/find/FindMyxlib.cmake
Normal file
78
MyxCMake/find/FindMyxlib.cmake
Normal file
@@ -0,0 +1,78 @@
|
||||
#[=======================================================================[.rst:
|
||||
FindMyxlib
|
||||
--------
|
||||
|
||||
Поиск библиотеки Myxlib
|
||||
|
||||
Входные переменные
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
``MYXLIB_PREFIX``
|
||||
корневой каталог установленной библиотеки.
|
||||
``MYXLIB_INCLUDE_DIR``
|
||||
каталог, в котором производится поиск заголовочных файлов.
|
||||
``MYXLIB_LIBRARY_DIR``
|
||||
каталог, в котором производится поиск библиотек.
|
||||
|
||||
Выходные переменные
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
``MYXLIB_FOUND``
|
||||
true, если MYXLIB найдена
|
||||
``MYXLIB_INCLUDE_DIRS``
|
||||
каталог с найденными заголовочными файлами
|
||||
``MYXLIB_LIBRARIES``
|
||||
каталог с найденными библиотеками
|
||||
|
||||
#]=======================================================================]
|
||||
|
||||
if(NOT MYXLIB_IS_EXTERNAL_PROJECT)
|
||||
set(MYXLIB_PREFIX "" CACHE PATH "The path to the prefix of an myxlib installation")
|
||||
set(MYXLIB_INCLUDE_DIR "" CACHE PATH "The path to the headers of an myxlib installation")
|
||||
set(MYXLIB_LIBRARY_DIR "" CACHE PATH "The path to the library of an myxlib installation")
|
||||
|
||||
set(_search_paths "")
|
||||
if(MYXLIB_INCLUDE_DIR AND EXISTS ${MYXLIB_INCLUDE_DIR})
|
||||
list(APPEND _search_paths ${MYXLIB_INCLUDE_DIR})
|
||||
endif()
|
||||
if(MYXLIB_PREFIX AND EXISTS ${MYXLIB_PREFIX})
|
||||
list(APPEND _search_paths "${MYXLIB_PREFIX}/include")
|
||||
endif()
|
||||
find_path(
|
||||
MYXLIB_INCLUDE_DIRS
|
||||
NAMES myx/core/config.hpp
|
||||
PATHS ${_search_paths})
|
||||
|
||||
set(_search_paths "")
|
||||
if(MYXLIB_LIBRARY_DIR AND EXISTS ${MYXLIB_LIBRARY_DIR})
|
||||
list(APPEND _search_paths ${MYXLIB_LIBRARY_DIR})
|
||||
endif()
|
||||
if(MYXLIB_PREFIX AND EXISTS ${MYXLIB_PREFIX})
|
||||
list(APPEND _search_paths "${MYXLIB_PREFIX}/lib")
|
||||
endif()
|
||||
find_library(
|
||||
MYXLIB_QT_LIBRARIES
|
||||
NAMES myx-qt
|
||||
PATHS ${_search_paths})
|
||||
find_library(
|
||||
MYXLIB_FILESYSTEM_LIBRARIES
|
||||
NAMES myx-filesystem
|
||||
PATHS ${_search_paths})
|
||||
unset(_search_paths)
|
||||
set(MYXLIB_LIBRARIES ${MYXLIB_QT_LIBRARIES} ${MYXLIB_FILESYSTEM_LIBRARIES})
|
||||
|
||||
if(MYXLIB_INCLUDE_DIRS AND MYXLIB_LIBRARIES)
|
||||
set(MYXLIB_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(MYXLIB_FOUND)
|
||||
if(NOT MYXLIB_FIND_QUIETLY)
|
||||
message(STATUS "Found myxlib")
|
||||
endif()
|
||||
set(HAVE_MYXLIB 1)
|
||||
elseif(MYXLIB_FOUND)
|
||||
if(MYXLIB_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find myxlib")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
46
MyxCMake/find/FindMyxlibThirdparty.cmake
Normal file
46
MyxCMake/find/FindMyxlibThirdparty.cmake
Normal file
@@ -0,0 +1,46 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
set(MYXLIB_PREFIX
|
||||
${CMAKE_BINARY_DIR}
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(MYXLIB_INCLUDE_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(MYXLIB_INCLUDE_DIRS
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(MYXLIB_LIBRARY_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(MYXLIB_QT_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-qt.a
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(MYXLIB_FILESYSTEM_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-filesystem.a
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(MYXLIB_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-qt.a
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-filesystem.a
|
||||
CACHE FILEPATH "" FORCE)
|
||||
|
||||
# cmake-format: off
|
||||
list(APPEND _ext_project_args
|
||||
myxlib
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/myxlib
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||
<SOURCE_DIR>)
|
||||
if(MyxlibThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} myxlib-install-headers)
|
||||
else()
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_BYPRODUCTS ${MYXLIB_LIBRARIES})
|
||||
endif()
|
||||
ExternalProject_Add(${_ext_project_args})
|
||||
unset(_ext_project_args)
|
||||
|
||||
set(MYXLIB_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
|
||||
# cmake-format: on
|
45
MyxCMake/find/FindPreproc.cmake
Normal file
45
MyxCMake/find/FindPreproc.cmake
Normal file
@@ -0,0 +1,45 @@
|
||||
if(NOT PREPROC_IS_EXTERNAL_PROJECT)
|
||||
set(PREPROC_PREFIX "" CACHE PATH "The path to the prefix of an libpreproc installation")
|
||||
set(PREPROC_INCLUDE_DIR "" CACHE PATH "The path to the headers of an libpreproc installation")
|
||||
set(PREPROC_LIBRARY_DIR "" CACHE PATH "The path to the library of an libpreproc installation")
|
||||
|
||||
set(_search_paths "")
|
||||
if(PREPROC_INCLUDE_DIR AND EXISTS ${PREPROC_INCLUDE_DIR})
|
||||
list(APPEND _search_paths ${PREPROC_INCLUDE_DIR})
|
||||
endif()
|
||||
if(PREPROC_PREFIX AND EXISTS ${PREPROC_PREFIX})
|
||||
list(APPEND _search_paths "${PREPROC_PREFIX}/include")
|
||||
endif()
|
||||
find_path(
|
||||
PREPROC_INCLUDE_DIRS
|
||||
NAMES preproc/mark.hpp
|
||||
PATHS ${_search_paths})
|
||||
|
||||
set(_search_paths "")
|
||||
if(PREPROC_LIBRARY_DIR AND EXISTS ${PREPROC_LIBRARY_DIR})
|
||||
list(APPEND _search_paths ${PREPROC_LIBRARY_DIR})
|
||||
endif()
|
||||
if(PREPROC_PREFIX AND EXISTS ${PREPROC_PREFIX})
|
||||
list(APPEND _search_paths "${PREPROC_PREFIX}/lib")
|
||||
endif()
|
||||
find_library(
|
||||
PREPROC_LIBRARIES
|
||||
NAMES preproc
|
||||
PATHS ${_search_paths})
|
||||
unset(_search_paths)
|
||||
|
||||
if(PREPROC_INCLUDE_DIRS AND PREPROC_LIBRARIES)
|
||||
set(PREPROC_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(PREPROC_FOUND)
|
||||
if(NOT PREPROC_FIND_QUIETLY)
|
||||
message(STATUS "Found libpreproc")
|
||||
endif()
|
||||
set(HAVE_PREPROC 1)
|
||||
elseif(PREPROC_FOUND)
|
||||
if(PREPROC_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find libpreproc")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
41
MyxCMake/find/FindPreprocThirdparty.cmake
Normal file
41
MyxCMake/find/FindPreprocThirdparty.cmake
Normal file
@@ -0,0 +1,41 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
set(PREPROC_PREFIX
|
||||
${CMAKE_BINARY_DIR}
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(PREPROC_INCLUDE_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(PREPROC_INCLUDE_DIRS
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(PREPROC_LIBRARY_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(PREPROC_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libpreproc.a
|
||||
CACHE FILEPATH "" FORCE)
|
||||
|
||||
# cmake-format: off
|
||||
list(APPEND _ext_project_args
|
||||
libpreproc
|
||||
DEPENDS libpreprocmath
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libpreproc
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||
-DPREPROCMATH_PREFIX=${CMAKE_BINARY_DIR}
|
||||
<SOURCE_DIR>)
|
||||
if(PreprocThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} preproc-install-headers)
|
||||
else()
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_BYPRODUCTS ${PREPROC_LIBRARIES})
|
||||
endif()
|
||||
ExternalProject_Add(${_ext_project_args})
|
||||
unset(_ext_project_args)
|
||||
|
||||
set(PREPROC_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
|
||||
# cmake-format: on
|
45
MyxCMake/find/FindPreprocmath.cmake
Normal file
45
MyxCMake/find/FindPreprocmath.cmake
Normal file
@@ -0,0 +1,45 @@
|
||||
if(NOT PREPROCMATH_IS_EXTERNAL_PROJECT)
|
||||
set(PREPROCMATH_PREFIX "" CACHE PATH "The path to the prefix of an libpreprocmath installation")
|
||||
set(PREPROCMATH_INCLUDE_DIR "" CACHE PATH "The path to the headers of an libpreprocmath installation")
|
||||
set(PREPROCMATH_LIBRARY_DIR "" CACHE PATH "The path to the library of an libpreprocmath installation")
|
||||
|
||||
set(_search_paths "")
|
||||
if(PREPROCMATH_INCLUDE_DIR AND EXISTS ${PREPROCMATH_INCLUDE_DIR})
|
||||
list(APPEND _search_paths ${PREPROCMATH_INCLUDE_DIR})
|
||||
endif()
|
||||
if(PREPROCMATH_PREFIX AND EXISTS ${PREPROCMATH_PREFIX})
|
||||
list(APPEND _search_paths "${PREPROCMATH_PREFIX}/include")
|
||||
endif()
|
||||
find_path(
|
||||
PREPROCMATH_INCLUDE_DIRS
|
||||
NAMES preprocmath/params.hpp
|
||||
PATHS ${_search_paths})
|
||||
|
||||
set(_search_paths "")
|
||||
if(PREPROCMATH_LIBRARY_DIR AND EXISTS ${PREPROCMATH_LIBRARY_DIR})
|
||||
list(APPEND _search_paths ${PREPROCMATH_LIBRARY_DIR})
|
||||
endif()
|
||||
if(PREPROCMATH_PREFIX AND EXISTS ${PREPROCMATH_PREFIX})
|
||||
list(APPEND _search_paths "${PREPROCMATH_PREFIX}/lib")
|
||||
endif()
|
||||
find_library(
|
||||
PREPROCMATH_LIBRARIES
|
||||
NAMES preprocmath
|
||||
PATHS ${_search_paths})
|
||||
unset(_search_paths)
|
||||
|
||||
if(PREPROCMATH_INCLUDE_DIRS AND PREPROCMATH_LIBRARIES)
|
||||
set(PREPROCMATH_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(PREPROCMATH_FOUND)
|
||||
if(NOT PREPROCMATH_FIND_QUIETLY)
|
||||
message(STATUS "Found libpreprocmath")
|
||||
endif()
|
||||
set(HAVE_PREPROCMATH 1)
|
||||
elseif(PREPROCMATH_FOUND)
|
||||
if(PREPROCMATH_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find libpreprocmath")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
39
MyxCMake/find/FindPreprocmathThirdparty.cmake
Normal file
39
MyxCMake/find/FindPreprocmathThirdparty.cmake
Normal file
@@ -0,0 +1,39 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
set(PREPROCMATH_PREFIX
|
||||
${CMAKE_BINARY_DIR}
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(PREPROCMATH_INCLUDE_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(PREPROCMATH_INCLUDE_DIRS
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(PREPROCMATH_LIBRARY_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(PREPROCMATH_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libpreprocmath.a
|
||||
CACHE FILEPATH "" FORCE)
|
||||
|
||||
# cmake-format: off
|
||||
list(APPEND _ext_project_args
|
||||
libpreprocmath
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libpreprocmath
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||
<SOURCE_DIR>)
|
||||
if(PreprocmathThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} preprocmath-install-headers)
|
||||
else()
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_BYPRODUCTS ${PREPROCMATH_LIBRARIES})
|
||||
endif()
|
||||
ExternalProject_Add(${_ext_project_args})
|
||||
unset(_ext_project_args)
|
||||
|
||||
set(PREPROCMATH_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
|
||||
# cmake-format: on
|
76
MyxCMake/find/FindProj.cmake
Normal file
76
MyxCMake/find/FindProj.cmake
Normal file
@@ -0,0 +1,76 @@
|
||||
# Find Proj
|
||||
# ~~~~~~~~~
|
||||
# Copyright (c) 2007, Martin Dobias <wonder.sk at gmail.com>
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
#
|
||||
# CMake module to search for Proj library
|
||||
#
|
||||
# If it's found it sets PROJ_FOUND to TRUE
|
||||
# and following variables are set:
|
||||
# PROJ_INCLUDE_DIR
|
||||
# PROJ_LIBRARY
|
||||
|
||||
# FIND_PATH and FIND_LIBRARY normally search standard locations
|
||||
# before the specified paths. To search non-standard paths first,
|
||||
# FIND_* is invoked first with specified paths and NO_DEFAULT_PATH
|
||||
# and then again with no specified paths to search the default
|
||||
# locations. When an earlier FIND_* succeeds, subsequent FIND_*s
|
||||
# searching for the same item do nothing.
|
||||
|
||||
# try to use framework on mac
|
||||
# want clean framework path, not unix compatibility path
|
||||
IF (APPLE)
|
||||
IF (CMAKE_FIND_FRAMEWORK MATCHES "FIRST"
|
||||
OR CMAKE_FRAMEWORK_PATH MATCHES "ONLY"
|
||||
OR NOT CMAKE_FIND_FRAMEWORK)
|
||||
SET (CMAKE_FIND_FRAMEWORK_save ${CMAKE_FIND_FRAMEWORK} CACHE STRING "" FORCE)
|
||||
SET (CMAKE_FIND_FRAMEWORK "ONLY" CACHE STRING "" FORCE)
|
||||
#FIND_PATH(PROJ_INCLUDE_DIR PROJ/proj_api.h)
|
||||
FIND_LIBRARY(PROJ_LIBRARY PROJ)
|
||||
IF (PROJ_LIBRARY)
|
||||
# FIND_PATH doesn't add "Headers" for a framework
|
||||
SET (PROJ_INCLUDE_DIR ${PROJ_LIBRARY}/Headers CACHE PATH "Path to a file.")
|
||||
ENDIF (PROJ_LIBRARY)
|
||||
SET (CMAKE_FIND_FRAMEWORK ${CMAKE_FIND_FRAMEWORK_save} CACHE STRING "" FORCE)
|
||||
ENDIF ()
|
||||
ENDIF (APPLE)
|
||||
|
||||
FIND_PATH(PROJ_INCLUDE_DIR proj_api.h
|
||||
"$ENV{INCLUDE}"
|
||||
"$ENV{LIB_DIR}/include"
|
||||
)
|
||||
|
||||
FIND_LIBRARY(PROJ_LIBRARY NAMES proj_i proj PATHS
|
||||
"$ENV{LIB}"
|
||||
"$ENV{LIB_DIR}/lib"
|
||||
)
|
||||
|
||||
IF (PROJ_INCLUDE_DIR AND PROJ_LIBRARY)
|
||||
SET(PROJ_FOUND TRUE)
|
||||
ENDIF (PROJ_INCLUDE_DIR AND PROJ_LIBRARY)
|
||||
|
||||
|
||||
IF (PROJ_FOUND)
|
||||
# This macro checks if the symbol exists
|
||||
include(CheckLibraryExists)
|
||||
check_library_exists("${PROJ_LIBRARY}" proj_info "" PROJ_HAS_INFO)
|
||||
|
||||
IF (NOT PROJ_FIND_QUIETLY)
|
||||
IF (PROJ_HAS_INFO)
|
||||
FILE(READ ${PROJ_INCLUDE_DIR}/proj.h proj_version)
|
||||
STRING(REGEX REPLACE "^.*PROJ_VERSION_MAJOR +([0-9]+).*$" "\\1" PROJ_VERSION_MAJOR "${proj_version}")
|
||||
STRING(REGEX REPLACE "^.*PROJ_VERSION_MINOR +([0-9]+).*$" "\\1" PROJ_VERSION_MINOR "${proj_version}")
|
||||
STRING(REGEX REPLACE "^.*PROJ_VERSION_PATCH +([0-9]+).*$" "\\1" PROJ_VERSION_PATCH "${proj_version}")
|
||||
STRING(CONCAT PROJ_VERSION_STR "(" ${PROJ_VERSION_MAJOR} "." ${PROJ_VERSION_MINOR} "." ${PROJ_VERSION_PATCH} ")")
|
||||
ENDIF (PROJ_HAS_INFO)
|
||||
MESSAGE(STATUS "Found Proj: ${PROJ_LIBRARY} ${PROJ_VERSION_STR}")
|
||||
ENDIF (NOT PROJ_FIND_QUIETLY)
|
||||
|
||||
ELSE (PROJ_FOUND)
|
||||
|
||||
IF (PROJ_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "Could not find Proj")
|
||||
ENDIF (PROJ_FIND_REQUIRED)
|
||||
|
||||
ENDIF (PROJ_FOUND)
|
45
MyxCMake/find/FindPythonModule.cmake
Normal file
45
MyxCMake/find/FindPythonModule.cmake
Normal file
@@ -0,0 +1,45 @@
|
||||
# Find a Python module
|
||||
# Found at http://www.cmake.org/pipermail/cmake/2011-January/041666.html
|
||||
# To use do: find_python_module(NumPy REQUIRED)
|
||||
# Reports also version of package, but you can't currently enforce a specific version to be
|
||||
# searched for...
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
function(find_python_module module)
|
||||
# Fail if Python interpreter not known
|
||||
if(NOT PYTHON_EXECUTABLE)
|
||||
message(FATAL_ERROR "Use find_package(PythonInterp) first!")
|
||||
endif()
|
||||
string(TOLOWER ${module} _module_lower)
|
||||
if(NOT ${_module_lower})
|
||||
if(ARGC GREATER 1 AND ARGV1 STREQUAL "REQUIRED")
|
||||
set(${module}_FIND_REQUIRED TRUE)
|
||||
endif()
|
||||
# Find module location
|
||||
execute_process(
|
||||
COMMAND
|
||||
${PYTHON_EXECUTABLE} "-c" "import re, ${_module_lower}; print(re.compile('/__init__.py.*').sub('',${_module_lower}.__file__))"
|
||||
RESULT_VARIABLE _${module}_status
|
||||
OUTPUT_VARIABLE _${module}_location
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if(NOT _${module}_status)
|
||||
set(${module} ${_${module}_location} CACHE STRING "Location of Python module ${module}")
|
||||
endif()
|
||||
# Find module version
|
||||
execute_process(
|
||||
COMMAND
|
||||
${PYTHON_EXECUTABLE} "-c" "import re, ${_module_lower}; print(re.compile('/__init__.py.*').sub('',${_module_lower}.__version__))"
|
||||
OUTPUT_VARIABLE _${module}_ver
|
||||
ERROR_QUIET
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
endif()
|
||||
|
||||
find_package_handle_standard_args(${module}
|
||||
FOUND_VAR ${module}_FOUND
|
||||
REQUIRED_VARS ${module}
|
||||
VERSION_VAR _${module}_ver
|
||||
)
|
||||
endfunction()
|
248
MyxCMake/find/FindQGIS.cmake
Normal file
248
MyxCMake/find/FindQGIS.cmake
Normal file
@@ -0,0 +1,248 @@
|
||||
## Once run this will define:
|
||||
##
|
||||
## QGIS_FOUND = system has QGIS lib
|
||||
##
|
||||
## QGIS_CORE_LIBRARY = full path to the CORE library
|
||||
## QGIS_GUI_LIBRARY = full path to the GUI library
|
||||
## QGIS_ANALYSIS_LIBRARY = full path to the ANALYSIS library
|
||||
## QGIS_PLUGIN_DIR = full path to where QGIS plugins are installed
|
||||
## QGIS_INCLUDE_DIR = where to find headers
|
||||
## QGIS_UI_INCLUDE_DIR = where to find ui_* generated headers
|
||||
##
|
||||
## QGIS_VERSION = version as defined in qgsconfig.h, as major.minor.patch
|
||||
##
|
||||
## Definitions or ENV variables affecting search locations
|
||||
##
|
||||
## OSGEO4W_ROOT = [A-Z]:/path/to/OSGeo4W/install/root
|
||||
## (^ use forward slashes!)
|
||||
## OSGEO4W_QGIS_SUBDIR = qgis[-rel|-ltr][-dev], in OSGEO4W_ROOT/apps/
|
||||
## QGIS_MAC_PATH = /path/to/any/QGIS.app/Contents
|
||||
## QGIS_BUILD_PATH = [A-Z:]/path/to/QGIS/build/directory
|
||||
##
|
||||
## Tim Sutton
|
||||
## Larry Shaffer (2017-01-31)
|
||||
|
||||
#MESSAGE("Searching for QGIS")
|
||||
IF(WIN32)
|
||||
# OSGEO4W_QGIS_SUBDIR relative install: qgis[-rel|-ltr][-dev], etc.
|
||||
IF (NOT OSGEO4W_QGIS_SUBDIR OR "${OSGEO4W_QGIS_SUBDIR}" STREQUAL "")
|
||||
IF (NOT "$ENV{OSGEO4W_QGIS_SUBDIR}" STREQUAL "")
|
||||
SET (OSGEO4W_QGIS_SUBDIR $ENV{OSGEO4W_QGIS_SUBDIR})
|
||||
ELSE ()
|
||||
SET (OSGEO4W_QGIS_SUBDIR qgis)
|
||||
ENDIF ()
|
||||
ENDIF ()
|
||||
|
||||
#MESSAGE("Searching for QGIS in $ENV{PROGRAMFILES}/QGIS")
|
||||
IF (MINGW)
|
||||
FIND_PATH(QGIS_PLUGIN_DIR
|
||||
NAMES libofflineeditingplugin.dll
|
||||
PATHS
|
||||
"$ENV{PROGRAMFILES}/QGIS/plugins"
|
||||
)
|
||||
FIND_PATH(QGIS_INCLUDE_DIR
|
||||
NAMES qgsapplication.h
|
||||
PATHS
|
||||
"$ENV{PROGRAMFILES}/QGIS/include"
|
||||
)
|
||||
FIND_LIBRARY(QGIS_CORE_LIBRARY
|
||||
NAMES qgis_core
|
||||
PATHS
|
||||
"$ENV{PROGRAMFILES}/QGIS/"
|
||||
)
|
||||
FIND_LIBRARY(QGIS_GUI_LIBRARY
|
||||
NAMES qgis_gui
|
||||
PATHS
|
||||
"$ENV{PROGRAMFILES}/QGIS/"
|
||||
)
|
||||
ENDIF (MINGW)
|
||||
|
||||
IF (MSVC)
|
||||
FIND_PATH(QGIS_PLUGIN_DIR
|
||||
NAMES offlineeditingplugin.dll
|
||||
PATHS
|
||||
"$ENV{OSGEO4W_ROOT}/apps/${OSGEO4W_QGIS_SUBDIR}/plugins"
|
||||
"$ENV{PROGRAMFILES}/QGIS/plugins"
|
||||
)
|
||||
FIND_PATH(QGIS_INCLUDE_DIR
|
||||
NAMES qgsapplication.h
|
||||
PATHS
|
||||
"$ENV{INCLUDE}"
|
||||
"$ENV{LIB_DIR}/include/qgis"
|
||||
"$ENV{OSGEO4W_ROOT}/include"
|
||||
"$ENV{OSGEO4W_ROOT}/apps/${OSGEO4W_QGIS_SUBDIR}/include"
|
||||
"$ENV{PROGRAMFILES}/QGIS/include"
|
||||
)
|
||||
FIND_LIBRARY(QGIS_CORE_LIBRARY
|
||||
NAMES qgis_core
|
||||
PATHS
|
||||
"$ENV{LIB_DIR}/lib/"
|
||||
"$ENV{LIB}"
|
||||
"$ENV{OSGEO4W_ROOT}/lib"
|
||||
"$ENV{OSGEO4W_ROOT}/apps/${OSGEO4W_QGIS_SUBDIR}/lib"
|
||||
"$ENV{PROGRAMFILES}/QGIS/lib"
|
||||
)
|
||||
FIND_LIBRARY(QGIS_GUI_LIBRARY
|
||||
NAMES qgis_gui
|
||||
PATHS
|
||||
"$ENV{LIB_DIR}"
|
||||
"$ENV{LIB}"
|
||||
"$ENV{OSGEO4W_ROOT}/lib"
|
||||
"$ENV{OSGEO4W_ROOT}/apps/${OSGEO4W_QGIS_SUBDIR}/lib"
|
||||
"$ENV{PROGRAMFILES}/QGIS/lib"
|
||||
)
|
||||
FIND_LIBRARY(QGIS_ANALYSIS_LIBRARY
|
||||
NAMES qgis_analysis
|
||||
PATHS
|
||||
"$ENV{LIB_DIR}"
|
||||
"$ENV{LIB}"
|
||||
"$ENV{OSGEO4W_ROOT}/lib"
|
||||
"$ENV{OSGEO4W_ROOT}/apps/${OSGEO4W_QGIS_SUBDIR}/lib"
|
||||
"$ENV{PROGRAMFILES}/QGIS/lib"
|
||||
)
|
||||
ENDIF (MSVC)
|
||||
ELSE(WIN32)
|
||||
IF(UNIX)
|
||||
#MESSAGE("Searching for QGIS in /usr/bin; /usr/local/bin")
|
||||
FIND_PATH(QGIS_PLUGIN_DIR
|
||||
NAMES libofflineeditingplugin.so
|
||||
PATHS
|
||||
${QGIS_BUILD_PATH}/PlugIns/qgis
|
||||
${QGIS_MAC_PATH}/PlugIns/qgis
|
||||
${QGIS_PREFIX_PATH}/lib/qgis/plugins/
|
||||
/usr/lib64/qgis/plugins
|
||||
/usr/lib/qgis
|
||||
/usr/lib/qgis/plugins
|
||||
/usr/local/lib/qgis/plugins
|
||||
"$ENV{LIB_DIR}/lib/qgis/plugins"
|
||||
"$ENV{LIB_DIR}/lib/qgis"
|
||||
)
|
||||
FIND_PATH(QGIS_INCLUDE_DIR
|
||||
NAMES qgis.h
|
||||
PATHS
|
||||
${QGIS_BUILD_PATH}/output/lib/qgis_core.framework/Headers
|
||||
${QGIS_MAC_PATH}/Frameworks/qgis_core.framework/Headers
|
||||
{QGIS_PREFIX_PATH}/include/qgis
|
||||
/usr/include/qgis
|
||||
/usr/local/include/qgis
|
||||
/Library/Frameworks/qgis_core.framework/Headers
|
||||
"$ENV{LIB_DIR}/include/qgis"
|
||||
)
|
||||
FIND_PATH(QGIS_UI_INCLUDE_DIR
|
||||
NAMES ui_qgscredentialdialog.h
|
||||
PATHS
|
||||
${QGIS_BUILD_PATH}/src/ui
|
||||
${QGIS_MAC_PATH}/Frameworks/qgis_gui.framework/Headers
|
||||
{QGIS_PREFIX_PATH}/include/qgis
|
||||
/usr/include/qgis
|
||||
/usr/local/include/qgis
|
||||
/Library/Frameworks/qgis_gui.framework/Headers
|
||||
"$ENV{LIB_DIR}/include/qgis"
|
||||
)
|
||||
# also get other frameworks' headers folders on OS X
|
||||
IF (APPLE)
|
||||
FIND_PATH(QGIS_GUI_INCLUDE_DIR
|
||||
NAMES qgsguiutils.h
|
||||
PATHS
|
||||
${QGIS_BUILD_PATH}/output/lib
|
||||
${QGIS_MAC_PATH}/Frameworks
|
||||
/Library/Frameworks
|
||||
PATH_SUFFIXES qgis_gui.framework/Headers
|
||||
)
|
||||
FIND_PATH(QGIS_ANALYSIS_INCLUDE_DIR
|
||||
NAMES qgsinterpolator.h
|
||||
PATHS
|
||||
${QGIS_BUILD_PATH}/output/lib
|
||||
${QGIS_MAC_PATH}/Frameworks
|
||||
/Library/Frameworks
|
||||
PATH_SUFFIXES qgis_analysis.framework/Headers
|
||||
)
|
||||
SET(QGIS_INCLUDE_DIR
|
||||
${QGIS_INCLUDE_DIR}
|
||||
${QGIS_GUI_INCLUDE_DIR}
|
||||
${QGIS_ANALYSIS_INCLUDE_DIR}
|
||||
${QGIS_UI_INCLUDE_DIR}
|
||||
)
|
||||
ENDIF (APPLE)
|
||||
|
||||
FIND_LIBRARY(QGIS_CORE_LIBRARY
|
||||
NAMES qgis_core
|
||||
PATHS
|
||||
${QGIS_BUILD_PATH}/output/lib
|
||||
${QGIS_MAC_PATH}/Frameworks
|
||||
${QGIS_MAC_PATH}/lib
|
||||
${QGIS_PREFIX_PATH}/lib/
|
||||
/usr/lib64
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/Library/Frameworks
|
||||
"$ENV{LIB_DIR}/lib/"
|
||||
)
|
||||
FIND_LIBRARY(QGIS_GUI_LIBRARY
|
||||
NAMES qgis_gui
|
||||
PATHS
|
||||
${QGIS_BUILD_PATH}/output/lib
|
||||
${QGIS_MAC_PATH}/Frameworks
|
||||
${QGIS_MAC_PATH}/lib
|
||||
${QGIS_PREFIX_PATH}/lib/
|
||||
/usr/lib64
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/Library/Frameworks
|
||||
"$ENV{LIB_DIR}/lib/"
|
||||
)
|
||||
FIND_LIBRARY(QGIS_ANALYSIS_LIBRARY
|
||||
NAMES qgis_analysis
|
||||
PATHS
|
||||
${QGIS_BUILD_PATH}/output/lib
|
||||
${QGIS_MAC_PATH}/Frameworks
|
||||
${QGIS_MAC_PATH}/lib
|
||||
${QGIS_PREFIX_PATH}/lib/
|
||||
/usr/lib64
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/Library/Frameworks
|
||||
"$ENV{LIB_DIR}/lib/"
|
||||
)
|
||||
ENDIF(UNIX)
|
||||
ENDIF(WIN32)
|
||||
|
||||
IF (QGIS_INCLUDE_DIR)
|
||||
SET(QGIS_VERSION QGIS_VERSION-NOTFOUND)
|
||||
FIND_FILE(_qgsconfig_h qgsconfig.h PATHS ${QGIS_INCLUDE_DIR})
|
||||
IF (_qgsconfig_h)
|
||||
FILE(READ ${_qgsconfig_h} _qgsconfig)
|
||||
IF (_qgsconfig)
|
||||
# version defined like #define VERSION "2.14.8-Essen"
|
||||
FILE(STRINGS "${_qgsconfig_h}" _qgsversion_str REGEX "^#define VERSION .*$")
|
||||
STRING(REGEX REPLACE "^#define VERSION +\"([0-9]+\\.[0-9]+\\.[0-9]+).*$" "\\1" _qgsversion "${_qgsversion_str}")
|
||||
IF (_qgsversion)
|
||||
SET(QGIS_VERSION ${_qgsversion})
|
||||
ELSE ()
|
||||
MESSAGE(WARNING "No QGIS version determined: failed to parse qgsconfig.h")
|
||||
ENDIF ()
|
||||
ELSE()
|
||||
MESSAGE(WARNING "No QGIS version determined: failed to read qgsconfig.h")
|
||||
ENDIF ()
|
||||
ELSE ()
|
||||
MESSAGE(WARNING "No QGIS version determined: failed to find qgsconfig.h")
|
||||
ENDIF ()
|
||||
ENDIF ()
|
||||
|
||||
IF (QGIS_INCLUDE_DIR AND QGIS_CORE_LIBRARY AND QGIS_GUI_LIBRARY AND QGIS_ANALYSIS_LIBRARY)
|
||||
SET(QGIS_FOUND TRUE)
|
||||
ENDIF ()
|
||||
|
||||
IF (QGIS_FOUND)
|
||||
IF (NOT QGIS_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found QGIS: ${QGIS_VERSION}")
|
||||
MESSAGE(STATUS "Found QGIS core: ${QGIS_CORE_LIBRARY}")
|
||||
MESSAGE(STATUS "Found QGIS gui: ${QGIS_GUI_LIBRARY}")
|
||||
MESSAGE(STATUS "Found QGIS analysis: ${QGIS_ANALYSIS_LIBRARY}")
|
||||
MESSAGE(STATUS "Found QGIS plugins directory: ${QGIS_PLUGIN_DIR}")
|
||||
ENDIF (NOT QGIS_FIND_QUIETLY)
|
||||
ELSE (QGIS_FOUND)
|
||||
IF (QGIS_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "Could not find QGIS")
|
||||
ENDIF (QGIS_FIND_REQUIRED)
|
||||
ENDIF (QGIS_FOUND)
|
75
MyxCMake/find/FindQGLViewer.cmake
Normal file
75
MyxCMake/find/FindQGLViewer.cmake
Normal file
@@ -0,0 +1,75 @@
|
||||
# - Try to find QGLViewer
|
||||
# Once done this will define
|
||||
#
|
||||
# QGLVIEWER_FOUND - system has QGLViewer
|
||||
# QGLVIEWER_INCLUDE_DIR - the QGLViewer include directory
|
||||
# QGLVIEWER_LIBRARIES - Link these to use QGLViewer
|
||||
# QGLVIEWER_DEFINITIONS - Compiler switches required for using QGLViewer
|
||||
#
|
||||
|
||||
# first look in user defined locations
|
||||
find_path(QGLVIEWER_INCLUDE_DIR
|
||||
NAMES QGLViewer/qglviewer.h
|
||||
NO_DEFAULT_PATH
|
||||
PATHS ENV QGLVIEWERROOT
|
||||
/usr/local/include
|
||||
)
|
||||
|
||||
find_library(QGLVIEWER_LIBRARY_RELEASE
|
||||
NAMES qglviewer-qt5 qglviewer QGLViewer-qt5 QGLViewer QGLViewer2-qt5 QGLViewer2
|
||||
NO_DEFAULT_PATH
|
||||
PATHS ENV QGLVIEWERROOT
|
||||
ENV LD_LIBRARY_PATH
|
||||
ENV LIBRARY_PATH
|
||||
/usr/local/lib
|
||||
PATH_SUFFIXES QGLViewer QGLViewer/release
|
||||
)
|
||||
|
||||
find_library(QGLVIEWER_LIBRARY_DEBUG
|
||||
NAMES dqglviewer dQGLViewer-qt5 dQGLViewer dQGLViewer2-qt5 dQGLViewer2 QGLViewerd2-qt5 QGLViewerd2
|
||||
NO_DEFAULT_PATH
|
||||
PATHS /usr/local/lib
|
||||
ENV QGLVIEWERROOT
|
||||
ENV LD_LIBRARY_PATH
|
||||
ENV LIBRARY_PATH
|
||||
PATH_SUFFIXES QGLViewer QGLViewer/debug
|
||||
)
|
||||
|
||||
#now try the standard paths
|
||||
if (NOT QGLVIEWER_INCLUDE_DIR OR NOT QGLVIEWER_LIBRARY_RELEASE OR NOT QGLVIEWER_LIBRARY_DEBUG)
|
||||
find_path(QGLVIEWER_INCLUDE_DIR
|
||||
NAMES QGLViewer/qglviewer.h)
|
||||
|
||||
find_library(QGLVIEWER_LIBRARY_RELEASE
|
||||
NAMES qglviewer-qt5 qglviewer QGLViewer-qt5 QGLViewer QGLViewer2-qt5 QGLViewer2)
|
||||
|
||||
find_library(QGLVIEWER_LIBRARY_DEBUG
|
||||
NAMES dqglviewer dQGLViewer-qt5 dQGLViewer dQGLViewer2-qt5 dQGLViewer2 QGLViewerd2-qt5 QGLViewerd2)
|
||||
|
||||
endif()
|
||||
|
||||
if(QGLVIEWER_LIBRARY_RELEASE)
|
||||
if(QGLVIEWER_LIBRARY_DEBUG)
|
||||
set(QGLVIEWER_LIBRARIES_ optimized ${QGLVIEWER_LIBRARY_RELEASE} debug ${QGLVIEWER_LIBRARY_DEBUG})
|
||||
else()
|
||||
set(QGLVIEWER_LIBRARIES_ ${QGLVIEWER_LIBRARY_RELEASE})
|
||||
endif()
|
||||
|
||||
set(QGLVIEWER_LIBRARIES ${QGLVIEWER_LIBRARIES_} CACHE FILEPATH "The QGLViewer library")
|
||||
|
||||
endif()
|
||||
|
||||
IF(QGLVIEWER_INCLUDE_DIR AND QGLVIEWER_LIBRARIES)
|
||||
SET(QGLVIEWER_FOUND TRUE)
|
||||
ENDIF(QGLVIEWER_INCLUDE_DIR AND QGLVIEWER_LIBRARIES)
|
||||
|
||||
IF(QGLVIEWER_FOUND)
|
||||
IF(NOT QGLViewer_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found QGLViewer: ${QGLVIEWER_LIBRARIES}")
|
||||
ENDIF(NOT QGLViewer_FIND_QUIETLY)
|
||||
ELSE(QGLVIEWER_FOUND)
|
||||
IF(QGLViewer_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "Could not find QGLViewer")
|
||||
ENDIF(QGLViewer_FIND_REQUIRED)
|
||||
ENDIF(QGLVIEWER_FOUND)
|
||||
|
50
MyxCMake/find/FindQuadmath.cmake
Normal file
50
MyxCMake/find/FindQuadmath.cmake
Normal file
@@ -0,0 +1,50 @@
|
||||
# Module that checks whether the compiler supports the
|
||||
# quadruple precision floating point math
|
||||
#
|
||||
# Sets the following variables:
|
||||
# QUADMATH_FOUND
|
||||
# QUADMATH_LIBRARIES
|
||||
#
|
||||
# perform tests
|
||||
include(CheckCSourceCompiles)
|
||||
include(CheckCXXSourceCompiles)
|
||||
include(CMakePushCheckState)
|
||||
include(CheckCXXCompilerFlag)
|
||||
|
||||
if(NOT DEFINED USE_QUADMATH OR USE_QUADMATH)
|
||||
if(NOT DEFINED HAVE_EXTENDED_NUMERIC_LITERALS)
|
||||
check_cxx_compiler_flag("-Werror -fext-numeric-literals" HAVE_EXTENDED_NUMERIC_LITERALS)
|
||||
endif()
|
||||
|
||||
if (HAVE_EXTENDED_NUMERIC_LITERALS)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fext-numeric-literals")
|
||||
endif()
|
||||
|
||||
cmake_push_check_state(RESET)
|
||||
list(APPEND CMAKE_REQUIRED_LIBRARIES "quadmath")
|
||||
CHECK_CXX_SOURCE_COMPILES("
|
||||
#include <quadmath.h>
|
||||
|
||||
int main(void){
|
||||
__float128 foo = sqrtq(123.456);
|
||||
foo = FLT128_MIN;
|
||||
}" QUADMATH_FOUND)
|
||||
cmake_pop_check_state()
|
||||
|
||||
if (QUADMATH_FOUND)
|
||||
set(QUADMATH_LIBRARIES "quadmath")
|
||||
set(QUADMATH_FOUND "${QUADMATH_FOUND}")
|
||||
set(HAVE_QUADMATH 1)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (USE_QUADMATH AND NOT QUADMATH_FOUND)
|
||||
message(FATAL_ERROR "Quadruple precision math support was explicitly requested but is unavailable!")
|
||||
endif()
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(Quadmath
|
||||
DEFAULT_MSG
|
||||
QUADMATH_LIBRARIES
|
||||
QUADMATH_FOUND
|
||||
)
|
57
MyxCMake/find/FindQwt.cmake
Normal file
57
MyxCMake/find/FindQwt.cmake
Normal file
@@ -0,0 +1,57 @@
|
||||
# Find Qwt
|
||||
# ~~~~~~~~
|
||||
# Copyright (c) 2010, Tim Sutton <tim at linfiniti.com>
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
#
|
||||
# Once run this will define:
|
||||
#
|
||||
# QWT_FOUND = system has QWT lib
|
||||
# QWT_LIBRARY = full path to the QWT library
|
||||
# QWT_INCLUDE_DIR = where to find headers
|
||||
#
|
||||
|
||||
|
||||
set(QWT_LIBRARY_NAMES qwt-qt5 qwt6-qt5 qwt qwt6)
|
||||
|
||||
find_library(QWT_LIBRARY
|
||||
NAMES ${QWT_LIBRARY_NAMES}
|
||||
PATHS
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/local/lib/qt5
|
||||
"$ENV{LIB_DIR}/lib"
|
||||
"$ENV{LIB}"
|
||||
)
|
||||
|
||||
set(_qwt_fw)
|
||||
if(QWT_LIBRARY MATCHES "/qwt.*\\.framework")
|
||||
string(REGEX REPLACE "^(.*/qwt.*\\.framework).*$" "\\1" _qwt_fw "${QWT_LIBRARY}")
|
||||
endif()
|
||||
|
||||
FIND_PATH(QWT_INCLUDE_DIR NAMES qwt.h PATHS
|
||||
"${_qwt_fw}/Headers"
|
||||
/usr/include
|
||||
/usr/include/qt5
|
||||
/usr/local/include
|
||||
/usr/local/include/qt5
|
||||
"$ENV{LIB_DIR}/include"
|
||||
"$ENV{INCLUDE}"
|
||||
PATH_SUFFIXES qwt-qt5 qwt qwt6
|
||||
)
|
||||
|
||||
IF (QWT_INCLUDE_DIR AND QWT_LIBRARY)
|
||||
SET(QWT_FOUND TRUE)
|
||||
ENDIF (QWT_INCLUDE_DIR AND QWT_LIBRARY)
|
||||
|
||||
IF (QWT_FOUND)
|
||||
FILE(READ ${QWT_INCLUDE_DIR}/qwt_global.h qwt_header)
|
||||
STRING(REGEX REPLACE "^.*QWT_VERSION_STR +\"([^\"]+)\".*$" "\\1" QWT_VERSION_STR "${qwt_header}")
|
||||
IF (NOT QWT_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found Qwt: ${QWT_LIBRARY} (${QWT_VERSION_STR})")
|
||||
ENDIF (NOT QWT_FIND_QUIETLY)
|
||||
ELSE (QWT_FOUND)
|
||||
IF (QWT_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "Could not find Qwt")
|
||||
ENDIF (QWT_FIND_REQUIRED)
|
||||
ENDIF (QWT_FOUND)
|
55
MyxCMake/find/FindQwtPlot3D.cmake
Normal file
55
MyxCMake/find/FindQwtPlot3D.cmake
Normal file
@@ -0,0 +1,55 @@
|
||||
# Find QwtPlot3D
|
||||
# ~~~~~~~~~~~~~
|
||||
# Once run this will define:
|
||||
#
|
||||
# QWTPLOT3D_FOUND = system has QwtPlot3D lib
|
||||
# QWTPLOT3D_LIBRARY = full path to the QwtPlot3D library
|
||||
# QWTPLOT3D_INCLUDE_DIR = where to find headers
|
||||
#
|
||||
|
||||
|
||||
set(QWTPLOT3D_LIBRARY_NAMES qwtplot3d-qt5)
|
||||
|
||||
find_library(QWTPLOT3D_LIBRARY
|
||||
NAMES ${QWTPLOT3D_LIBRARY_NAMES}
|
||||
PATHS
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/local/lib/qt5
|
||||
"$ENV{LIB_DIR}/lib"
|
||||
"$ENV{LIB}"
|
||||
)
|
||||
|
||||
set(_qwt_fw)
|
||||
if(QWTPLOT3D_LIBRARY MATCHES "/qwt.*\\.framework")
|
||||
string(REGEX REPLACE "^(.*/qwt.*\\.framework).*$" "\\1" _qwt_fw "${QWTPLOT3D_LIBRARY}")
|
||||
endif()
|
||||
|
||||
FIND_PATH(QWTPLOT3D_INCLUDE_DIR NAMES qwt3d_plot.h PATHS
|
||||
"${_qwt_fw}/Headers"
|
||||
/usr/include
|
||||
/usr/include/qt5
|
||||
/usr/local/include
|
||||
/usr/local/include/qt5
|
||||
"$ENV{LIB_DIR}/include"
|
||||
"$ENV{INCLUDE}"
|
||||
PATH_SUFFIXES qwtplot3d
|
||||
)
|
||||
|
||||
IF (QWTPLOT3D_INCLUDE_DIR AND QWTPLOT3D_LIBRARY)
|
||||
SET(QWTPLOT3D_FOUND TRUE)
|
||||
ENDIF (QWTPLOT3D_INCLUDE_DIR AND QWTPLOT3D_LIBRARY)
|
||||
|
||||
IF (QWTPLOT3D_FOUND)
|
||||
FILE(READ ${QWTPLOT3D_INCLUDE_DIR}/qwt3d_global.h qwt_header)
|
||||
STRING(REGEX REPLACE "^.*QWT3D_MAJOR_VERSION +([0-9]+).*$" "\\1" QWT3D_MAJOR_VERSION "${qwt_header}")
|
||||
STRING(REGEX REPLACE "^.*QWT3D_MINOR_VERSION +([0-9]+).*$" "\\1" QWT3D_MINOR_VERSION "${qwt_header}")
|
||||
STRING(REGEX REPLACE "^.*QWT3D_PATCH_VERSION +([0-9]+).*$" "\\1" QWT3D_PATCH_VERSION "${qwt_header}")
|
||||
IF (NOT QWTPLOT3D_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found QwtPlot3D: ${QWTPLOT3D_LIBRARY} (${QWT3D_MAJOR_VERSION}.${QWT3D_MINOR_VERSION}.${QWT3D_PATCH_VERSION})")
|
||||
ENDIF (NOT QWTPLOT3D_FIND_QUIETLY)
|
||||
ELSE (QWTPLOT3D_FOUND)
|
||||
IF (QWTPLOT3D_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "Could not find QwtPlot3D")
|
||||
ENDIF (QWTPLOT3D_FIND_REQUIRED)
|
||||
ENDIF (QWTPLOT3D_FOUND)
|
53
MyxCMake/find/FindQwtPolar.cmake
Normal file
53
MyxCMake/find/FindQwtPolar.cmake
Normal file
@@ -0,0 +1,53 @@
|
||||
# Find QwtPolar
|
||||
# ~~~~~~~~~~~~~
|
||||
# Once run this will define:
|
||||
#
|
||||
# QWTPOLAR_FOUND = system has QWTPOLAR lib
|
||||
# QWTPOLAR_LIBRARY = full path to the QWTPOLAR library
|
||||
# QWTPOLAR_INCLUDE_DIR = where to find headers
|
||||
#
|
||||
|
||||
|
||||
set(QWTPOLAR_LIBRARY_NAMES qwtpolar)
|
||||
|
||||
find_library(QWTPOLAR_LIBRARY
|
||||
NAMES ${QWTPOLAR_LIBRARY_NAMES}
|
||||
PATHS
|
||||
/usr/lib
|
||||
/usr/local/lib
|
||||
/usr/local/lib/qt5
|
||||
"$ENV{LIB_DIR}/lib"
|
||||
"$ENV{LIB}"
|
||||
)
|
||||
|
||||
set(_qwt_fw)
|
||||
if(QWTPOLAR_LIBRARY MATCHES "/qwt.*\\.framework")
|
||||
string(REGEX REPLACE "^(.*/qwt.*\\.framework).*$" "\\1" _qwt_fw "${QWTPOLAR_LIBRARY}")
|
||||
endif()
|
||||
|
||||
FIND_PATH(QWTPOLAR_INCLUDE_DIR NAMES qwt_polar.h PATHS
|
||||
"${_qwt_fw}/Headers"
|
||||
/usr/include
|
||||
/usr/include/qt5
|
||||
/usr/local/include
|
||||
/usr/local/include/qt5
|
||||
"$ENV{LIB_DIR}/include"
|
||||
"$ENV{INCLUDE}"
|
||||
PATH_SUFFIXES qwt-qt5 qwt qwt6
|
||||
)
|
||||
|
||||
IF (QWTPOLAR_INCLUDE_DIR AND QWTPOLAR_LIBRARY)
|
||||
SET(QWTPOLAR_FOUND TRUE)
|
||||
ENDIF (QWTPOLAR_INCLUDE_DIR AND QWTPOLAR_LIBRARY)
|
||||
|
||||
IF (QWTPOLAR_FOUND)
|
||||
FILE(READ ${QWTPOLAR_INCLUDE_DIR}/qwt_polar_global.h qwt_header)
|
||||
STRING(REGEX REPLACE "^.*QWT_POLAR_VERSION_STR +\"([^\"]+)\".*$" "\\1" QWT_POLAR_VERSION_STR "${qwt_header}")
|
||||
IF (NOT QWTPOLAR_FIND_QUIETLY)
|
||||
MESSAGE(STATUS "Found QwtPolar: ${QWTPOLAR_LIBRARY} (${QWT_POLAR_VERSION_STR})")
|
||||
ENDIF (NOT QWTPOLAR_FIND_QUIETLY)
|
||||
ELSE (QWTPOLAR_FOUND)
|
||||
IF (QWTPOLAR_FIND_REQUIRED)
|
||||
MESSAGE(FATAL_ERROR "Could not find QwtPolar")
|
||||
ENDIF (QWTPOLAR_FIND_REQUIRED)
|
||||
ENDIF (QWTPOLAR_FOUND)
|
45
MyxCMake/find/FindSignalView.cmake
Normal file
45
MyxCMake/find/FindSignalView.cmake
Normal file
@@ -0,0 +1,45 @@
|
||||
if(NOT SIGNALVIEW_IS_EXTERNAL_PROJECT)
|
||||
set(SIGNALVIEW_PREFIX "" CACHE PATH "The path to the prefix of an libsignalview installation")
|
||||
set(SIGNALVIEW_INCLUDE_DIR "" CACHE PATH "The path to the headers of an libsignalview installation")
|
||||
set(SIGNALVIEW_LIBRARY_DIR "" CACHE PATH "The path to the library of an libsignalview installation")
|
||||
|
||||
set(_search_paths "")
|
||||
if(SIGNALVIEW_INCLUDE_DIR AND EXISTS ${SIGNALVIEW_INCLUDE_DIR})
|
||||
list(APPEND _search_paths ${SIGNALVIEW_INCLUDE_DIR})
|
||||
endif()
|
||||
if(SIGNALVIEW_PREFIX AND EXISTS ${SIGNALVIEW_PREFIX})
|
||||
list(APPEND _search_paths "${SIGNALVIEW_PREFIX}/include")
|
||||
endif()
|
||||
find_path(
|
||||
SIGNALVIEW_INCLUDE_DIRS
|
||||
NAMES signalview/wndSignalView.hpp
|
||||
PATHS ${_search_paths})
|
||||
|
||||
set(_search_paths "")
|
||||
if(SIGNALVIEW_LIBRARY_DIR AND EXISTS ${SIGNALVIEW_LIBRARY_DIR})
|
||||
list(APPEND _search_paths ${SIGNALVIEW_LIBRARY_DIR})
|
||||
endif()
|
||||
if(SIGNALVIEW_PREFIX AND EXISTS ${SIGNALVIEW_PREFIX})
|
||||
list(APPEND _search_paths "${SIGNALVIEW_PREFIX}/lib")
|
||||
endif()
|
||||
find_library(
|
||||
SIGNALVIEW_LIBRARIES
|
||||
NAMES signalview
|
||||
PATHS ${_search_paths})
|
||||
unset(_search_paths)
|
||||
|
||||
if(SIGNALVIEW_INCLUDE_DIRS AND SIGNALVIEW_LIBRARIES)
|
||||
set(SIGNALVIEW_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(SIGNALVIEW_FOUND)
|
||||
if(NOT SIGNALVIEW_FIND_QUIETLY)
|
||||
message(STATUS "Found libsignalview")
|
||||
endif()
|
||||
set(HAVE_SIGNALVIEW 1)
|
||||
elseif(SIGNALVIEW_FOUND)
|
||||
if(SIGNALVIEW_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find libsignalview")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
41
MyxCMake/find/FindSignalViewThirdparty.cmake
Normal file
41
MyxCMake/find/FindSignalViewThirdparty.cmake
Normal file
@@ -0,0 +1,41 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
set(SIGNALVIEW_PREFIX
|
||||
${CMAKE_BINARY_DIR}
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(SIGNALVIEW_INCLUDE_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(SIGNALVIEW_INCLUDE_DIRS
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(SIGNALVIEW_LIBRARY_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(SIGNALVIEW_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libsignalview.a
|
||||
CACHE FILEPATH "" FORCE)
|
||||
|
||||
# cmake-format: off
|
||||
list(APPEND _ext_project_args
|
||||
libsignalview
|
||||
DEPENDS libpreprocmath
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libsignalview
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||
-DPREPROCMATH_PREFIX=${CMAKE_BINARY_DIR}
|
||||
<SOURCE_DIR>)
|
||||
if(SignalViewThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} signalview-install-headers)
|
||||
else()
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_BYPRODUCTS ${SIGNALVIEW_LIBRARIES})
|
||||
endif()
|
||||
ExternalProject_Add(${_ext_project_args})
|
||||
unset(_ext_project_args)
|
||||
|
||||
set(SIGNALVIEW_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
|
||||
# cmake-format: on
|
38
MyxCMake/find/FindSphinx.cmake
Normal file
38
MyxCMake/find/FindSphinx.cmake
Normal file
@@ -0,0 +1,38 @@
|
||||
# - This module looks for Sphinx
|
||||
# Find the Sphinx documentation generator
|
||||
#
|
||||
# This modules defines
|
||||
# SPHINX_EXECUTABLE
|
||||
# SPHINX_FOUND
|
||||
|
||||
#=============================================================================
|
||||
# Copyright 2002-2009 Kitware, Inc.
|
||||
# Copyright 2009-2011 Peter Colberg
|
||||
#
|
||||
# Distributed under the OSI-approved BSD License (the "License");
|
||||
# see accompanying file COPYING-CMAKE-SCRIPTS for details.
|
||||
#
|
||||
# This software is distributed WITHOUT ANY WARRANTY; without even the
|
||||
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
# See the License for more information.
|
||||
#=============================================================================
|
||||
# (To distribute this file outside of CMake, substitute the full
|
||||
# License text for the above reference.)
|
||||
|
||||
find_program(SPHINX_EXECUTABLE NAMES sphinx-build
|
||||
HINTS
|
||||
$ENV{SPHINX_DIR}
|
||||
HINTS ${SPHINX_ROOT}/bin
|
||||
PATH_SUFFIXES bin
|
||||
DOC "Sphinx documentation generator"
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
|
||||
find_package_handle_standard_args(Sphinx DEFAULT_MSG
|
||||
SPHINX_EXECUTABLE
|
||||
)
|
||||
|
||||
mark_as_advanced(
|
||||
SPHINX_EXECUTABLE
|
||||
)
|
32
MyxCMake/find/FindVeerProtocols.cmake
Normal file
32
MyxCMake/find/FindVeerProtocols.cmake
Normal file
@@ -0,0 +1,32 @@
|
||||
if(NOT VEER_PROTOCOLS_IS_EXTERNAL_PROJECT)
|
||||
set(VEER_PROTOCOLS_PREFIX "" CACHE PATH "The path to the prefix of veer protocols installation")
|
||||
set(VEER_PROTOCOLS_INCLUDE_DIR "" CACHE PATH "The path to the headers of veer protocols installation")
|
||||
|
||||
set(_search_paths "")
|
||||
if(EXISTS VEER_PROTOCOLS_INCLUDE_DIR)
|
||||
list(APPEND _search_paths ${VEER_PROTOCOLS_INCLUDE_DIR})
|
||||
endif()
|
||||
if(EXISTS VEER_PROTOCOLS_PREFIX)
|
||||
list(APPEND _search_paths ${VEER_PROTOCOLS_PREFIX}/include)
|
||||
endif()
|
||||
find_path(
|
||||
VEER_PROTOCOLS_INCLUDE_DIRS
|
||||
NAMES veer/common/ports.hpp
|
||||
PATHS ${_search_paths})
|
||||
unset(_search_paths)
|
||||
|
||||
if(VEER_PROTOCOLS_INCLUDE_DIRS)
|
||||
set(VEER_PROTOCOLS_FOUND TRUE)
|
||||
endif()
|
||||
|
||||
if(VEER_PROTOCOLS_FOUND)
|
||||
if(NOT VEER_PROTOCOLS_FIND_QUIETLY)
|
||||
message(STATUS "Found veer protocols")
|
||||
endif()
|
||||
set(HAVE_VEER_PROTOCOLS 1)
|
||||
elseif(VEER_PROTOCOLS_FOUND)
|
||||
if(VEER_PROTOCOLS_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "Could not find veer protocols")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
30
MyxCMake/find/FindVeerProtocolsThirdparty.cmake
Normal file
30
MyxCMake/find/FindVeerProtocolsThirdparty.cmake
Normal file
@@ -0,0 +1,30 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
# cmake-format: off
|
||||
list(APPEND _ext_project_args
|
||||
veer-protocols
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/veer-protocols
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||
<SOURCE_DIR>)
|
||||
if(VeerProtocolsThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} veer-protocols-install-headers)
|
||||
endif()
|
||||
ExternalProject_Add(${_ext_project_args})
|
||||
unset(_ext_project_args)
|
||||
|
||||
set(VEER_PROTOCOLS_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
|
||||
# cmake-format: on
|
||||
|
||||
set(VEER_PROTOCOLS_PREFIX
|
||||
${CMAKE_BINARY_DIR}
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(VEER_PROTOCOLS_INCLUDE_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(VEER_PROTOCOLS_INCLUDE_DIRS
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
Reference in New Issue
Block a user