Я написал следующее CMakeLists.txt
для того, чтобы построить тестер с помощью CxxTest (это почти стандартный пример обеспечивается FindCxxTest
):CMake не находит пакет CxxTest
cmake_minimum_required(VERSION 2.8)
project(tester)
set(CMAKE_INCLUDE_PATH "${CMAKE_CURRENT_SOURCE_DIR}")
find_package(CxxTest REQUIRED)
if(CXXTEST_FOUND)
include_directories(${CXXTEST_INCLUDE_DIR})
enable_testing()
CXXTEST_ADD_TEST(tester_executable runner.cpp
${CMAKE_CURRENT_SOURCE_DIR}/myTestsuite.h)
endif()
Проблема заключается в том, что CxxTest является не найден, хотя у меня есть папка cxxtest и файл cxxtest/TestSuite.h
внутри каталога, где существует CMakeLists.txt
.
Я уже изучил исходный код FindCxxTest.cmake
, чтобы увидеть, как далеко он доходит, но он даже не находит путь CXXTEST_INCLUDE_DIR
.
Должен ли я установить другой путь поиска или что-то еще? Я тестирую Windows.
Я пробовал ваше быстрое и грязное решение, но оно не работает. В примере моего вопроса я также установил переменную 'CMAKE_INCLUDE_PATH', но это тоже не помогло. – cwde
@cwde Дважды проверьте свои пути. В скрипте find используется 'find_path (CXXTEST_INCLUDE_DIR cxxtest/TestSuite.h)', который будет работать, если найден '$ {CMAKE_PREFIX_PATH}/cxxtest/TestSuite.h'. Обратите внимание, что это установит только переменную 'CXXTEST_INCLUDE_DIR' и ничего больше. В частности, 'CXXTEST_FOUND', скорее всего, по-прежнему будет ложным. Примените аналогичные исправления для отсутствующих компонентов до тех пор, пока не пройдет полный скрипт find. – ComicSansMS