Compare commits

...

52 Commits

Author SHA1 Message Date
505d39faaf ImitSrk 2022-05-24 16:56:25 +03:00
c2b09e5cb2 myx-geo 2021-10-07 09:18:36 +03:00
ca4bce61f8 GeographicLib 2021-09-27 16:54:06 +03:00
0c2bf14955 MyxMath 2021-09-22 14:37:40 +03:00
5ab7845462 PvdProtocol 2021-09-22 14:24:51 +03:00
6a8dab968c Правка thirdparty 2021-08-02 17:59:39 +03:00
99716263c8 libimitator 2021-08-02 16:55:24 +03:00
3bf9e8f148 byproduct 2021-08-02 14:33:04 +03:00
aea565decf Merge branch 'master' of git.246060.ru:/f1x1t/cmake-find 2021-07-06 13:10:50 +03:00
9f8f581446 Порядок аргументов 2021-07-06 13:10:29 +03:00
09bdc355a3 Путь для установки заголовочного файла 2021-07-06 04:02:25 +03:00
1a3c65e803 Исправлен список аргументов 2021-07-05 14:24:07 +03:00
397c6d2b1b Порядок аргументов 2021-07-05 10:54:13 +03:00
beb7bfa001 Замена <INSTALL_DIR> на ${CMAKE_BINARY_DIR} 2021-07-05 10:35:15 +03:00
465ad38cb8 Обновлены скрипты для подключения подпроектов 2021-07-03 09:43:29 +03:00
29faeeae1a Другой вариант поиска 2021-07-01 13:56:16 +03:00
69cde815ce Правка ionobase 2021-07-01 13:41:32 +03:00
f71d0055f0 Исправлена опечатка 2021-07-01 12:26:51 +03:00
022a282637 Исправлен поиск библиотек 2021-06-30 15:14:49 +03:00
7a355ac387 myx-notifications 2021-06-30 15:14:41 +03:00
ad2e3bc6a5 Опечатки 2021-06-30 14:19:34 +03:00
fef5cc42c8 fc-protocol 2021-06-30 14:19:23 +03:00
cac598e912 myx-redis 2021-06-30 14:01:20 +03:00
d5d415fed1 cgal-widget 2021-06-30 12:18:20 +03:00
79a7714dc1 myx-qping 2021-06-30 12:10:36 +03:00
e1cd5f7e4b myx-qping 2021-06-30 11:59:35 +03:00
e54359de0e Исправлено имя 2021-06-29 13:30:13 +03:00
4ffa65694c Исправление поиска каталогов (закончено) 2021-06-29 12:56:20 +03:00
9f85f524e8 signalview 2021-06-29 12:50:58 +03:00
5924855742 Удаление переменной 2021-06-29 12:50:35 +03:00
c0e5a20c86 Документация 2021-06-29 12:50:14 +03:00
650ea04bc8 Исправлен поиск ionobase 2021-06-29 11:59:47 +03:00
b4c58de05c Исправлен поиск каталогов (в процессе) 2021-06-29 11:30:29 +03:00
488ef00012 Исправлен поиск каталогов (в процессе) 2021-06-29 11:23:46 +03:00
ffd19aa94d Стандартизация имён переменных, правка поиска 2021-06-29 08:14:16 +03:00
aebd1d3088 ionobase 2021-06-24 12:03:01 +03:00
c79d5268d3 veer-protocols 2021-06-24 11:52:12 +03:00
dea0b8e43b Опечатки 2021-06-24 11:51:52 +03:00
64331d7d1c Исправлено условие 2021-06-24 11:44:55 +03:00
d8c537801a Обобщение 2021-06-24 10:20:21 +03:00
6b9db876fd Правки 2021-06-24 09:21:52 +03:00
28bfad1960 Правка 2021-06-23 08:28:12 +03:00
82fd36e58b Preproc 2021-06-23 07:34:59 +03:00
ba94a2f8b7 Ionobase 2021-06-23 02:11:10 +03:00
253bcbedb2 Форматирование 2021-06-23 01:30:10 +03:00
4487851535 Preprocmath 2021-06-23 01:17:57 +03:00
aa9e44b01f MPFRCppThirdparty 2021-06-22 23:37:26 +03:00
495c7f36ff Включение модуля 2021-06-22 23:23:28 +03:00
306cfff07a myxlib 2021-06-22 17:39:47 +03:00
bb640e3cf2 Merge branch 'master' of git.246060.ru:/f1x1t/cmake-find 2020-09-24 13:07:19 +03:00
57f486dc59 Поиск QwtPlot3D 2020-09-24 13:05:40 +03:00
00bbf686cd Исправлен модуль GEOS 2020-05-01 10:52:54 +03:00
40 changed files with 1533 additions and 6 deletions

