rapidjson/CMakeModules/FindGTestSrc.cmake
Andrii Senkovych 04b673686a Introduce option to select default gtest installation. Refs #309
This will introduce RAPIDJSON_BUILD_THIRDPARTY_GTEST option. If it is set to
TRUE, cmake will look for GTest installation in `thirdparty/gtest` before
looking in other places.

Current default value (OFF) for RAPIDJSON_BUILD_THIRDPARTY_GTEST represents
previous behaviour when system-wide gtest installation is used whenever
possible.

This commit will as well eliminate problem described in #309 when source
directory found is `thirdparty/gtest` while include files are found
system-wide. This however won't give the user possibility to select gtest
installation to use.
2015-04-21 13:33:44 +03:00

30 lines
808 B
CMake

SET(GTEST_SEARCH_PATH
"${GTEST_SOURCE_DIR}"
"${CMAKE_SOURCE_DIR}/thirdparty/gtest")
IF(UNIX)
IF(RAPIDJSON_BUILD_THIRDPARTY_GTEST)
LIST(APPEND GTEST_SEARCH_PATH "/usr/src/gtest")
ELSE()
LIST(INSERT GTEST_SEARCH_PATH 1 "/usr/src/gtest")
ENDIF()
ENDIF()
FIND_PATH(GTEST_SOURCE_DIR
NAMES CMakeLists.txt src/gtest_main.cc
PATHS ${GTEST_SEARCH_PATH})
# Debian installs gtest include directory in /usr/include, thus need to look
# for include directory separately from source directory.
FIND_PATH(GTEST_INCLUDE_DIR
NAMES gtest/gtest.h
PATH_SUFFIXES include
HINTS ${GTEST_SOURCE_DIR}
PATHS ${GTEST_SEARCH_PATH})
INCLUDE(FindPackageHandleStandardArgs)
find_package_handle_standard_args(GTestSrc DEFAULT_MSG
GTEST_SOURCE_DIR
GTEST_INCLUDE_DIR)