Dakota Hawkins | 759ef7c | 2018-07-24 11:06:55 -0400 | [diff] [blame^] | 1 | cmake_minimum_required(VERSION 2.8.8) |
Fábio Junqueira | 4a0b77f | 2015-11-11 18:29:41 -0200 | [diff] [blame] | 2 | |
Joel Laity | 568958e | 2017-08-03 15:50:45 +1200 | [diff] [blame] | 3 | if (POLICY CMP0048) |
Manuel VIVES | b68f1e7 | 2017-08-02 21:03:13 -0400 | [diff] [blame] | 4 | cmake_policy(SET CMP0048 NEW) |
Joel Laity | 568958e | 2017-08-03 15:50:45 +1200 | [diff] [blame] | 5 | endif (POLICY CMP0048) |
Manuel VIVES | b68f1e7 | 2017-08-02 21:03:13 -0400 | [diff] [blame] | 6 | |
Dakota Hawkins | 759ef7c | 2018-07-24 11:06:55 -0400 | [diff] [blame^] | 7 | project(googletest-distribution) |
| 8 | set(GOOGLETEST_VERSION 1.9.0) |
Fábio Junqueira | 4a0b77f | 2015-11-11 18:29:41 -0200 | [diff] [blame] | 9 | |
| 10 | enable_testing() |
| 11 | |
Matthew Woehlke | 0e8e0e0 | 2017-08-09 15:29:36 -0400 | [diff] [blame] | 12 | include(CMakeDependentOption) |
Dakota Hawkins | 759ef7c | 2018-07-24 11:06:55 -0400 | [diff] [blame^] | 13 | include(GNUInstallDirs) |
Matthew Woehlke | 0e8e0e0 | 2017-08-09 15:29:36 -0400 | [diff] [blame] | 14 | |
Fábio Junqueira | 4a0b77f | 2015-11-11 18:29:41 -0200 | [diff] [blame] | 15 | option(BUILD_GTEST "Builds the googletest subproject" OFF) |
| 16 | |
| 17 | #Note that googlemock target already builds googletest |
| 18 | option(BUILD_GMOCK "Builds the googlemock subproject" ON) |
Matthew Woehlke | 9469fb6 | 2017-08-16 10:49:06 -0400 | [diff] [blame] | 19 | |
| 20 | cmake_dependent_option(INSTALL_GTEST "Enable installation of googletest. (Projects embedding googletest may want to turn this OFF.)" ON "BUILD_GTEST OR BUILD_GMOCK" OFF) |
Matthew Woehlke | 0e8e0e0 | 2017-08-09 15:29:36 -0400 | [diff] [blame] | 21 | cmake_dependent_option(INSTALL_GMOCK "Enable installation of googlemock. (Projects embedding googlemock may want to turn this OFF.)" ON "BUILD_GMOCK" OFF) |
Fábio Junqueira | 4a0b77f | 2015-11-11 18:29:41 -0200 | [diff] [blame] | 22 | |
Dakota Hawkins | 759ef7c | 2018-07-24 11:06:55 -0400 | [diff] [blame^] | 23 | if(WIN32) |
| 24 | set(INSTALL_CMAKE_DIR "cmake" CACHE PATH "CMake exported targets") |
| 25 | else() |
| 26 | set(INSTALL_CMAKE_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/gtest" CACHE PATH "CMake exported targets") |
| 27 | endif() |
| 28 | |
| 29 | set(googletest_install_targets) |
Fábio Junqueira | 4a0b77f | 2015-11-11 18:29:41 -0200 | [diff] [blame] | 30 | if(BUILD_GMOCK) |
| 31 | add_subdirectory( googlemock ) |
| 32 | elseif(BUILD_GTEST) |
| 33 | add_subdirectory( googletest ) |
| 34 | endif() |
Dakota Hawkins | 759ef7c | 2018-07-24 11:06:55 -0400 | [diff] [blame^] | 35 | |
| 36 | if(googletest_install_targets) |
| 37 | include(CMakePackageConfigHelpers) |
| 38 | configure_package_config_file( |
| 39 | "${CMAKE_CURRENT_LIST_DIR}/cmake/googletestConfig.cmake.in" |
| 40 | "${CMAKE_CURRENT_BINARY_DIR}/googletestConfig.cmake" |
| 41 | INSTALL_DESTINATION "${INSTALL_CMAKE_DIR}") |
| 42 | write_basic_package_version_file( |
| 43 | ${CMAKE_CURRENT_BINARY_DIR}/googletestConfigVersion.cmake |
| 44 | VERSION "${GOOGLETEST_VERSION}" |
| 45 | COMPATIBILITY SameMajorVersion) |
| 46 | install(FILES |
| 47 | ${CMAKE_CURRENT_BINARY_DIR}/googletestConfig.cmake |
| 48 | ${CMAKE_CURRENT_BINARY_DIR}/googletestConfigVersion.cmake |
| 49 | DESTINATION "${INSTALL_CMAKE_DIR}") |
| 50 | endif() |