cmake-find/FindPreprocThirdparty.cmake

38 lines
1.3 KiB
CMake

# Подключение внешних проектов
include(ExternalProject)
# cmake-format: off
list(APPEND _ext_project_args
libpreproc
DEPENDS libpreprocmath
SOURCE_DIR ${CMAKE_SOURCE_DIR}/thirdparty/libpreproc
INSTALL_DIR ${CMAKE_BINARY_DIR}
DOWNLOAD_COMMAND ""
CONFIGURE_COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}"
-DLIBPREPROCMATH_PREFIX=${CMAKE_BINARY_DIR}
-DCMLIB_MAIN_DIR=${CMLIB_MAIN_DIR}
${CMLIB_EXT_PROJ_DEFAULT_ARGS} <SOURCE_DIR>)
if(PreprocThirdparty_FIND_COMPONENTS STREQUAL "headers")
list(APPEND _ext_project_args
BUILD_COMMAND true
INSTALL_COMMAND ${CMAKE_MAKE_PROGRAM} preproc-install-headers)
endif()
ExternalProject_Add(${_ext_project_args})
unset(_ext_project_args)
set(LIBPREPROC_IS_EXTERNAL_PROJECT ON CACHE BOOL "" FORCE)
# cmake-format: on
set(LIBPREPROC_PREFIX
${CMAKE_BINARY_DIR}
CACHE FILEPATH "" FORCE)
set(LIBPREPROC_INCLUDE_DIRS
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}
CACHE PATH "" FORCE)
set(LIBPREPROC_LIBRARY_DIR
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}
CACHE PATH "" FORCE)
set(LIBPREPROC_LIBRARY
${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}/libpreproc.a
CACHE FILEPATH "" FORCE)