45
FindCgalWidget.cmake Normal file
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

32
FindFcProtocol.cmake Normal file
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

45
FindFsp.cmake Normal file
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()

43
FindFspThirdparty.cmake Normal file
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

@ -13,7 +13,9 @@
# GEOS_LIBRARY
#
IF(EXISTS ${CMAKE_SOURCE_DIR}/cmake/MacPlistMacros.cmake)
INCLUDE (${CMAKE_SOURCE_DIR}/cmake/MacPlistMacros.cmake)
ENDIF()
IF(WIN32)

40
FindGeographicLib.cmake Normal file
View File

@ -0,0 +1,40 @@
# Look for GeographicLib
#
# Set
# GeographicLib_FOUND = GEOGRAPHICLIB_FOUND = TRUE
# GeographicLib_INCLUDE_DIRS = /usr/local/include
# GeographicLib_LIBRARIES = /usr/local/lib/libGeographic.so
# GeographicLib_LIBRARY_DIRS = /usr/local/lib
find_library (GeographicLib_LIBRARIES Geographic
PATHS "${CMAKE_INSTALL_PREFIX}/../GeographicLib/lib")
if (GeographicLib_LIBRARIES)
get_filename_component (GeographicLib_LIBRARY_DIRS
"${GeographicLib_LIBRARIES}" PATH)
get_filename_component (_ROOT_DIR "${GeographicLib_LIBRARY_DIRS}" PATH)
set (GeographicLib_INCLUDE_DIRS "${_ROOT_DIR}/include")
set (GeographicLib_BINARY_DIRS "${_ROOT_DIR}/bin")
if (NOT EXISTS "${GeographicLib_INCLUDE_DIRS}/GeographicLib/Config.h")
# On Debian systems the library is in e.g.,
# /usr/lib/x86_64-linux-gnu/libGeographic.so
# so try stripping another element off _ROOT_DIR
get_filename_component (_ROOT_DIR "${_ROOT_DIR}" PATH)
set (GeographicLib_INCLUDE_DIRS "${_ROOT_DIR}/include")
set (GeographicLib_BINARY_DIRS "${_ROOT_DIR}/bin")
if (NOT EXISTS "${GeographicLib_INCLUDE_DIRS}/GeographicLib/Config.h")
unset (GeographicLib_INCLUDE_DIRS)
unset (GeographicLib_LIBRARIES)
unset (GeographicLib_LIBRARY_DIRS)
unset (GeographicLib_BINARY_DIRS)
endif ()
endif ()
unset (_ROOT_DIR)
endif ()
include (FindPackageHandleStandardArgs)
find_package_handle_standard_args (GeographicLib DEFAULT_MSG
GeographicLib_LIBRARY_DIRS GeographicLib_LIBRARIES
GeographicLib_INCLUDE_DIRS)
mark_as_advanced (GeographicLib_LIBRARY_DIRS GeographicLib_LIBRARIES
GeographicLib_INCLUDE_DIRS)

45
FindImitSrk.cmake Normal file
View File

@ -0,0 +1,45 @@
if(NOT IMITSRK_IS_EXTERNAL_PROJECT)
set(IMITSRK_PREFIX "" CACHE PATH "The path to the prefix of an libimitsrk installation")
set(IMITSRK_INCLUDE_DIR "" CACHE PATH "The path to the headers of an libimitsrk installation")
set(IMITSRK_LIBRARY_DIR "" CACHE PATH "The path to the library of an libimitsrk installation")
set(_search_paths "")
if(IMITSRK_INCLUDE_DIR AND EXISTS ${IMITSRK_INCLUDE_DIR})
list(APPEND _search_paths ${IMITSRK_INCLUDE_DIR})
endif()
if(IMITSRK_PREFIX AND EXISTS ${IMITSRK_PREFIX})
list(APPEND _search_paths "${IMITSRK_PREFIX}/include")
endif()
find_path(
IMITSRK_INCLUDE_DIRS
NAMES imitsrk/imitator.hpp
PATHS ${_search_paths})
set(_search_paths "")
if(IMITSRK_LIBRARY_DIR AND EXISTS ${IMITSRK_LIBRARY_DIR})
list(APPEND _search_paths ${IMITSRK_LIBRARY_DIR})
endif()
if(IMITSRK_PREFIX AND EXISTS ${IMITSRK_PREFIX})
list(APPEND _search_paths "${IMITSRK_PREFIX}/lib")
endif()
find_library(
IMITSRK_LIBRARIES
NAMES imitsrk
PATHS ${_search_paths})
unset(_search_paths)
if(IMITSRK_INCLUDE_DIRS AND IMITSRK_LIBRARIES)
set(IMITSRK_FOUND TRUE)
endif()
if(IMITSRK_FOUND)
if(NOT IMITSRK_FIND_QUIETLY)
message(STATUS "Found libimitsrk")
endif()
set(HAVE_IMITSRK 1)
elseif(IMITSRK_FOUND)
if(IMITSRK_FIND_REQUIRED)
message(FATAL_ERROR "Could not find libimitsrk")
endif()
endif()
endif()

