Я использую ExternalProject_Add
() в своем проекте с библиотекой на основе CMake.
ExternalProject_Add(somelib
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/packages/somelib
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/somelib
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/somelib
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/packages/usr
TEST_COMMAND make test
DEPENDS something1 something2 something3
)
Но мне не нравится, как я звоню make test
в TEST_COMMAND
.Когда я не решаю использовать генератор Makefile или что-то подобное? Я мог бы предположить, что изменение его на TEST_COMMAND ${CTEST_COMMAND}
сработало бы. Но это не так. В других проектах я смог использовать INSTALL_COMMAND ${CMAKE_COMMAND} ARGS -E copy "somefile" "somedestination"
Нов этом случае ${CTEST_COMMAND}
ничего не делает.
Я представляю себе что-то вроде этого, когда закончите:
ExternalProject_Add(somelib
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/packages/somelib
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/somelib
BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/packages/somelib
CMAKE_ARGS
-DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/packages/usr
TEST_COMMAND ${CTEST_COMMAND}
DEPENDS something1 something2 something3
)