summaryrefslogtreecommitdiffstats
path: root/llvm/cmake/modules/TableGen.cmake
diff options
context:
space:
mode:
authorOscar Fuentes <ofv@wanadoo.es>2011-07-25 14:11:55 +0000
committerOscar Fuentes <ofv@wanadoo.es>2011-07-25 14:11:55 +0000
commita2e6274d33e0188ed6b6941f8849edf5861afaef (patch)
tree79a8fd1ff1fccc849b8c027be59cf24d7c58b011 /llvm/cmake/modules/TableGen.cmake
parentb44cd82d9063eb3beb2dd9700a09574add78fdf1 (diff)
downloadbcm5719-llvm-a2e6274d33e0188ed6b6941f8849edf5861afaef.tar.gz
bcm5719-llvm-a2e6274d33e0188ed6b6941f8849edf5861afaef.zip
CMake: generalize the system that creates custom targets for
tablegenning to all libraries and executables. llvm-svn: 135908
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