CMakeLists.txt 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. set(GTEST_ROOT "/usr/src/gtest" CACHE FILEPATH "Path to GTest CMake project")
  2. find_package(GTest)
  3. set(GTEST_DEPENDENCIES)
  4. if(NOT GTEST_FOUND AND EXISTS ${GTEST_ROOT})
  5. include(ExternalProject)
  6. ExternalProject_Add(gtest PREFIX ./gtest
  7. SOURCE_DIR ${GTEST_ROOT}
  8. INSTALL_COMMAND true)
  9. link_directories(${CMAKE_CURRENT_BINARY_DIR}/gtest/src/gtest-build)
  10. set(GTEST_LIBRARIES "-lgtest")
  11. set(GTEST_DEPENDENCIES "gtest")
  12. set(GTEST_FOUND TRUE)
  13. find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h)
  14. message(STATUS "Found GTest at ${GTEST_ROOT}, headers at ${GTEST_INCLUDE_DIRS}")
  15. endif()
  16. if(GTEST_FOUND)
  17. file(GLOB files gtest_runner.cc *-helpers.cc *_test.cc)
  18. add_executable(libapt_test ${files})
  19. target_include_directories(libapt_test PRIVATE ${GTEST_INCLUDE_DIRS})
  20. target_link_libraries(libapt_test ${GTEST_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} apt-private apt-inst)
  21. if (GTEST_DEPENDENCIES)
  22. add_dependencies(libapt_test ${GTEST_DEPENDENCIES})
  23. endif()
  24. add_test(NAME AptTests
  25. COMMAND libapt_test
  26. WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
  27. endif()