forked from enlightenment/efl
cmake: auto-include subdirectories with generated .eo.*
This commit is contained in:
parent
10c3736c87
commit
361fe9603f
|
@ -1444,6 +1444,7 @@ function(EFL_CREATE_EO_RULES target source_dir generation_dir)
|
|||
endforeach()
|
||||
|
||||
set(all_eo_gen_files "")
|
||||
set(extra_include_dirs "")
|
||||
foreach(file ${eo_files_private} ${eo_files_public})
|
||||
get_filename_component(ext ${file} EXT)
|
||||
string(REGEX REPLACE "^${source_dir}/" "" filename "${file}")
|
||||
|
@ -1455,6 +1456,7 @@ function(EFL_CREATE_EO_RULES target source_dir generation_dir)
|
|||
file(MAKE_DIRECTORY "${generation_dir}/${reldir}")
|
||||
get_filename_component(absdir "${file}" DIRECTORY)
|
||||
set(rel_include_cmd -I${absdir})
|
||||
list(APPEND extra_include_dirs "${generation_dir}/${reldir}")
|
||||
else()
|
||||
set(rel_include_cmd)
|
||||
endif()
|
||||
|
@ -1497,6 +1499,10 @@ function(EFL_CREATE_EO_RULES target source_dir generation_dir)
|
|||
add_custom_target(${target}-eo
|
||||
DEPENDS ${all_eo_gen_files}
|
||||
)
|
||||
if(extra_include_dirs)
|
||||
list(REMOVE_DUPLICATES extra_include_dirs)
|
||||
target_include_directories(${target} PUBLIC ${extra_include_dirs})
|
||||
endif()
|
||||
add_dependencies(${target} ${target}-eo)
|
||||
if(${EOLIAN_BIN} STREQUAL ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/eolian_gen)
|
||||
add_dependencies(${target}-eo eolian-bin)
|
||||
|
|
Loading…
Reference in New Issue