TableGen.cmake: Functionalize and reformat.
authorNAKAMURA Takumi <geek4civic@gmail.com>
Sun, 23 Feb 2014 12:54:15 +0000 (12:54 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Sun, 23 Feb 2014 12:54:15 +0000 (12:54 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201972 91177308-0d34-0410-b5e6-96231b3b80d8

cmake/modules/TableGen.cmake

index 36404811d7d3c647c45ee3ffc9e3befeef006583..34b03430b26e6f34b4d7302b60eaf0d1a36c41bc 100644 (file)
@@ -52,22 +52,23 @@ function(tablegen project ofn)
     PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${ofn}.tmp ${ofn})
 
   set(TABLEGEN_OUTPUT ${TABLEGEN_OUTPUT} ${CMAKE_CURRENT_BINARY_DIR}/${ofn} PARENT_SCOPE)
-  set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${ofn}
-    PROPERTIES GENERATED 1)
-endfunction(tablegen)
-
-macro(add_public_tablegen_target target)
-  # Creates a target for publicly exporting tablegen dependencies.
-  if( TABLEGEN_OUTPUT )
-    add_custom_target(${target}
-      DEPENDS ${TABLEGEN_OUTPUT})
-    if (LLVM_COMMON_DEPENDS)
-      add_dependencies(${target} ${LLVM_COMMON_DEPENDS})
-    endif ()
-    set_target_properties(${target} PROPERTIES FOLDER "Tablegenning")
-    list(APPEND LLVM_COMMON_DEPENDS ${target})
-  endif( TABLEGEN_OUTPUT )
-endmacro()
+  set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${ofn} PROPERTIES
+    GENERATED 1)
+endfunction()
+
+# Creates a target for publicly exporting tablegen dependencies.
+function(add_public_tablegen_target target)
+  if(NOT TABLEGEN_OUTPUT)
+    message(FATAL_ERROR "Requires tablegen() definitions as TABLEGEN_OUTPUT.")
+  endif()
+  add_custom_target(${target}
+    DEPENDS ${TABLEGEN_OUTPUT})
+  if(LLVM_COMMON_DEPENDS)
+    add_dependencies(${target} ${LLVM_COMMON_DEPENDS})
+  endif()
+  set_target_properties(${target} PROPERTIES FOLDER "Tablegenning")
+  set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} ${target} PARENT_SCOPE)
+endfunction()
 
 if(CMAKE_CROSSCOMPILING)
   set(CX_NATIVE_TG_DIR "${CMAKE_BINARY_DIR}/native")