aboutsummaryrefslogtreecommitdiff
path: root/data/CMakeLists.txt
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2021-03-26 12:49:35 +0100
committerGitHub <noreply@github.com>2021-03-26 12:49:35 +0100
commit14ce3d9fa8700b4c0aa035c86a7e55af905dbf28 (patch)
treeddddb044f8eaaa9c7f0b49cb03f049c24a1a76f3 /data/CMakeLists.txt
parent969ae0712c45b176c3097f5f7e3e5aeb4873c878 (diff)
downloadPROJ-14ce3d9fa8700b4c0aa035c86a7e55af905dbf28.tar.gz
PROJ-14ce3d9fa8700b4c0aa035c86a7e55af905dbf28.zip
Build: simplify proj.db generation (#2605)
- change foreign key check, so that it is enabled outside of the transaction where we insert things, and can make the sqlite3 process fail in case of violations, without the postcheck done in the autoconf build - autoconf and cmake builds: simplification related to the above (which also means that cmake builds now have the fkey check, which was omitted until now)
Diffstat (limited to 'data/CMakeLists.txt')
-rw-r--r--data/CMakeLists.txt19
1 files changed, 4 insertions, 15 deletions
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
index 6b8a97ed..613dab42 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -34,24 +34,13 @@ set(PROJ_DB "${CMAKE_CURRENT_BINARY_DIR}/proj.db")
include(sql_filelist.cmake)
add_custom_command(
- OUTPUT ${ALL_SQL_IN}
- COMMAND ${CMAKE_COMMAND} "-DALL_SQL_IN=${ALL_SQL_IN}"
- -P "${CMAKE_CURRENT_SOURCE_DIR}/generate_all_sql_in.cmake"
- WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
- DEPENDS ${SQL_FILES}
- COMMENT "Generating all.sql.in"
- VERBATIM
-)
-
-add_custom_target(generate_all_sql_in ALL DEPENDS ${ALL_SQL_IN})
-
-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} "-DALL_SQL_IN=${ALL_SQL_IN}" "-DEXE_SQLITE3=${EXE_SQLITE3}" "-DPROJ_DB=${PROJ_DB}"
+ -P "${CMAKE_CURRENT_SOURCE_DIR}/generate_proj_db.cmake"
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}
+ DEPENDS ${SQL_FILES} "${CMAKE_CURRENT_SOURCE_DIR}/generate_proj_db.cmake"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
COMMENT "Generating proj.db"
VERBATIM
)