Как идиоматически вызывать ctest из директивы ExternalProject_Add? - PullRequest
0 голосов
/ 16 апреля 2019

Я использую 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
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...