diff options
Diffstat (limited to 'llvm/cmake/modules/TableGen.cmake')
-rw-r--r-- | llvm/cmake/modules/TableGen.cmake | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake index 9d67137bb42..6605b5b6048 100644 --- a/llvm/cmake/modules/TableGen.cmake +++ b/llvm/cmake/modules/TableGen.cmake @@ -44,3 +44,24 @@ macro(tablegen ofn) set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${ofn} PROPERTIES GENERATED 1) endmacro(tablegen) + + +function(create_tablegenning_custom_target target) + # Creates the global target that runs the file-level dependencies + # for tablegenning. + if( TABLEGEN_OUTPUT ) + add_custom_target(${target}Table_gen + DEPENDS ${TABLEGEN_OUTPUT}) + add_dependencies(${target}Table_gen ${LLVM_COMMON_DEPENDS}) + endif( TABLEGEN_OUTPUT ) +endfunction() + +function(add_tablegenning_dependency target) + # Makes the tablegenning step created with + # create_tablegenning_custom_target dependent on `target'. + if ( TABLEGEN_OUTPUT ) + add_dependencies(${target} ${target}Table_gen) + set_target_properties(${target}Table_gen PROPERTIES FOLDER "Tablegenning") + endif (TABLEGEN_OUTPUT) +endfunction() + |