40 lines
1.2 KiB
CMake
40 lines
1.2 KiB
CMake
|
# Подключение внешних проектов
|
||
|
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
|