Add generated files to dependent targets.

This commit is contained in:
John Preston 2019-12-03 18:26:12 +03:00
parent 1c19e874bb
commit fcb44b320c
4 changed files with 24 additions and 28 deletions

View file

@ -32,7 +32,8 @@ generate_emoji(lib_ui emoji_suggestions/emoji_autocomplete.json)
set_target_properties(lib_ui PROPERTIES AUTOMOC ON AUTORCC ON) set_target_properties(lib_ui PROPERTIES AUTOMOC ON AUTORCC ON)
set(lib_ui_sources target_precompile_headers(lib_ui PRIVATE ${src_loc}/ui/ui_pch.h)
nice_target_sources(lib_ui ${src_loc}
PRIVATE PRIVATE
${qrc_files} ${qrc_files}
${style_files} ${style_files}
@ -186,9 +187,6 @@ PRIVATE
emoji_suggestions/emoji_suggestions.h emoji_suggestions/emoji_suggestions.h
emoji_suggestions/emoji_suggestions_helper.h emoji_suggestions/emoji_suggestions_helper.h
) )
nice_target_sources(lib_ui ${src_loc} "${lib_ui_sources}")
target_precompile_headers(lib_ui PRIVATE ${src_loc}/ui/ui_pch.h)
target_include_directories(lib_ui target_include_directories(lib_ui
PUBLIC PUBLIC

View file

@ -2,22 +2,20 @@ function(generate_emoji target_name suggestions_json)
set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen) set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
file(MAKE_DIRECTORY ${gen_dst}) file(MAKE_DIRECTORY ${gen_dst})
set(gen_src ${CMAKE_CURRENT_SOURCE_DIR}/${suggestions_json}) set(gen_timestamp ${gen_dst}/emoji.timestamp)
set(generated_files set(gen_files
${gen_dst}/emoji.cpp ${gen_dst}/emoji.cpp
${gen_dst}/emoji.h ${gen_dst}/emoji.h
${gen_dst}/emoji_suggestions_data.cpp ${gen_dst}/emoji_suggestions_data.cpp
${gen_dst}/emoji_suggestions_data.h ${gen_dst}/emoji_suggestions_data.h
${gen_dst}/emoji.timestamp
) )
set(gen_src ${CMAKE_CURRENT_SOURCE_DIR}/${suggestions_json})
add_custom_command( add_custom_command(
OUTPUT OUTPUT
${gen_dst}/emoji.timestamp ${gen_timestamp}
BYPRODUCTS BYPRODUCTS
${gen_dst}/emoji.cpp ${gen_files}
${gen_dst}/emoji.h
${gen_dst}/emoji_suggestions_data.cpp
${gen_dst}/emoji_suggestions_data.h
COMMAND COMMAND
codegen_emoji codegen_emoji
-o${gen_dst} -o${gen_dst}
@ -27,5 +25,5 @@ function(generate_emoji target_name suggestions_json)
codegen_emoji codegen_emoji
${gen_src} ${gen_src}
) )
generate_target(${target_name} emoji "${generated_files}" ${gen_dst}) generate_target(${target_name} emoji ${gen_timestamp} "${gen_files}" ${gen_dst})
endfunction() endfunction()

View file

@ -2,18 +2,18 @@ function(generate_palette target_name palette_file)
set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen) set(gen_dst ${CMAKE_CURRENT_BINARY_DIR}/gen)
file(MAKE_DIRECTORY ${gen_dst}) file(MAKE_DIRECTORY ${gen_dst})
set(gen_src ${CMAKE_CURRENT_SOURCE_DIR}/${palette_file}) set(gen_timestamp ${gen_dst}/styles/palette.timestamp)
set(generated_files set(gen_files
${gen_dst}/styles/palette.cpp ${gen_dst}/styles/palette.cpp
${gen_dst}/styles/palette.h ${gen_dst}/styles/palette.h
${gen_dst}/styles/palette.timestamp
) )
set(gen_src ${CMAKE_CURRENT_SOURCE_DIR}/${palette_file})
add_custom_command( add_custom_command(
OUTPUT OUTPUT
${gen_dst}/styles/palette.timestamp ${gen_timestamp}
BYPRODUCTS BYPRODUCTS
${gen_dst}/styles/palette.cpp ${gen_files}
${gen_dst}/styles/palette.h
COMMAND COMMAND
codegen_style codegen_style
-I${gen_dst} -I${gen_dst}
@ -28,5 +28,5 @@ function(generate_palette target_name palette_file)
MAIN_DEPENDENCY MAIN_DEPENDENCY
${gen_src} ${gen_src}
) )
generate_target(${target_name} palette "${generated_files}" ${gen_dst}) generate_target(${target_name} palette ${gen_timestamp} "${gen_files}" ${gen_dst})
endfunction() endfunction()

View file

@ -2,13 +2,14 @@ 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)
file(MAKE_DIRECTORY ${gen_dst}) file(MAKE_DIRECTORY ${gen_dst})
set(full_generated_files "") set(gen_timestamp ${gen_dst}/styles/${target_name}_style.timestamp)
set(gen_files "")
set(full_generation_sources "") set(full_generation_sources "")
set(full_dependencies_list ${dependent_style_files}) set(full_dependencies_list ${dependent_style_files})
foreach (file ${style_files}) foreach (file ${style_files})
list(APPEND full_generation_sources ${src_loc}/${file}) list(APPEND full_generation_sources ${src_loc}/${file})
get_filename_component(file_name ${file} NAME_WLE) get_filename_component(file_name ${file} NAME_WLE)
list(APPEND full_generated_files list(APPEND gen_files
${gen_dst}/styles/style_${file_name}.cpp ${gen_dst}/styles/style_${file_name}.cpp
${gen_dst}/styles/style_${file_name}.h ${gen_dst}/styles/style_${file_name}.h
) )
@ -17,9 +18,9 @@ function(generate_styles target_name src_loc style_files dependent_style_files)
add_custom_command( add_custom_command(
OUTPUT OUTPUT
${gen_dst}/styles/${target_name}_style.timestamp ${gen_timestamp}
BYPRODUCTS BYPRODUCTS
${full_generated_files} ${gen_files}
COMMAND COMMAND
codegen_style codegen_style
-I${src_loc} -I${src_loc}
@ -35,6 +36,5 @@ function(generate_styles target_name src_loc style_files dependent_style_files)
${full_dependencies_list} ${full_dependencies_list}
) )
list(APPEND full_generated_files ${gen_dst}/styles/${target_name}_style.timestamp) generate_target(${target_name} styles ${gen_timestamp} "${gen_files}" ${gen_dst})
generate_target(${target_name} styles "${full_generated_files}" ${gen_dst})
endfunction() endfunction()