这是我的测试夹具:https://github.com/patrykbajos/ZinotEngine/blob/master/src/tests/core/MapResMgrTest.cpp。 我的可执行文件的CMake文件:https://github.com/patrykbajos/ZinotEngine/blob/master/ZinotEngine.cmake和所有可执行文件https://github.com/patrykbajos/ZinotEngine/blob/master/CMakeLists.txt的CMakeLists。我在Ubuntu上的apt-get软件包libgtest-dev中编译了gtest。接下来,我将* .so文件复制到/ usr / lib并安装了libgtest-dev packege,因为包含文件。我认为我的测试夹具是正确的。没有编译错误。我的执行官通常运行并显示:
/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。我正在使用Configuration: Debug
上的Build All
通过CLion编译我的项目。
答案 0 :(得分: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 ()
我虽然源文件的分隔符是空格但是它是分号。