Generate all styles in one custom action.

This commit is contained in:
John Preston 2019-11-29 11:29:57 +03:00
parent 4b25cd30d1
commit 1c19e874bb
2 changed files with 26 additions and 29 deletions

View file

@ -18,6 +18,7 @@ function(generate_palette target_name palette_file)
codegen_style
-I${gen_dst}
-o${gen_dst}/styles
-t${gen_dst}/styles/palette
-w${CMAKE_CURRENT_SOURCE_DIR}
${gen_src}
COMMENT "Generating palette (${target_name})"

View file

@ -3,42 +3,38 @@ function(generate_styles target_name src_loc style_files dependent_style_files)
file(MAKE_DIRECTORY ${gen_dst})
set(full_generated_files "")
set(full_generation_sources "")
set(full_dependencies_list ${dependent_style_files})
foreach (file ${style_files})
list(APPEND full_dependencies_list ${src_loc}/${file})
endforeach()
foreach (file ${style_files})
set(gen_src ${src_loc}/${file})
list(APPEND full_generation_sources ${src_loc}/${file})
get_filename_component(file_name ${file} NAME_WLE)
set(generated_files
list(APPEND full_generated_files
${gen_dst}/styles/style_${file_name}.cpp
${gen_dst}/styles/style_${file_name}.h
${gen_dst}/styles/style_${file_name}.timestamp
)
list(APPEND full_generated_files ${generated_files})
endforeach()
list(APPEND full_dependencies_list ${full_generation_sources})
add_custom_command(
OUTPUT
${gen_dst}/styles/style_${file_name}.timestamp
${gen_dst}/styles/${target_name}_style.timestamp
BYPRODUCTS
${gen_dst}/styles/style_${file_name}.cpp
${gen_dst}/styles/style_${file_name}.h
${full_generated_files}
COMMAND
codegen_style
-I${src_loc}
-I${submodules_loc}/lib_ui
-I${submodules_loc}/Resources
-o${gen_dst}/styles
-t${gen_dst}/styles/${target_name}_style
-w${CMAKE_CURRENT_SOURCE_DIR}
${gen_src}
COMMENT "Generating style (${target_name}:${file_name})"
${full_generation_sources}
COMMENT "Generating styles (${target_name})"
DEPENDS
codegen_style
${full_dependencies_list}
MAIN_DEPENDENCY
${gen_src}
)
endforeach()
list(APPEND full_generated_files ${gen_dst}/styles/${target_name}_style.timestamp)
generate_target(${target_name} styles "${full_generated_files}" ${gen_dst})
endfunction()