Only build tests for proj package if required (#41065)

* Only build tests for proj package if required

Even if tests are not explictly required to be built, proj build them
anyway and tries to download Google Test.

* proj: fix name of test activation flag

* proj: Always set test activation flag

* proj: Patch test activation logic for versions 5.x
This commit is contained in:
Julien Cortial 2023-12-06 16:32:39 +01:00 committed by GitHub
parent 3e68aa0b2f
commit 013f0d3a13
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 0 deletions

View File

@ -85,6 +85,9 @@ class Proj(CMakePackage, AutotoolsPackage):
when="@7:7.2.1",
)
patch("proj.cmakelists.5.0.patch", when="@5.0")
patch("proj.cmakelists.5.1.patch", when="@5.1:5.2")
# https://proj.org/install.html#build-requirements
with when("build_system=cmake"):
depends_on("cmake@3.9:", when="@6:", type="build")
@ -137,6 +140,13 @@ def cmake_args(self):
]
if self.spec.satisfies("@6:") and self.pkg.run_tests:
args.append(self.define("USE_EXTERNAL_GTEST", True))
if self.spec.satisfies("@7:"):
test_flag = "BUILD_TESTING"
elif self.spec.satisfies("@5.1:"):
test_flag = "PROJ_TESTS"
else:
test_flag = "PROJ4_TESTS"
args.append(self.define(test_flag, self.pkg.run_tests))
return args

View File

@ -0,0 +1,12 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -149,5 +149,6 @@ add_subdirectory(nad)
add_subdirectory(src)
add_subdirectory(man)
add_subdirectory(cmake)
-add_subdirectory(test)
-
+if(PROJ4_TESTS)
+ add_subdirectory(test)
+endif(PROJ4_TESTS)

View File

@ -0,0 +1,12 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -159,5 +159,6 @@ add_subdirectory(nad)
add_subdirectory(src)
add_subdirectory(man)
add_subdirectory(cmake)
-add_subdirectory(test)
-
+if(PROJ_TESTS)
+ add_subdirectory(test)
+endif(PROJ_TESTS)