diff options
Diffstat (limited to 'test/libapt/CMakeLists.txt')
-rw-r--r-- | test/libapt/CMakeLists.txt | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/libapt/CMakeLists.txt b/test/libapt/CMakeLists.txt new file mode 100644 index 000000000..f3df14848 --- /dev/null +++ b/test/libapt/CMakeLists.txt @@ -0,0 +1,33 @@ +set(GTEST_ROOT "/usr/src/gtest" CACHE FILEPATH "Path to GTest CMake project") + +find_package(GTest) +set(GTEST_DEPENDENCIES) + +if(NOT GTEST_FOUND AND EXISTS ${GTEST_ROOT}) + include(ExternalProject) + ExternalProject_Add(gtest PREFIX ./gtest + SOURCE_DIR ${GTEST_ROOT} + INSTALL_COMMAND true) + + link_directories(${CMAKE_CURRENT_BINARY_DIR}/gtest/src/gtest-build) + + set(GTEST_LIBRARIES "-lgtest") + set(GTEST_DEPENDENCIES "gtest") + set(GTEST_FOUND TRUE) + find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h) + + message(STATUS "Found GTest at ${GTEST_ROOT}, headers at ${GTEST_INCLUDE_DIRS}") +endif() + +if(GTEST_FOUND) + file(GLOB files gtest_runner.cc *-helpers.cc *_test.cc) + add_executable(libapt_test ${files}) + target_include_directories(libapt_test PRIVATE ${GTEST_INCLUDE_DIRS}) + target_link_libraries(libapt_test ${GTEST_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} apt-private apt-inst) + if (GTEST_DEPENDENCIES) + add_dependencies(libapt_test ${GTEST_DEPENDENCIES}) + endif() + add_test(NAME AptTests + COMMAND libapt_test + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) +endif() |