summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEduard Braun <Eduard.Braun2@gmx.de>2017-06-15 22:47:53 +0000
committerEduard Braun <Eduard.Braun2@gmx.de>2017-06-16 14:33:25 +0000
commit6b8520e9e041186132efa0c2554bda863228b422 (patch)
treedb8f876a5e609f07c1e1cadee5144df18546419e
parentUse CMAKE_RUNTIME_OUTPUT_DIRECTORY instead of the old EXECUTABLE_OUTPUT_PATH ... (diff)
downloadinkscape-6b8520e9e041186132efa0c2554bda863228b422.tar.gz
inkscape-6b8520e9e041186132efa0c2554bda863228b422.zip
cmake: allow building with gtest 1.8.0 (already includes gmock)
-rw-r--r--CMakeLists.txt31
-rw-r--r--testfiles/CMakeLists.txt16
2 files changed, 24 insertions, 23 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b9c28926e..4f43b32a1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -99,21 +99,26 @@ option(ENABLE_BINRELOC "Enable relocatable binaries" OFF)
# -----------------------------------------------------------------------------
# Test Harness
# -----------------------------------------------------------------------------
-if(NOT GMOCK_DIR)
- find_path(GMOCK_DIR
- NAMES src/gmock.cc
- PATHS "$ENV{GMOCK_DIR}"
- "/usr/src/googletest/googlemock"
- "/usr/src/gmock"
- "${CMAKE_SOURCE_DIR}/gtest/gmock-1.7.0"
- )
-endif(NOT GMOCK_DIR)
-
-if(EXISTS "${GMOCK_DIR}" AND IS_DIRECTORY "${GMOCK_DIR}")
+find_package(gtest) # gtest 1.8.0 and later already include gmock
+if(GTEST_FOUND AND EXISTS "${GTEST_INCLUDE_DIR}/gmock" AND IS_DIRECTORY "${GTEST_INCLUDE_DIR}/gmock")
set(GMOCK_PRESENT ON)
else()
- set(GMOCK_PRESENT OFF)
- message("No gmock/gtest found! Perhaps you wish to run 'bash download-gtest.sh' to download it.")
+ unset(GTEST_FOUND)
+ if(NOT GMOCK_DIR)
+ find_path(GMOCK_DIR
+ NAMES src/gmock.cc
+ PATHS "$ENV{GMOCK_DIR}"
+ "/usr/src/googletest/googlemock"
+ "/usr/src/gmock"
+ "${CMAKE_SOURCE_DIR}/gtest/gmock-1.7.0"
+ )
+ endif(NOT GMOCK_DIR)
+ if(EXISTS "${GMOCK_DIR}" AND IS_DIRECTORY "${GMOCK_DIR}")
+ set(GMOCK_PRESENT ON)
+ else()
+ set(GMOCK_PRESENT OFF)
+ message("No gmock/gtest found! Perhaps you wish to run 'bash download-gtest.sh' to download it.")
+ endif()
endif()
include(CMakeScripts/DefineDependsandFlags.cmake) # Includes, Compiler Flags, and Link Libraries
diff --git a/testfiles/CMakeLists.txt b/testfiles/CMakeLists.txt
index 933d8478c..af200bea8 100644
--- a/testfiles/CMakeLists.txt
+++ b/testfiles/CMakeLists.txt
@@ -1,17 +1,13 @@
# -----------------------------------------------------------------------------
#
# -----------------------------------------------------------------------------
-add_subdirectory(${GMOCK_DIR} ${CMAKE_BINARY_DIR}/gmock)
+if(NOT GTEST_FOUND) # not required for gtest 1.8.0 and later
+ add_subdirectory(${GMOCK_DIR} ${CMAKE_BINARY_DIR}/gmock)
-include_directories(SYSTEM ${GMOCK_DIR}/gtest/include
- ${GMOCK_DIR}/include
- ${CMAKE_SOURCE_DIR}/gtest/gtest/include)
-
-set_source_files_properties(
- ${CMAKE_BINARY_DIR}/src/inkscape-version.cpp
- PROPERTIES GENERATED TRUE)
-
-include_directories(${CMAKE_BINARY_DIR}/src)
+ include_directories(SYSTEM ${GMOCK_DIR}/gtest/include
+ ${GMOCK_DIR}/include
+ ${CMAKE_SOURCE_DIR}/gtest/gtest/include)
+endif()
set(TEST_SOURCES
attributes-test