Changeset View
Changeset View
Standalone View
Standalone View
data/CMakeLists.txt
Show All 16 Lines | 16 | set(defs | |||
---|---|---|---|---|---|
17 | ${src_defs} | 17 | ${src_defs} | ||
18 | ${CMAKE_CURRENT_BINARY_DIR}/html-php.xml | 18 | ${CMAKE_CURRENT_BINARY_DIR}/html-php.xml | ||
19 | ${CMAKE_CURRENT_BINARY_DIR}/css-php.xml | 19 | ${CMAKE_CURRENT_BINARY_DIR}/css-php.xml | ||
20 | ${CMAKE_CURRENT_BINARY_DIR}/javascript-php.xml | 20 | ${CMAKE_CURRENT_BINARY_DIR}/javascript-php.xml | ||
21 | ) | 21 | ) | ||
22 | 22 | | |||
23 | # generate the resource file | 23 | # generate the resource file | ||
24 | set(qrc_file ${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc) | 24 | set(qrc_file ${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc) | ||
25 | file(REMOVE ${qrc_file}) | 25 | set(qrc_body "") | ||
26 | file(APPEND ${qrc_file} "<!DOCTYPE RCC>\n") | | |||
27 | file(APPEND ${qrc_file} "<RCC version=\"1.0\">\n") | | |||
28 | file(APPEND ${qrc_file} "<qresource prefix=\"/org.kde.syntax-highlighting/syntax\">\n") | | |||
29 | foreach(def ${defs}) | 26 | foreach(def ${defs}) | ||
30 | get_filename_component(def_name ${def} NAME) | 27 | get_filename_component(def_name ${def} NAME) | ||
31 | file(APPEND ${qrc_file} "<file alias=\"${def_name}\">${def}</file>\n") | 28 | string(APPEND qrc_body "<file alias=\"${def_name}\">${def}</file>\n") | ||
32 | endforeach() | 29 | endforeach() | ||
33 | file(APPEND ${qrc_file} "<file alias=\"index.katesyntax\">${CMAKE_CURRENT_BINARY_DIR}/index.katesyntax</file>\n") | 30 | set(SYNTAX_DATA_QRC_FILES_STRING ${qrc_body}) | ||
34 | file(APPEND ${qrc_file} "</qresource>\n") | 31 | configure_file(syntax-data.qrc.in ${qrc_file} @ONLY) | ||
35 | file(APPEND ${qrc_file} "</RCC>\n") | | |||
36 | 32 | | |||
37 | # generate the index file | 33 | # generate the index file | ||
38 | add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/index.katesyntax" | 34 | add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/index.katesyntax" | ||
39 | COMMAND katehighlightingindexer "${CMAKE_CURRENT_BINARY_DIR}/index.katesyntax" "${CMAKE_CURRENT_SOURCE_DIR}/schema/language.xsd" "${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc" | 35 | COMMAND katehighlightingindexer "${CMAKE_CURRENT_BINARY_DIR}/index.katesyntax" "${CMAKE_CURRENT_SOURCE_DIR}/schema/language.xsd" "${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc" | ||
40 | DEPENDS ${defs} ${CMAKE_CURRENT_SOURCE_DIR}/schema/language.xsd ${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc | 36 | DEPENDS ${defs} ${CMAKE_CURRENT_SOURCE_DIR}/schema/language.xsd ${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc | ||
41 | ) | 37 | ) | ||
42 | 38 | | |||
43 | # generate the qrc file manually, to make dependencies on generated files work... | 39 | # generate the qrc file manually, to make dependencies on generated files work... | ||
44 | add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/qrc_syntax-data.cpp" | 40 | add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/qrc_syntax-data.cpp" | ||
45 | COMMAND ${Qt5Core_RCC_EXECUTABLE} --name syntax_data -o "${CMAKE_CURRENT_BINARY_DIR}/qrc_syntax-data.cpp" "${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc" | 41 | COMMAND ${Qt5Core_RCC_EXECUTABLE} --name syntax_data -o "${CMAKE_CURRENT_BINARY_DIR}/qrc_syntax-data.cpp" "${CMAKE_CURRENT_BINARY_DIR}/syntax-data.qrc" | ||
46 | DEPENDS ${defs} ${CMAKE_CURRENT_BINARY_DIR}/index.katesyntax | 42 | DEPENDS ${defs} ${CMAKE_CURRENT_BINARY_DIR}/index.katesyntax | ||
47 | ) | 43 | ) | ||
48 | 44 | | |||
49 | # dummy static lib to make cross-folder dependencies work | 45 | # dummy static lib to make cross-folder dependencies work | ||
50 | add_library(SyntaxHighlightingData STATIC ${CMAKE_CURRENT_BINARY_DIR}/qrc_syntax-data.cpp) | 46 | add_library(SyntaxHighlightingData STATIC ${CMAKE_CURRENT_BINARY_DIR}/qrc_syntax-data.cpp) | ||
51 | target_link_libraries(SyntaxHighlightingData LINK_PRIVATE Qt5::Core) | 47 | target_link_libraries(SyntaxHighlightingData LINK_PRIVATE Qt5::Core) |