View File

@ -0,0 +1,42 @@
# Подключение внешних проектов
include(ExternalProject)
set(IMITSRK_PREFIX
${CMAKE_BINARY_DIR}
CACHE FILEPATH "" FORCE)
set(IMITSRK_INCLUDE_DIR
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
CACHE PATH "" FORCE)
set(IMITSRK_INCLUDE_DIRS
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
CACHE PATH "" FORCE)
set(IMITSRK_LIBRARY_DIR
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
CACHE PATH "" FORCE)
set(IMITSRK_LIBRARIES
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libimitsrk.a
CACHE FILEPATH "" FORCE)
# cmake-format: off
list(APPEND _ext_project_args
libimitsrk
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libimitsrk
INSTALL_DIR ${CMAKE_BINARY_DIR}
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
-DIMITATOR_PREFIX=${CMAKE_BINARY_DIR}
-DPREPROCMATH_PREFIX=${CMAKE_BINARY_DIR}
-DMYXLIB_PREFIX=${CMAKE_BINARY_DIR}
<SOURCE_DIR>)
if(ImitSrkThirdparty_FIND_COMPONENTS STREQUAL "headers")
list(APPEND _ext_project_args
BUILD_COMMAND true
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} imitsrk-install-headers)
else()
list(APPEND _ext_project_args
BUILD_BYPRODUCTS ${IMITSRK_LIBRARIES})
endif()
ExternalProject_Add(${_ext_project_args})
unset(_ext_project_args)
set(IMITSRK_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
# cmake-format: on

45
FindImitator.cmake Normal file
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

46
FindIonobase.cmake Normal file
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

@ -8,16 +8,15 @@
# 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 previx of an MPFR installation")
set(MPFR_PREFIX "" CACHE PATH "The path to the prefix of an MPFR installation")
find_path(MPFR_INCLUDE_DIR mpfr.h
find_path(MPFR_INCLUDE_DIRS mpfr.h
PATHS ${MPFR_PREFIX}/include)
find_library(MPFR_LIBRARIES NAMES mpfr
PATHS ${MPFR_PREFIX}/lib)
if(MPFR_INCLUDE_DIR AND MPFR_LIBRARIES)
get_filename_component(MPFR_LIBRARY_DIR ${MPFR_LIBRARIES} PATH)
if(MPFR_INCLUDE_DIRS AND MPFR_LIBRARIES)
set(MPFR_FOUND TRUE)
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

@ -1,4 +1,4 @@
set(MATHGP_PREFIX "" CACHE PATH "The path to the previx of an MathGL installation")
set(MATHGP_PREFIX "" CACHE PATH "The path to the prefix of an MathGL installation")
find_path(MATHGL_INCLUDE_DIR NAMES mgl2/mgl.h
PATHS

45
FindMyxGeo.cmake Normal file
View File

@ -0,0 +1,45 @@
if(NOT MYX_GEO_IS_EXTERNAL_PROJECT)
set(MYX_GEO_PREFIX "" CACHE PATH "The path to the prefix of an myx-geo installation")
set(MYX_GEO_INCLUDE_DIR "" CACHE PATH "The path to the headers of an myx-geo installation")
set(MYX_GEO_LIBRARY_DIR "" CACHE PATH "The path to the library of an myx-geo installation")
set(_search_paths "")
if(MYX_GEO_INCLUDE_DIR AND EXISTS ${MYX_GEO_INCLUDE_DIR})
list(APPEND _search_paths ${MYX_GEO_INCLUDE_DIR})
endif()
if(MYX_GEO_PREFIX AND EXISTS ${MYX_GEO_PREFIX})
list(APPEND _search_paths "${MYX_GEO_PREFIX}/include")
endif()
find_path(
MYX_GEO_INCLUDE_DIRS
NAMES myx/geo/const.hpp
PATHS ${_search_paths})
set(_search_paths "")
if(MYX_GEO_LIBRARY_DIR AND EXISTS ${MYX_GEO_LIBRARY_DIR})
list(APPEND _search_paths ${MYX_GEO_LIBRARY_DIR})
endif()
if(MYX_GEO_PREFIX AND EXISTS ${MYX_GEO_PREFIX})
list(APPEND _search_paths "${MYX_GEO_PREFIX}/lib")
endif()
find_library(
MYX_GEO_LIBRARIES
NAMES myx-geo
PATHS ${_search_paths})
unset(_search_paths)
if(MYX_GEO_INCLUDE_DIRS AND MYX_GEO_LIBRARIES)
set(MYX_GEO_FOUND TRUE)
endif()
if(MYX_GEO_FOUND)
if(NOT MYX_GEO_FIND_QUIETLY)
message(STATUS "Found myx-geo")
endif()
set(HAVE_MYX_GEO 1)
elseif(MYX_GEO_FOUND)
if(MYX_GEO_FIND_REQUIRED)
message(FATAL_ERROR "Could not find myx-geo")
endif()
endif()
endif()

View File

@ -0,0 +1,39 @@
# Подключение внешних проектов
include(ExternalProject)
set(MYX_GEO_PREFIX
${CMAKE_BINARY_DIR}
CACHE FILEPATH "" FORCE)
set(MYX_GEO_INCLUDE_DIR
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
CACHE PATH "" FORCE)
set(MYX_GEO_INCLUDE_DIRS
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
CACHE PATH "" FORCE)
set(MYX_GEO_LIBRARY_DIR
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
CACHE PATH "" FORCE)
set(MYX_GEO_LIBRARIES
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-geo.a
CACHE FILEPATH "" FORCE)
# cmake-format: off
list(APPEND _ext_project_args
myx-geo
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/myx-geo
INSTALL_DIR ${CMAKE_BINARY_DIR}
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
<SOURCE_DIR>)
if(MyxGeoThirdparty_FIND_COMPONENTS STREQUAL "headers")
list(APPEND _ext_project_args
BUILD_COMMAND true
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} myx-geo-install-headers)
else()
list(APPEND _ext_project_args
BUILD_BYPRODUCTS ${MYX_GEO_LIBRARIES})
endif()
ExternalProject_Add(${_ext_project_args})
unset(_ext_project_args)
set(MYX_GEO_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
# cmake-format: on

45
FindMyxMath.cmake Normal file
View File

@ -0,0 +1,45 @@
if(NOT MYX_MATH_IS_EXTERNAL_PROJECT)
set(MYX_MATH_PREFIX "" CACHE PATH "The path to the prefix of an myx-math installation")
set(MYX_MATH_INCLUDE_DIR "" CACHE PATH "The path to the headers of an myx-math installation")
set(MYX_MATH_LIBRARY_DIR "" CACHE PATH "The path to the library of an myx-math installation")
set(_search_paths "")
if(MYX_MATH_INCLUDE_DIR AND EXISTS ${MYX_MATH_INCLUDE_DIR})
list(APPEND _search_paths ${MYX_MATH_INCLUDE_DIR})
endif()
if(MYX_MATH_PREFIX AND EXISTS ${MYX_MATH_PREFIX})
list(APPEND _search_paths "${MYX_MATH_PREFIX}/include")
endif()
find_path(
MYX_MATH_INCLUDE_DIRS
NAMES myx/math/constants.hpp
PATHS ${_search_paths})
set(_search_paths "")
if(MYX_MATH_LIBRARY_DIR AND EXISTS ${MYX_MATH_LIBRARY_DIR})
list(APPEND _search_paths ${MYX_MATH_LIBRARY_DIR})
endif()
if(MYX_MATH_PREFIX AND EXISTS ${MYX_MATH_PREFIX})
list(APPEND _search_paths "${MYX_MATH_PREFIX}/lib")
endif()
find_library(
MYX_MATH_LIBRARIES
NAMES myx-math
PATHS ${_search_paths})
unset(_search_paths)
if(MYX_MATH_INCLUDE_DIRS AND MYX_MATH_LIBRARIES)
set(MYX_MATH_FOUND TRUE)
endif()
if(MYX_MATH_FOUND)
if(NOT MYX_MATH_FIND_QUIETLY)
message(STATUS "Found myx-math")
endif()
set(HAVE_MYX_MATH 1)
elseif(MYX_MATH_FOUND)
if(MYX_MATH_FIND_REQUIRED)
message(FATAL_ERROR "Could not find myx-math")
endif()
endif()
endif()

View File

@ -0,0 +1,39 @@
# Подключение внешних проектов
include(ExternalProject)
set(MYX_MATH_PREFIX
${CMAKE_BINARY_DIR}
CACHE FILEPATH "" FORCE)
set(MYX_MATH_INCLUDE_DIR
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
CACHE PATH "" FORCE)
set(MYX_MATH_INCLUDE_DIRS
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
CACHE PATH "" FORCE)
set(MYX_MATH_LIBRARY_DIR
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
CACHE PATH "" FORCE)
set(MYX_MATH_LIBRARIES
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libmyx-math.a
CACHE FILEPATH "" FORCE)
# cmake-format: off
list(APPEND _ext_project_args
myx-math
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/myx-math
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-math-install-headers)
else()
list(APPEND _ext_project_args
BUILD_BYPRODUCTS ${MYX_MATH_LIBRARIES})
endif()
ExternalProject_Add(${_ext_project_args})
unset(_ext_project_args)
set(MYX_MATH_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
# cmake-format: on

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

45
FindMyxQPing.cmake Normal file
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

45
FindMyxRedis.cmake Normal file
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

78
FindMyxlib.cmake Normal file
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

45
FindPreproc.cmake Normal file
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

45
FindPreprocmath.cmake Normal file
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

32
FindPvdProtocol.cmake Normal file
View File

@ -0,0 +1,32 @@
if(NOT PVD_PROTOCOL_IS_EXTERNAL_PROJECT)
set(PVD_PROTOCOL_PREFIX "" CACHE PATH "The path to the prefix of an PVD protocols installation")
set(PVD_PROTOCOL_INCLUDE_DIR "" CACHE PATH "The path to the headers of an PVD protocols installation")
set(_search_paths "")
if(EXISTS PVD_PROTOCOL_INCLUDE_DIR)
list(APPEND _search_paths ${PVD_PROTOCOL_INCLUDE_DIR})
endif()
if(EXISTS PVD_PROTOCOL_PREFIX)
list(APPEND _search_paths "${PVD_PROTOCOL_PREFIX}/include")
endif()
find_path(
PVD_PROTOCOL_INCLUDE_DIRS
NAMES pvd/zg108g6/fsp/header.hpp
PATHS ${_search_paths})
unset(_search_paths)
if(PVD_PROTOCOL_INCLUDE_DIRS)
set(PVD_PROTOCOL_FOUND TRUE)
endif()
if(PVD_PROTOCOL_FOUND)
if(NOT PVD_PROTOCOL_FIND_QUIETLY)
message(STATUS "Found PVD protocol")
endif()
set(HAVE_PVD_PROTOCOL 1)
elseif(PVD_PROTOCOL_FOUND)
if(PVD_PROTOCOL_FIND_REQUIRED)
message(FATAL_ERROR "Could not find PVD protocol")
endif()
endif()
endif()

View File

@ -0,0 +1,30 @@
# Подключение внешних проектов
include(ExternalProject)
set(PVD_PROTOCOL_PREFIX
${CMAKE_BINARY_DIR}
CACHE FILEPATH "" FORCE)
set(PVD_PROTOCOL_INCLUDE_DIR
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
CACHE PATH "" FORCE)
set(PVD_PROTOCOL_INCLUDE_DIRS
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
CACHE PATH "" FORCE)
# cmake-format: off
list(APPEND _ext_project_args
pvd-protocol
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/pvd-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} pvd-protocol-install-headers)
endif()
ExternalProject_Add(${_ext_project_args})
unset(_ext_project_args)
set(PVD_PROTOCOL_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
# cmake-format: on

55
FindQwtPlot3D.cmake Normal file
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)

45
FindSignalView.cmake Normal file
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

32
FindVeerProtocols.cmake Normal file
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)