macro(package_add_test TESTNAME) # create an exectuable in which the tests will be stored add_executable(${TESTNAME} ${ARGN}) # link the Google test infrastructure, mocking library, and a default main fuction to # the test executable. Remove g_test_main if writing your own main function. target_link_libraries(${TESTNAME} gtest gtest_main DIPE) # gtest_discover_tests replaces gtest_add_tests, # see https://cmake.org/cmake/help/v3.10/module/GoogleTest.html for more options to pass to it gtest_discover_tests(${TESTNAME} # set a working directory so your project root so that you can find test data via paths relative to the project root WORKING_DIRECTORY ${PROJECT_DIR} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${PROJECT_DIR}" ) set_target_properties(${TESTNAME} PROPERTIES FOLDER tests) endmacro() add_subdirectory(/usr/src/gtest gtest) package_add_test(testDIPE testDIPE.cpp) package_add_test(testSS testSS.cpp) package_add_test(testPBC testPBC.cpp)