mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-23 00:02:38 -05:00
34 lines
1.5 KiB
CMake
34 lines
1.5 KiB
CMake
##
|
|
# The ADD_QGIS_RESOURCES macro handles resource file installation
|
|
#
|
|
# - at build time it copies files to buildPath/output/data
|
|
# - at install time it installs the files into the qgis data folder (typically INSTALL_PREFIX/share/qgis)
|
|
#
|
|
# The SOURCE_PREFIX is the base path of all the files in the source folder (typically ${CMAKE_CURRENT_SOURCE_DIR})
|
|
# The TARGET_PREFIX is the subdirectory inside the data folder where files should be placed
|
|
# DEST_FILES is an output variable where a list of all generated files in the build folder is written to. This can be used to define a custom target
|
|
# The SOURCE_FILE_PATHS takes a list of files relative to SOURCE_PREFIX
|
|
##
|
|
MACRO(ADD_QGIS_RESOURCES SOURCE_PREFIX TARGET_PREFIX DEST_FILES SOURCE_FILE_PATHS)
|
|
|
|
# On build copy all resource files to build folder
|
|
FOREACH(RESOURCE_FILE ${SOURCE_FILE_PATHS})
|
|
ADD_CUSTOM_COMMAND(
|
|
OUTPUT "${CMAKE_BINARY_DIR}/output/data/${TARGET_PREFIX}/${RESOURCE_FILE}"
|
|
COMMAND ${CMAKE_COMMAND} -E copy
|
|
"${SOURCE_PREFIX}/${RESOURCE_FILE}"
|
|
"${CMAKE_BINARY_DIR}/output/data/${TARGET_PREFIX}/${RESOURCE_FILE}"
|
|
DEPENDS "${SOURCE_PREFIX}/${RESOURCE_FILE}"
|
|
)
|
|
LIST(APPEND ${DEST_FILES}
|
|
"${CMAKE_BINARY_DIR}/output/data/${TARGET_PREFIX}/${RESOURCE_FILE}")
|
|
ENDFOREACH(RESOURCE_FILE)
|
|
|
|
# Install resources to system resource folder
|
|
FOREACH(RESOURCE_FILE ${SOURCE_FILE_PATHS})
|
|
GET_FILENAME_COMPONENT(PATH_NAME "${TARGET_PREFIX}/${RESOURCE_FILE}" PATH)
|
|
INSTALL(FILES "${SOURCE_PREFIX}/${RESOURCE_FILE}" DESTINATION "${QGIS_DATA_DIR}/${PATH_NAME}")
|
|
ENDFOREACH()
|
|
|
|
ENDMACRO()
|