blob: f638d67a30d1a0458004e1b38cf125450afa28d4 [file] [log] [blame]
Oscar Fuentes02516ba2008-11-10 01:32:14 +00001
2if( ${LLVM_TABLEGEN} STREQUAL "tblgen" )
Oscar Fuentes0ef3b612008-11-10 22:09:59 +00003 set(CX_NATIVE_TG_DIR "${CMAKE_BINARY_DIR}/native")
Oscar Fuentes02516ba2008-11-10 01:32:14 +00004 set(LLVM_TABLEGEN "${CX_NATIVE_TG_DIR}/bin/tblgen")
5
Oscar Fuentes41bdedf2008-11-10 02:35:55 +00006 add_custom_command(OUTPUT ${CX_NATIVE_TG_DIR}
7 COMMAND ${CMAKE_COMMAND} -E make_directory ${CX_NATIVE_TG_DIR}
8 COMMENT "Creating ${CX_NATIVE_TG_DIR}...")
9
10 add_custom_command(OUTPUT ${CX_NATIVE_TG_DIR}/CMakeCache.txt
11 COMMAND ${CMAKE_COMMAND} -UMAKE_TOOLCHAIN_FILE -DCMAKE_BUILD_TYPE=Release ${CMAKE_SOURCE_DIR}
12 WORKING_DIRECTORY ${CX_NATIVE_TG_DIR}
13 DEPENDS ${CX_NATIVE_TG_DIR}
14 COMMENT "Configuring native TableGen...")
15
Oscar Fuentes02516ba2008-11-10 01:32:14 +000016 add_custom_command(OUTPUT ${LLVM_TABLEGEN}
Oscar Fuentes41bdedf2008-11-10 02:35:55 +000017 COMMAND ${CMAKE_BUILD_TOOL}
18 DEPENDS ${CX_NATIVE_TG_DIR}/CMakeCache.txt
19 WORKING_DIRECTORY ${CX_NATIVE_TG_DIR}/utils/TableGen
Oscar Fuentes02516ba2008-11-10 01:32:14 +000020 COMMENT "Building native TableGen...")
21 add_custom_target(NativeTableGen DEPENDS ${LLVM_TABLEGEN})
Oscar Fuentes41bdedf2008-11-10 02:35:55 +000022
Oscar Fuentes02516ba2008-11-10 01:32:14 +000023 add_dependencies(tblgen NativeTableGen)
24
Oscar Fuentes0ef3b612008-11-10 22:09:59 +000025 set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${CX_NATIVE_TG_DIR})
Oscar Fuentes3ab40ca2008-11-09 18:53:19 +000026endif()