diff options
Diffstat (limited to 'data')
| -rw-r--r-- | data/CMakeLists.txt | 28 | ||||
| -rw-r--r-- | data/Makefile.am | 29 |
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 |
