# Download and unpack googletest at configure time CONFIGURE_FILE(GoogleTest.cmake googletest-download/CMakeLists.txt) EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" . RESULT_VARIABLE result WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download ) if(result) MESSAGE(FATAL_ERROR "CMake step for googletest failed: ${result}") endif() EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} --build . RESULT_VARIABLE result WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/googletest-download ) if(result) MESSAGE(FATAL_ERROR "Build step for googletest failed: ${result}") endif() # Prevent overriding the parent project's compiler/linker # settings on Windows SET(gtest_force_shared_crt ON CACHE BOOL "" FORCE) # Add googletest directly to our build. This defines # the gtest and gtest_main targets. ADD_SUBDIRECTORY(${CMAKE_CURRENT_BINARY_DIR}/googletest-src ${CMAKE_CURRENT_BINARY_DIR}/googletest-build EXCLUDE_FROM_ALL) # The gtest/gtest_main targets carry header search path # dependencies automatically when using CMake 2.8.11 or # later. Otherwise we have to add them here ourselves. if (CMAKE_VERSION VERSION_LESS 2.8.11) INCLUDE_DIRECTORIES("${gtest_SOURCE_DIR}/include") endif() FIND_LIBRARY(ZTP_LIBRARY libztp.so ${CMAKE_CURRENT_BINARY_DIR}/../) AUX_SOURCE_DIRECTORY(./test TEST_SRC) INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include) # Now simply link against gtest or gtest_main as needed. Eg add_executable(ztp_unit ${TEST_SRC}) #if(ZTP_LIBRARY_FOUND) target_link_libraries(ztp_unit ${ZTP_LIBRARY} ztp gtest_main) #else() #target_link_libraries(ztp_unit gtest_main ztp) #endif() add_test(NAME ztp_unit_test COMMAND ztp_unit)