diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2022-02-01 15:22:26 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2022-02-01 15:44:46 +0100 |
| commit | e3efedd7394a01e6c8511f6ac215e822d6fc5b62 (patch) | |
| tree | 38dbd976fed9e4def12ba6406d4f197759e76c4b /test | |
| parent | ab504340fc9cdca9044a9339acbb4e9ba0367bb6 (diff) | |
| download | PROJ-e3efedd7394a01e6c8511f6ac215e822d6fc5b62.tar.gz PROJ-e3efedd7394a01e6c8511f6ac215e822d6fc5b62.zip | |
Use external gtest by default when detected
Diffstat (limited to 'test')
| -rw-r--r-- | test/unit/CMakeLists.txt | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt index eb41a6c8..296f0bb4 100644 --- a/test/unit/CMakeLists.txt +++ b/test/unit/CMakeLists.txt @@ -1,11 +1,27 @@ # CMake configuration for PROJ unit tests -option(USE_EXTERNAL_GTEST "Compile against external GTest" OFF) +find_package(GTest 1.8.1) +if(GTest_FOUND) + option(USE_EXTERNAL_GTEST "Compile against external GTest" ON) +else() + option(USE_EXTERNAL_GTEST "Compile against external GTest" OFF) +endif() if(USE_EXTERNAL_GTEST) +if(NOT GTest_FOUND) + message(FATAL_ERROR "External GTest >= 1.8.1 not found") +endif() message(STATUS "Using external GTest") -find_package(GTest 1.8.1 CONFIG REQUIRED) + +# CMake < 3.20.0 uses GTest::GTest +# CMake >= 3.20 uses GTest::gtest, and deprecates GTest::GTest +# so for older CMake, create an alias from GTest::GTest to GTest::gtest +if(NOT TARGET GTest::gtest) + add_library(GTest::gtest INTERFACE IMPORTED) + set_target_properties(GTest::gtest PROPERTIES + INTERFACE_LINK_LIBRARIES "GTest::GTest") +endif() else() |
