Начало проекта
This commit is contained in:
41
MyxCMake/find/FindImitatorThirdparty.cmake
Normal file
41
MyxCMake/find/FindImitatorThirdparty.cmake
Normal file
@@ -0,0 +1,41 @@
|
||||
# Подключение внешних проектов
|
||||
include(ExternalProject)
|
||||
|
||||
set(IMITATOR_PREFIX
|
||||
${CMAKE_BINARY_DIR}
|
||||
CACHE FILEPATH "" FORCE)
|
||||
set(IMITATOR_INCLUDE_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(IMITATOR_INCLUDE_DIRS
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(IMITATOR_LIBRARY_DIR
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
|
||||
CACHE PATH "" FORCE)
|
||||
set(IMITATOR_LIBRARIES
|
||||
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libimitator.a
|
||||
CACHE FILEPATH "" FORCE)
|
||||
|
||||
# cmake-format: off
|
||||
list(APPEND _ext_project_args
|
||||
libimitator
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libimitator
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS ${CMLIB_EXT_PROJ_DEFAULT_ARGS}
|
||||
-DPREPROCMATH_PREFIX=${CMAKE_BINARY_DIR}
|
||||
-DMYXLIB_PREFIX=${CMAKE_BINARY_DIR}
|
||||
<SOURCE_DIR>)
|
||||
if(ImitatorThirdparty_FIND_COMPONENTS STREQUAL "headers")
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_COMMAND true
|
||||
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} imitator-install-headers)
|
||||
else()
|
||||
list(APPEND _ext_project_args
|
||||
BUILD_BYPRODUCTS ${IMITATOR_LIBRARIES})
|
||||
endif()
|
||||
ExternalProject_Add(${_ext_project_args})
|
||||
unset(_ext_project_args)
|
||||
|
||||
set(IMITATOR_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
|
||||
# cmake-format: on
|
Reference in New Issue
Block a user