aboutsummaryrefslogtreecommitdiff
path: root/data/CMakeLists.txt
blob: e64015b97fd034e4767986a0ac5150e8a4c651a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#
# files containing dictionary of useful projection
#

set(PROJ_DICTIONARY  null
                     world
                     other.extra
                     nad27
                     GL27
                     nad83
                     nad.lst
                     CH
                     ITRF2000
                     ITRF2008
                     ITRF2014 )

#
# gridshift file
#

file(GLOB GSB_FILES  *.gsb)
file(GLOB GTX_FILES  *.gtx)
set(GRIDSHIFT_FILES ${GSB_FILES} ${GTX_FILES})

set(ALL_SQL_IN "${CMAKE_CURRENT_BINARY_DIR}/all.sql.in")
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
    # 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"
    VERBATIM
)

add_custom_target(generate_proj_db ALL DEPENDS ${PROJ_DB})

if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
    foreach(FILE ${PROJ_DICTIONARY}
                 ${GRIDSHIFT_FILES}
                 ${GEOID_FILES})
        configure_file(${FILE} ${FILE} COPYONLY)
    endforeach()
endif()

#
#install
#
set(ALL_DATA_FILE ${PROJ_DICTIONARY}
                  ${GRIDSHIFT_FILES}
                  ${GEOID_FILES}
                  ${PROJ_DB})
install(FILES ${ALL_DATA_FILE}
        DESTINATION ${DATADIR})