2015-08-29 5 views
0

Я пытаюсь следующий CMake cmakelist.txt файл для выполнения тестов для моего школьного проекта:CMake не исполняет cxxtestgen

cmake_minimum_required(VERSION 3.3) 
project(ex2) 

set(CMAKE_CXX_COMPILER "/usr/local/Cellar/gcc/5.2.0/bin/g++-5") 
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra -Wall -std=c++11") 

find_package(CxxTest) 
if(CXXTEST_FOUND) 
    include_directories(${CXXTEST_INCLUDE_DIR}) 
    enable_testing() 
    CXXTEST_ADD_TEST(bag_of_words_runner tests/bag_of_words_runner.cpp tests/BagOfWordsTests.h) 
    CXXTEST_ADD_TEST(parsing_runner tests/parsing_runner.cpp tests/ParsingTests.h) 
    target_link_libraries(bag_of_words_runner ex2) 
    target_link_libraries(parsing_runner ex2) 
endif() 

set(SOURCE_FILES MIR.cpp SongEntry.cpp BagOfWords.cpp Parameters.cpp parsing) 
add_executable(ex2 ${SOURCE_FILES}) 

Но я получаю следующее сообщение об ошибке:

luftzug$ cmake --build /Users/luftzug/Library/Caches/clion11/cmake/generated/c7799756/c7799756/Debug --target bag_of_words_runner -- -j 4[ 33%] Generating tests/bag_of_words_runner.cpp 
    File "/usr/local/bin/cxxtestgen", line 2 
    PYTHONPATH="/usr/local/Cellar/cxxtest/4.4/lib/python2.7/site-packages:/usr/local/Cellar/cxxtest/4.4/lib/python2.7/site-packages" exec "/usr/local/Cellar/cxxtest/4.4/libexec/bin/cxxtestgen" "[email protected]" 
                                     ^
SyntaxError: invalid syntax 
make[3]: *** [tests/bag_of_words_runner.cpp] Error 1 
make[2]: *** [CMakeFiles/bag_of_words_runner.dir/all] Error 2 
make[1]: *** [CMakeFiles/bag_of_words_runner.dir/rule] Error 2 
make: *** [bag_of_words_runner] Error 2 

я пытался запускать его за пределами CLion, чтобы это исключить. Я могу запустить cxxtestgen из командной строки без каких-либо проблем.

Любая идея или обходной путь? Мне нужно иметь возможность запускать эти модульные тесты, предпочтительно используя CMake (чтобы воспользоваться преимуществами его интеграции с CLion).

ответ

0

Бывает так, что FindCxxTest думал, что /usr/local/bin/cxxtestgen - это скрипт python. Однако это не так; возможно, раньше. Модуль cmake еще не обновлен. Вот временное исправление:

find_package(CxxTest) 
set(CXXTEST_TESTGEN_INTERPRETER bash) # FindCxxTest module bug 
CXXTEST_ADD_TEST(...) 
Смежные вопросы