Начало проекта

This commit is contained in:
2021-12-08 14:32:04 +03:00
commit 17daab8623
105 changed files with 9814 additions and 0 deletions

View 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()

View 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

View 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()

View 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

View 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()

View 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

View 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)

View 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()

View 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

View 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()

View 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

View 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()

View 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)

View 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()

View 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()

View 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

View 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()

View 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

View 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()

View 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

View 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()

View 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

View 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()

View 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

View 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()

View 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

View 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)

View 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()

View 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)

View 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)

View 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
)

View 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)

View 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)

View 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)

View 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()

View 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

View 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
)

View 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()

View 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)