44 lines
1.5 KiB
CMake
44 lines
1.5 KiB
CMake
function(generate_styles target_name src_loc style_files dependent_style_files)
|
|
set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
|
|
file(MAKE_DIRECTORY ${gen_dst})
|
|
|
|
set(full_generated_files "")
|
|
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})
|
|
get_filename_component(file_name ${file} NAME_WLE)
|
|
set(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})
|
|
add_custom_command(
|
|
OUTPUT
|
|
${gen_dst}/styles/style_${file_name}.timestamp
|
|
BYPRODUCTS
|
|
${gen_dst}/styles/style_${file_name}.cpp
|
|
${gen_dst}/styles/style_${file_name}.h
|
|
COMMAND
|
|
codegen_style
|
|
-I${src_loc}
|
|
-I${submodules_loc}/lib_ui
|
|
-I${submodules_loc}/Resources
|
|
-o${gen_dst}/styles
|
|
-w${CMAKE_CURRENT_SOURCE_DIR}
|
|
${gen_src}
|
|
COMMENT "Generating style (${target_name}:${file_name})"
|
|
DEPENDS
|
|
codegen_style
|
|
${full_dependencies_list}
|
|
MAIN_DEPENDENCY
|
|
${gen_src}
|
|
)
|
|
endforeach()
|
|
|
|
generate_target(${target_name} styles "${full_generated_files}" ${gen_dst})
|
|
endfunction()
|