cmake-find/FindPreprocThirdparty.cmake

42 lines
1.3 KiB
CMake
Raw Normal View History

2021-06-23 04:34:59 +00:00
# Подключение внешних проектов
include(ExternalProject)
2021-08-02 14:59:39 +00:00
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)
2021-06-24 07:20:21 +00:00
# cmake-format: off
list(APPEND _ext_project_args
libpreproc
DEPENDS libpreprocmath
2021-07-05 07:54:13 +00:00
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>)
2021-06-23 04:34:59 +00:00
if(PreprocThirdparty_FIND_COMPONENTS STREQUAL "headers")
2021-06-24 07:20:21 +00:00
list(APPEND _ext_project_args
2021-08-02 14:59:39 +00:00
BUILD_COMMAND true
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} preproc-install-headers)
else()
list(APPEND _ext_project_args
BUILD_BYPRODUCTS ${PREPROC_LIBRARIES})
2021-06-23 04:34:59 +00:00
endif()
ExternalProject_Add(${_ext_project_args})
2021-06-24 07:20:21 +00:00
unset(_ext_project_args)
2021-06-23 04:34:59 +00:00
set(PREPROC_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
2021-06-24 07:20:21 +00:00
# cmake-format: on