CMake test не отображается в тестовом проводнике при сборке g cc - PullRequest
0 голосов
/ 14 апреля 2020

В настоящее время изучаем тестирование windows и linux с помощью cmake. Я сделал небольшой проект, который хочу построить и протестировать на обоих. Строительство работает для меня. И я добавил зависимость для повышения теста, чтобы добавить очень простой тест.

Для windows этот тест отображается в обозревателе тестов Visual Studio, и я могу запустить его оттуда или использовать командную строку.
Для Linux, я могу запустить тестовый проект из командной строки, но мой тест не отображается в Test Explorer.

Вопрос

В настоящее время невозможно добавить буст-тест для сборки linux в Test Explorer в Visual Studio? Или что-то не так с моим подходом?

Я включу CMake тестового проекта ниже. Если вы хотите увидеть весь проект, пожалуйста, посетите https://github.com/gertkommer/BoostTestCmakeExample

Использование Visual Studio 2019 pro 16.5.3

cmake_minimum_required (VERSION 3.16)

find_package( Boost 1.70.0 REQUIRED COMPONENTS system filesystem unit_test_framework)
project(MyProject_test)

add_executable (${PROJECT_NAME} 
    "BoostTest_test.cpp" 
)
add_definitions(-DBOOST_TEST_DYN_LINK)

#set(BOOST_LIBRARIES Boost::unit_test_framework Boost::system Boost::filesystem)
if (WIN32)
    if (CMAKE_BUILD_TYPE MATCHES "Debug")
        set(BOOST_LIBRARIES ${Boost_LIBRARY_DIR_DEBUG}/boost_unit_test_framework-vc140-mt-gd.lib
        ${Boost_LIBRARY_DIR_DEBUG}/boost_system-vc140-mt-gd.lib
        ${Boost_LIBRARY_DIR_DEBUG}/boost_filesystem-vc140-mt-gd.lib
            )
    endif()
endif()
if(UNIX)
    set(BOOST_LIB_DIR ${Boost_LIBRARY_DIRS}/libboost_unit_test_framework.so)
    if (CMAKE_BUILD_TYPE MATCHES "Debug")
        set(BOOST_LIBRARIES ${Boost_LIBRARY_DIR_DEBUG}/libboost_unit_test_framework.so
        ${Boost_LIBRARY_DIR_DEBUG}/libboost_system.so
        ${Boost_LIBRARY_DIR_DEBUG}/libboost_filesystem.so
            )
    endif()
endif()

target_include_directories(${PROJECT_NAME}
    PUBLIC ${Boost_INCLUDE_DIR}
)

target_link_libraries(${PROJECT_NAME}
    ${BOOST_LIBRARIES}
    MyProject
)

add_test(MyBoostModule ${PROJECT_NAME})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...