I have a very simple C++ library (one header file, one .cpp file). I want to write unit tests for this project using the Google C++ Testing Framework.
Here is the directory structure:
~/project1
|
|-- project1.cpp
|-- project1.h
|-- project1_unittests.cpp
\-- CMakeLists.txt
I do not plan to write my own main() function. I want to link with gtest_main as mentioned in the primer. What should CMakeLists.txt contain?
Enable CMake's built-in testing subsystem:
# For make-based builds, defines make target named test.
# For Visual Studio builds, defines Visual Studio project named RUN_TESTS.
enable_testing()
Compile an executable that will run your unit tests and link it with gtest and gtest_main:
add_executable(runUnitTests
project1_unittests.cpp
)
target_link_libraries(runUnitTests gtest gtest_main)
Add a test which runs this executable:
add_test(
NAME runUnitTests
COMMAND runUnitTests
)