cmake: Further petting dependencies

eeschema cpp files consume generated header files that have targets in
the common directory, so no dependencies get created from eeschema.  We
add the dependencies in common to force the setting through libraries.

Fixes: lp:1831643
* https://bugs.launchpad.net/kicad/+bug/1831643
This commit is contained in:
Seth Hillbrand 2019-06-13 06:49:45 -07:00
parent 71f5f96e64
commit a84ca5b147
2 changed files with 9 additions and 2 deletions

View File

@ -48,7 +48,7 @@ function( make_lexer outputTarget inputFile outHeaderFile outCppFile enum )
)
add_custom_target( ${outputTarget}
DEPENDS ${inputFile}
DEPENDS ${outHeaderFile} ${outCppFile}
${CMAKE_MODULE_PATH}/TokenList2DsnLexer.cmake
)
@ -56,7 +56,7 @@ function( make_lexer outputTarget inputFile outHeaderFile outCppFile enum )
# are known to depend on the generated outHeader.
foreach( extra_arg ${ARGN} )
set_source_files_properties( ${extra_arg}
PROPERTIES OBJECT_DEPENDS ${outputTarget}
PROPERTIES OBJECT_DEPENDS ${outHeaderFile}
)
endforeach()

View File

@ -563,6 +563,13 @@ make_lexer(
${PROJECT_SOURCE_DIR}/include/lib_table_lexer.h
${CMAKE_CURRENT_SOURCE_DIR}/lib_table_keywords.cpp
LIB_TABLE_T
# These files consume *_lexer.h
${CMAKE_CURRENT_SOURCE_DIR}/fp_lib_table.cpp
${CMAKE_CURRENT_SOURCE_DIR}/lib_table_base.cpp
${PROJECT_SOURCE_DIR}/pcbnew/dialogs/panel_fp_lib_table.cpp
${PROJECT_SOURCE_DIR}/eeschema/symbol_lib_table.cpp
${PROJECT_SOURCE_DIR}/eeschema/dialogs/panel_sym_lib_table.cpp
)
add_dependencies( common lib_table_lexer_source_files )