aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/CMakeLists.txt28
-rw-r--r--data/Makefile.am29
2 files changed, 56 insertions, 1 deletions
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
index 8f3965f2..f0e1dab6 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -44,6 +44,7 @@ add_custom_command(
OUTPUT ${PROJ_DB}
COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJ_DB}
COMMAND ${EXE_SQLITE3} -init ${ALL_SQL_IN} ${PROJ_DB} .quit
+ COMMAND ${CMAKE_COMMAND} -E copy ${PROJ_DB} ${CMAKE_CURRENT_BINARY_DIR}/for_tests
# note: we didn't port yet the foreign_key_check done in Makefile.am
DEPENDS generate_all_sql_in ${ALL_SQL_IN}
COMMENT "Generating proj.db"
@@ -58,6 +59,33 @@ if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
endforeach()
endif()
+# Copy select resource files in a for_tests subdirectory so that we are not
+# influenced by the presence of other grids
+# Note: this is done at configure/cmake time, not build time.
+# So if you install new grids in the source data/ subdirectory, run cmake again
+set(DATA_FOR_TESTS
+ null
+ GL27
+ nad27
+ nad83
+ ntv1_can.dat
+ MD
+ ntf_r93.gsb
+ egm96_15.gtx
+ ntv2_0.gsb
+ conus
+ alaska
+ nzgd2kgrid0005.gsb
+ ITRF2000
+ BETA2007.gsb)
+
+execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/for_tests)
+foreach(FILE ${DATA_FOR_TESTS})
+ if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${FILE} ${CMAKE_CURRENT_BINARY_DIR}/for_tests/${FILE} COPYONLY)
+ endif()
+endforeach()
+
#
#install
#
diff --git a/data/Makefile.am b/data/Makefile.am
index e7c38d7c..7e822381 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -96,12 +96,39 @@ proj.db: $(DATAPATH)/sql/*.sql
fi
# For out-of-tree builds, link all file of the source data dir to the generated data
+# Also link select resource files in a for_tests subdirectory so that we are not
+# influenced by the presence of other grids
check-local:
@if [ ! -f GL27 ]; then \
for x in $(DATAPATH)/*; do \
ln -sf $$x .; \
done \
- fi
+ fi; \
+ rm -rf for_tests; \
+ mkdir for_tests; \
+ for x in $(DATAPATH)/null \
+ $(DATAPATH)/GL27 \
+ $(DATAPATH)/nad27 \
+ $(DATAPATH)/nad83 \
+ $(DATAPATH)/ntv1_can.dat \
+ $(DATAPATH)/MD \
+ $(DATAPATH)/ntf_r93.gsb \
+ $(DATAPATH)/egm96_15.gtx \
+ $(DATAPATH)/ntv2_0.gsb \
+ $(DATAPATH)/conus \
+ $(DATAPATH)/alaska \
+ $(DATAPATH)/nzgd2kgrid0005.gsb \
+ $(DATAPATH)/ITRF2000 \
+ $(DATAPATH)/BETA2007.gsb; \
+ do \
+ if test -f "$$x" ; then \
+ ln -sf "../$$x" for_tests; \
+ else \
+ echo "WARNING: grid $$x missing: some tests will be skipped"; \
+ fi \
+ done; \
+ ln -sf ../proj.db for_tests
clean-local:
$(RM) proj.db
+ $(RM) -rf for_tests