blob: 1c00f3958e67ddce4b3a0b10b8e93b11e9e8fc29 [file] [log] [blame]
Oscar Fuentes02516ba2008-11-10 01:32:14 +00001
2if( ${LLVM_TABLEGEN} STREQUAL "tblgen" )
Oscar Fuentes02516ba2008-11-10 01:32:14 +00003 set(LLVM_TABLEGEN "${CX_NATIVE_TG_DIR}/bin/tblgen")
4
Oscar Fuentes41bdedf2008-11-10 02:35:55 +00005 message(STATUS "CX_NATIVE_TG_DIR : ${CX_NATIVE_TG_DIR}")
6 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
25 # TODO: We should clean the native build when the `clean target
26 # is invoked. This doesn't work.
Oscar Fuentes41bdedf2008-11-10 02:35:55 +000027 # add_custom_command(TARGET clean
28 # COMMAND ${CMAKE_BUILD_TOOL} -C ${CX_NATIVE_TG_DIR}/utils/TableGen clean
29 # POST_BUILD
30 # COMMENT "Cleaning native TableGen...")
Oscar Fuentes3ab40ca2008-11-09 18:53:19 +000031endif()