2016-04-18 1 views
0

Это мое тестовое оборудование: https://github.com/patrykbajos/ZinotEngine/blob/master/src/tests/core/MapResMgrTest.cpp. Мой файл CMake для этого исполняемого файла: https://github.com/patrykbajos/ZinotEngine/blob/master/ZinotEngine.cmake и CMakeLists для всех исполняемых файлов https://github.com/patrykbajos/ZinotEngine/blob/master/CMakeLists.txt. Я скомпилировал gtest из источников в apt-get пакете libgtest-dev на Ubuntu. Затем я скопировал файлы * .so в/usr/lib и установил libgtest-dev packege, потому что включил файлы. Я думаю, что моя тестовая арматура правильная. Ошибок компиляции нет. Моя Exec запускает обычно и отображает:Тесты GoogleTest не начинаются

/home/patryk/ClionProjects/BennuEngine/bin/Debug/ZinotEngine 
[==========] Running 0 tests from 0 test cases. 
[==========] 0 tests from 0 test cases ran. (0 ms total) 
[ PASSED ] 0 tests. 
Hello world!!! 
Process finished with exit code 0 

Я добавил несколько строк в CMake файл, но я думаю, что это не добавляет * .cpp файлы, содержащие тесты для создания исполняемого файла. Вот эти строки:

# Sources 
file(GLOB_RECURSE ZINOTENGINE_SRC "src/zinot/core/*.c" "src/zinot/core/*.cpp") 
file(GLOB_RECURSE ZINOTENGINETESTS_SRC "src/tests/*.cpp") 

if (CMAKE_BUILD_TYPE EQUAL "Debug") 
    message("Debug << dodawanie testów.") 
    set(ZINOTENGINE_SRC "${ZINOTENGINE_SRC} ${ZINOTENGINETESTS_SRC}") 
endif() 

# Binary 
add_executable(ZinotEngine ${ZINOTENGINE_SRC}) 

Это все мое хранилище кода: https://github.com/patrykbajos/ZinotEngine.

PS. Я компилирую свой проект CLion с помощью Configuration: Debug на Build All.

ответ

0

Я нашел ошибку. Это было в:

if (CMAKE_BUILD_TYPE EQUAL "Debug") 
    message("Debug << dodawanie testów.") 
    set(ZINOTENGINE_SRC "${ZINOTENGINE_SRC} ${ZINOTENGINETESTS_SRC}") 
endif() 

Оно должно быть:

if (CMAKE_BUILD_TYPE MATCHES Debug) 
    #message("Debug << dodawanie testów.") 
    set(ZINOTENGINE_SRC "${ZINOTENGINE_SRC};${ZINOTENGINETESTS_SRC}") 
endif() 

Я, однако, что сепаратор исходных файлов пространство, но это точка с запятой.