summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt20
-rw-r--r--lib/gtest/CMakeLists.txt1
2 files changed, 18 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7090d2d..b625cd2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -127,9 +127,25 @@ endif()
##
if(${TESTS})
+ # Google Mock
+ find_path(GMOCK_INCLUDE_DIR NAMES gmock.h PATH_SUFFIXES gmock)
+ find_path(GMOCK_SRC_DIR NAMES src/gmock-all.cc PATHS /usr/src/ PATH_SUFFIXES gmock)
# Google Test library
- set(GTEST_DIR "${colobot_SOURCE_DIR}/lib/gtest")
- add_subdirectory(lib/gtest bin/test)
+ find_path(GTEST_SRC_DIR NAMES src/gtest.cc src/gtest-all.cc PATHS /usr/src/ PATH_SUFFIXES gtest)
+ if(GTEST_SRC_DIR AND GMOCK_INCLUDE_DIR AND GMOCK_SRC_DIR)
+ include_directories(${GMOCK_SRC_DIR})
+ else(GTEST_SRC_DIR AND GMOCK_INCLUDE_DIR AND GMOCK_SRC_DIR)
+ set(GTEST_SRC_DIR lib/gtest)
+ set(GMOCK_SRC_DIR ${GTEST_SRC_DIR})
+ set(GMOCK_INCLUDE_DIR ${GTEST_SRC_DIR}/include/gmock)
+ include_directories(${GTEST_SRC_DIR} ${GTEST_SRC_DIR}/include/)
+ endif(GTEST_SRC_DIR AND GMOCK_INCLUDE_DIR AND GMOCK_SRC_DIR)
+
+ add_library(gmock STATIC ${GMOCK_SRC_DIR}/src/gmock-all.cc)
+ add_subdirectory(${GTEST_SRC_DIR} bin/test)
+
+ message(STATUS "Use Google Mock from ${GMOCK_SRC_DIR}")
+ message(STATUS "Use Google Test from ${GTEST_SRC_DIR}")
endif()
# Subdirectory with sources
diff --git a/lib/gtest/CMakeLists.txt b/lib/gtest/CMakeLists.txt
index 61813ae..1279f7d 100644
--- a/lib/gtest/CMakeLists.txt
+++ b/lib/gtest/CMakeLists.txt
@@ -7,4 +7,3 @@ add_definitions(-DGTEST_HAS_PTHREAD=0)
# gtest-all.cc includes all other sources
add_library(gtest STATIC src/gtest-all.cc)
-add_library(gmock STATIC src/gmock-all.cc)