Skip to content

Commit df8e98a

Browse files
authored
Merge pull request OSGeo#3762 from rouault/ad660a83982ec1cf85320f19036efbc16c9f00a1_fix
Fix proj-config.cmake to not try including proj4-targets.cmake in INSTALL_LEGACY_CMAKE_FILES=OFF mode
2 parents ad8aff8 + c0cc3ab commit df8e98a

File tree

3 files changed

+25
-7
lines changed

3 files changed

+25
-7
lines changed

cmake/project-config.cmake.in

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ set_variable_from_rel_or_absolute_path("@PROJECT_VARIANT_NAME@_BINARY_DIRS" "${_
6363
set (@PROJECT_VARIANT_NAME@_LIBRARIES @PROJECT_VARIANT_NAME@::proj)
6464
# Read in the exported definition of the library
6565
include ("${_DIR}/@[email protected]")
66-
include ("${_DIR}/@[email protected]")
66+
if (@INSTALL_LEGACY_CMAKE_FILES@)
67+
include ("${_DIR}/@[email protected]")
68+
endif()
6769

6870
unset (_ROOT)
6971
unset (_DIR)

test/postinstall/test_cmake.sh

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,21 @@
55
# First required argument is the installed prefix, which
66
# is used to set CMAKE_PREFIX_PATH
77
# Second argument is either shared (default) or static
8+
# Third argument is either BOTH_CONFIG (default), to test both PROJ and PROJ4
9+
# CMake configurations, or PROJ_CONFIG to only test PROJ.
810
cd $(dirname $0)
911
. ./common.sh
1012
main_setup $1 $2
1113

12-
echo "Running post-install tests with CMake (${BUILD_MODE})"
14+
case $3 in
15+
"" | BOTH_CONFIG) export TESTED_CONFIGS=BOTH_CONFIG ;;
16+
PROJ_CONFIG) export TESTED_CONFIGS=PROJ_CONFIG ;;
17+
*)
18+
echo "Third argument must be either BOTH_CONFIG (default) or PROJ_CONFIG"
19+
exit 1 ;;
20+
esac
21+
22+
echo "Running post-install tests with CMake (${BUILD_MODE}, ${TESTED_CONFIGS})"
1323

1424

1525
cmake_make_ctest(){
@@ -28,13 +38,17 @@ cmake_make_ctest(){
2838
echo "Testing C app"
2939
cd c_app
3040
cmake_make_ctest PROJ
31-
cmake_make_ctest PROJ4
41+
if test "${TESTED_CONFIGS}" = "BOTH_CONFIG"; then
42+
cmake_make_ctest PROJ4
43+
fi
3244
cd ..
3345

3446
echo "Testing C++ app"
3547
cd cpp_app
3648
cmake_make_ctest PROJ
37-
cmake_make_ctest PROJ4
49+
if test "${TESTED_CONFIGS}" = "BOTH_CONFIG"; then
50+
cmake_make_ctest PROJ4
51+
fi
3852
cd ..
3953

40-
echo "Finished running post-install tests CMake (${BUILD_MODE})"
54+
echo "Finished running post-install tests CMake (${BUILD_MODE}, ${TESTED_CONFIGS})"

travis/install.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,13 @@ cd ..
9292
mkdir static_build
9393
cd static_build
9494
# Also test setting CMAKE_INSTALL_INCLUDEDIR/CMAKE_INSTALL_LIBDIR/CMAKE_INSTALL_BINDIR to absolute directories
95+
# and INSTALL_LEGACY_CMAKE_FILES=OFF (both are independent from static build particularities)
9596
cmake \
9697
-D CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
9798
-D USE_CCACHE=${USE_CCACHE} \
9899
-D PROJ_DB_CACHE_DIR=$HOME/.ccache \
99100
-D BUILD_SHARED_LIBS=OFF \
101+
-D INSTALL_LEGACY_CMAKE_FILES=OFF \
100102
-D CMAKE_INSTALL_PREFIX=/tmp/proj_static_install_from_dist \
101103
-D CMAKE_INSTALL_INCLUDEDIR=/tmp/proj_static_install_from_dist/include \
102104
-D CMAKE_INSTALL_LIBDIR=/tmp/proj_static_install_from_dist/lib \
@@ -107,7 +109,7 @@ make
107109
ctest --output-on-failure
108110
make install
109111
# find /tmp/proj_static_install_from_dist
110-
$TRAVIS_BUILD_DIR/test/postinstall/test_cmake.sh /tmp/proj_static_install_from_dist static
112+
$TRAVIS_BUILD_DIR/test/postinstall/test_cmake.sh /tmp/proj_static_install_from_dist static PROJ_CONFIG
111113
$TRAVIS_BUILD_DIR/test/postinstall/test_autotools.sh /tmp/proj_static_install_from_dist static
112114

113115
# Re-run by unsetting CMAKE_INSTALL_INCLUDEDIR/CMAKE_INSTALL_LIBDIR/CMAKE_INSTALL_BINDIR
@@ -209,7 +211,7 @@ else
209211
fi
210212

211213
$TRAVIS_BUILD_DIR/test/postinstall/test_cmake.sh /tmp/proj_shared_install_from_dist_renamed/subdir shared
212-
PROJ_DATA=/tmp/proj_static_install_from_dist_renamed/subdir/share/proj $TRAVIS_BUILD_DIR/test/postinstall/test_cmake.sh /tmp/proj_static_install_from_dist_renamed/subdir static
214+
PROJ_DATA=/tmp/proj_static_install_from_dist_renamed/subdir/share/proj $TRAVIS_BUILD_DIR/test/postinstall/test_cmake.sh /tmp/proj_static_install_from_dist_renamed/subdir static PROJ_CONFIG
213215

214216
if [ "$BUILD_NAME" != "linux_gcc8" -a "$BUILD_NAME" != "linux_gcc_32bit" ]; then
215217
echo "Build PROJ as a subproject"

0 commit comments

Comments
 (0)