summaryrefslogtreecommitdiffstats
path: root/llvm/cmake/modules/TableGen.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/cmake/modules/TableGen.cmake')
-rw-r--r--llvm/cmake/modules/TableGen.cmake21
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()
+
OpenPOWER on IntegriCloud