# Подключение внешних проектов 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 ${MYX_CMAKE_EXTERNAL_PROJECT_ARGS} -DPREPROCMATH_PREFIX=${CMAKE_BINARY_DIR} -DMYXLIB_PREFIX=${CMAKE_BINARY_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