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 | |
| parent | ab504340fc9cdca9044a9339acbb4e9ba0367bb6 (diff) | |
| download | PROJ-e3efedd7394a01e6c8511f6ac215e822d6fc5b62.tar.gz PROJ-e3efedd7394a01e6c8511f6ac215e822d6fc5b62.zip | |
Use external gtest by default when detected
| -rwxr-xr-x | .github/workflows/clang_linux/start.sh | 2 | ||||
| -rw-r--r-- | test/unit/CMakeLists.txt | 20 |
2 files changed, 19 insertions, 3 deletions
diff --git a/.github/workflows/clang_linux/start.sh b/.github/workflows/clang_linux/start.sh index 3cb07c44..b0a5ac34 100755 --- a/.github/workflows/clang_linux/start.sh +++ b/.github/workflows/clang_linux/start.sh @@ -5,7 +5,7 @@ set -e apt-get update -y DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ sudo autoconf automake libtool clang++-10 python3-clang-10 make cmake ccache pkg-config tar zip \ - sqlite3 libsqlite3-dev libtiff-dev libcurl4-openssl-dev jq python3-pip nlohmann-json3-dev + sqlite3 libsqlite3-dev libtiff-dev libcurl4-openssl-dev jq python3-pip nlohmann-json3-dev libgtest-dev python3 -m pip install --user jsonschema export PATH=$HOME/.local/bin:$PATH 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() |
