Divide codegen cmake scripts.
This commit is contained in:
parent
ab76dcd087
commit
d32f772e52
4 changed files with 57 additions and 63 deletions
|
|
@ -1,7 +1,9 @@
|
||||||
add_library(lib_ui OBJECT)
|
add_library(lib_ui OBJECT)
|
||||||
init_target(lib_ui)
|
init_target(lib_ui)
|
||||||
|
|
||||||
|
include(cmake/generate_palette.cmake)
|
||||||
include(cmake/generate_styles.cmake)
|
include(cmake/generate_styles.cmake)
|
||||||
|
include(cmake/generate_emoji.cmake)
|
||||||
|
|
||||||
get_filename_component(src_loc . REALPATH)
|
get_filename_component(src_loc . REALPATH)
|
||||||
|
|
||||||
|
|
|
||||||
23
cmake/generate_emoji.cmake
Normal file
23
cmake/generate_emoji.cmake
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
function(generate_emoji target_name suggestions_json)
|
||||||
|
set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
|
||||||
|
set(gen_src ${CMAKE_CURRENT_SOURCE_DIR}/${suggestions_json})
|
||||||
|
set(generated_files
|
||||||
|
${gen_dst}/emoji.cpp
|
||||||
|
${gen_dst}/emoji.h
|
||||||
|
${gen_dst}/emoji_suggestions_data.cpp
|
||||||
|
${gen_dst}/emoji_suggestions_data.h
|
||||||
|
)
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT
|
||||||
|
${generated_files}
|
||||||
|
COMMAND
|
||||||
|
codegen_emoji
|
||||||
|
-o${gen_dst}
|
||||||
|
${gen_src}
|
||||||
|
COMMENT "Generating emoji (${target_name})"
|
||||||
|
DEPENDS
|
||||||
|
codegen_emoji
|
||||||
|
${gen_src}
|
||||||
|
)
|
||||||
|
generate_target(${target_name} emoji "${generated_files}" ${gen_dst})
|
||||||
|
endfunction()
|
||||||
25
cmake/generate_palette.cmake
Normal file
25
cmake/generate_palette.cmake
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
function(generate_palette target_name palette_file)
|
||||||
|
set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
|
||||||
|
set(gen_src ${CMAKE_CURRENT_SOURCE_DIR}/${palette_file})
|
||||||
|
set(generated_files
|
||||||
|
${gen_dst}/styles/palette.cpp
|
||||||
|
${gen_dst}/styles/palette.h
|
||||||
|
)
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT
|
||||||
|
${generated_files}
|
||||||
|
COMMAND
|
||||||
|
codegen_style
|
||||||
|
-I${gen_dst}
|
||||||
|
-o${gen_dst}/styles
|
||||||
|
-w${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
${gen_src}
|
||||||
|
COMMENT "Generating palette (${target_name})"
|
||||||
|
DEPENDS
|
||||||
|
codegen_style
|
||||||
|
${gen_src}
|
||||||
|
MAIN_DEPENDENCY
|
||||||
|
${gen_src}
|
||||||
|
)
|
||||||
|
generate_target(${target_name} palette "${generated_files}" ${gen_dst})
|
||||||
|
endfunction()
|
||||||
|
|
@ -1,45 +1,13 @@
|
||||||
function(append_generate_target target_name postfix generated_files gen_dst)
|
|
||||||
add_custom_target(${target_name}_${postfix} DEPENDS ${generated_files})
|
|
||||||
init_target(${target_name}_${postfix} "(gen)")
|
|
||||||
add_dependencies(${target_name} ${target_name}_${postfix})
|
|
||||||
target_sources(${target_name} PRIVATE ${generated_files})
|
|
||||||
target_include_directories(${target_name} PUBLIC ${gen_dst})
|
|
||||||
source_group("(gen)" FILES ${generated_files})
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
function(generate_palette target_name palette_file)
|
|
||||||
set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
|
|
||||||
set(gen_src ${CMAKE_CURRENT_SOURCE_DIR}/${palette_file})
|
|
||||||
set(generated_files
|
|
||||||
${gen_dst}/styles/palette.cpp
|
|
||||||
${gen_dst}/styles/palette.h
|
|
||||||
)
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT
|
|
||||||
${generated_files}
|
|
||||||
COMMAND
|
|
||||||
codegen_style
|
|
||||||
-I${gen_dst}
|
|
||||||
-o${gen_dst}/styles
|
|
||||||
-w${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
${gen_src}
|
|
||||||
COMMENT "Generating palette (${target_name})"
|
|
||||||
DEPENDS
|
|
||||||
codegen_style
|
|
||||||
${gen_src}
|
|
||||||
MAIN_DEPENDENCY
|
|
||||||
${gen_src}
|
|
||||||
)
|
|
||||||
append_generate_target(${target_name} palette "${generated_files}" ${gen_dst})
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
function(generate_styles target_name src_loc style_files dependent_style_files)
|
function(generate_styles target_name src_loc style_files dependent_style_files)
|
||||||
set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
|
set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
|
||||||
set(full_generated_files "")
|
set(full_generated_files "")
|
||||||
set(full_dependencies_list ${style_files})
|
set(full_dependencies_list ${dependent_style_files})
|
||||||
list(APPEND full_dependencies_list ${dependent_style_files})
|
|
||||||
foreach (file ${style_files})
|
foreach (file ${style_files})
|
||||||
set(gen_src ${CMAKE_CURRENT_SOURCE_DIR}/${file})
|
list(APPEND full_dependencies_list ${src_loc}/${file})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
foreach (file ${style_files})
|
||||||
|
set(gen_src ${src_loc}/${file})
|
||||||
get_filename_component(file_name ${file} NAME_WLE)
|
get_filename_component(file_name ${file} NAME_WLE)
|
||||||
set(generated_files
|
set(generated_files
|
||||||
${gen_dst}/styles/style_${file_name}.cpp
|
${gen_dst}/styles/style_${file_name}.cpp
|
||||||
|
|
@ -66,29 +34,5 @@ function(generate_styles target_name src_loc style_files dependent_style_files)
|
||||||
)
|
)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
append_generate_target(${target_name} styles "${full_generated_files}" ${gen_dst})
|
generate_target(${target_name} styles "${full_generated_files}" ${gen_dst})
|
||||||
endfunction()
|
|
||||||
|
|
||||||
function(generate_emoji target_name suggestions_json)
|
|
||||||
set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
|
|
||||||
set(gen_src ${CMAKE_CURRENT_SOURCE_DIR}/${suggestions_json})
|
|
||||||
set(generated_files
|
|
||||||
${gen_dst}/emoji.cpp
|
|
||||||
${gen_dst}/emoji.h
|
|
||||||
${gen_dst}/emoji_suggestions_data.cpp
|
|
||||||
${gen_dst}/emoji_suggestions_data.h
|
|
||||||
)
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT
|
|
||||||
${generated_files}
|
|
||||||
COMMAND
|
|
||||||
codegen_emoji
|
|
||||||
-o${gen_dst}
|
|
||||||
${gen_src}
|
|
||||||
COMMENT "Generating emoji (${target_name})"
|
|
||||||
DEPENDS
|
|
||||||
codegen_emoji
|
|
||||||
${gen_src}
|
|
||||||
)
|
|
||||||
append_generate_target(${target_name} emoji "${generated_files}" ${gen_dst})
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue