QGIS/resources/CMakeLists.txt

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

108 lines
3.7 KiB
CMake
Raw Normal View History

2020-11-11 11:15:34 +01:00
include(CopyResources)
2019-10-04 19:11:10 +02:00
# Folders to install
2020-11-11 11:15:34 +01:00
file(GLOB_RECURSE CPT_CITY_QGIS_MIN_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} cpt-city-qgis-min/*)
file(GLOB_RECURSE THEMES_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} themes/*)
file(GLOB_RECURSE DATA_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} data/*)
file(GLOB_RECURSE METADATA_ISO_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} metadata-ISO/*)
file(GLOB_RECURSE PALETTES_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} palettes/*)
2019-10-04 19:11:10 +02:00
# Individual files to install (for srs.db, see below)
2020-11-11 11:15:34 +01:00
set(RESOURCES_FILES
2019-10-04 19:11:10 +02:00
qgis.db
symbology-style.xml
spatialite.db
customization.xml
2to3migration.txt
qgis_global_settings.ini
${CPT_CITY_QGIS_MIN_FILES}
${THEMES_FILES}
${DATA_FILES}
${METADATA_ISO_FILES}
${PALETTES_FILES}
)
2019-10-04 19:11:10 +02:00
# OpenCL, also install opencl_programs
2020-11-11 11:15:34 +01:00
if (HAVE_OPENCL)
file(GLOB_RECURSE OPENCL_PROGRAMS_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} opencl_programs/*)
set(RESOURCES_FILES ${RESOURCES_FILES} ${OPENCL_PROGRAMS_FILES})
endif()
2019-10-04 19:11:10 +02:00
# Server, also install server subdirectory
set(SERVER_DEST_RESOURCE_FILES "")
2020-11-11 11:15:34 +01:00
if (WITH_SERVER)
file(GLOB_RECURSE SERVER_RESOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} server/*)
add_qgis_resources("${CMAKE_CURRENT_SOURCE_DIR}" resources SERVER_DEST_RESOURCE_FILES "${SERVER_RESOURCE_FILES}")
endif()
# Server landingpage webapp
if (WITH_SERVER_LANDINGPAGE_WEBAPP)
find_program(YARN yarn REQUIRED)
2022-01-06 18:57:35 +01:00
file(GLOB_RECURSE LANDINGPAGE_SOURCE_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} server/src/landingpage/*)
set(LANDINGPAGE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/output/data/resources/server/src/landingpage)
add_custom_target (server_landingpage ALL DEPENDS ${LANDINGPAGE_OUTPUT_PATH}/landingpage.stamp)
# add_custom_command does not support OUTPUT_QUIET, so we need to make a cmake subcommand first:
file(WRITE ${CMAKE_BINARY_DIR}/yarn_commands.cmake
"execute_process(
COMMAND ${YARN} install --frozen-lockfile
WORKING_DIRECTORY ${LANDINGPAGE_OUTPUT_PATH}
OUTPUT_QUIET
ERROR_FILE ${CMAKE_BINARY_DIR}/yarn_error.log
RESULT_VARIABLE YARN_RESULT
)
if(NOT YARN_RESULT EQUAL 0)
file(READ ${CMAKE_BINARY_DIR}/yarn_error.log ERROR_CONTENTS)
message(FATAL_ERROR \${ERROR_CONTENTS})
endif()
execute_process(
COMMAND ${YARN} build
WORKING_DIRECTORY ${LANDINGPAGE_OUTPUT_PATH}
OUTPUT_QUIET
ERROR_FILE ${CMAKE_BINARY_DIR}/yarn_error.log
RESULT_VARIABLE YARN_RESULT
)
if(NOT YARN_RESULT EQUAL 0)
file(READ ${CMAKE_BINARY_DIR}/yarn_error.log ERROR_CONTENTS)
message(FATAL_ERROR \${ERROR_CONTENTS})
endif()
")
add_custom_command(
POST_BUILD
OUTPUT ${LANDINGPAGE_OUTPUT_PATH}/landingpage.stamp
DEPENDS ${LANDINGPAGE_SOURCE_FILES}
COMMAND ${CMAKE_COMMAND} -E copy_directory
${CMAKE_CURRENT_SOURCE_DIR}/server/src/landingpage/
${LANDINGPAGE_OUTPUT_PATH}/
COMMAND ${CMAKE_COMMAND} -E touch ${LANDINGPAGE_OUTPUT_PATH}/landingpage.stamp
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/yarn_commands.cmake
)
2020-11-11 11:15:34 +01:00
endif()
2019-10-04 19:11:10 +02:00
# Apple specific handling
2020-11-11 11:15:34 +01:00
if (APPLE)
# ASN.1 definition files of PKIX elements
2020-11-11 11:15:34 +01:00
set(RESOURCES_FILES ${RESOURCES_FILES} pkcs8.asn)
endif()
2019-10-04 19:11:10 +02:00
ADD_QGIS_RESOURCES("${CMAKE_CURRENT_SOURCE_DIR}" resources DEST_RESOURCE_FILES "${RESOURCES_FILES}")
2019-10-04 19:11:10 +02:00
set(SRSDB srs6.db)
2019-10-04 19:11:10 +02:00
2020-11-11 11:15:34 +01:00
add_custom_command(
2019-10-04 19:11:10 +02:00
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/srs.db"
2019-10-30 09:27:03 +01:00
COMMAND ${CMAKE_COMMAND} -E copy
2019-10-04 19:11:10 +02:00
"${CMAKE_CURRENT_SOURCE_DIR}/${SRSDB}"
"${CMAKE_CURRENT_BINARY_DIR}/srs.db"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${SRSDB}"
)
2020-11-11 11:15:34 +01:00
list(APPEND DEST_RESOURCE_FILES
2019-10-04 19:11:10 +02:00
"${CMAKE_CURRENT_BINARY_DIR}/srs.db")
2020-11-11 11:15:34 +01:00
install(FILES ${SRSDB} DESTINATION ${QGIS_DATA_DIR}/resources RENAME srs.db)
2019-10-04 19:11:10 +02:00
2024-10-27 11:11:09 +10:00
list(APPEND DEST_RESOURCE_FILES ${SERVER_DEST_RESOURCE_FILES})
2020-11-11 11:15:34 +01:00
add_custom_target(resources ALL DEPENDS ${DEST_RESOURCE_FILES})