CMake: Cross-platform support for using pre-generated llvmAsmParser.cpp and llvmAsmParser.h.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58130 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Oscar Fuentes 2008-10-25 03:19:08 +00:00
parent 78dfef771b
commit ddbbb4fe89

View File

@ -2,34 +2,27 @@
include(FindBison)
find_bison()
IF(BISON_EXECUTABLE)
bison_generator(
"llvmAsm"
"${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.y"
"${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h"
"${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp"
)
ELSE(BISON_EXECUTABLE)
MESSAGE(STATUS "Bison not found, the pregenerated files will be used")
IF(WIN32)
FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} WIN_SOURCE_DIR)
ADD_CUSTOM_COMMAND(
OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp.cvs"
COMMAND copy \"${WIN_SOURCE_DIR}\\llvmAsmParser.cpp.cvs\" \"${WIN_SOURCE_DIR}\\llvmAsmParser.cpp\"
if(BISON_EXECUTABLE)
bison_generator(
"llvmAsm"
"${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.y"
"${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h"
"${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp"
)
ADD_CUSTOM_COMMAND(
OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h.cvs"
COMMAND copy \"${WIN_SOURCE_DIR}\\llvmAsmParser.h.cvs\" \"${WIN_SOURCE_DIR}\\llvmAsmParser.h\"
else(BISON_EXECUTABLE)
message(STATUS "Bison not found, the pregenerated files will be used")
add_custom_command(
OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp.cvs"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp.cvs" "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp"
)
ELSE(WIN32)
MESSAGE(SEND_ERROR "Not implemented")
# fixme do the same with cp instead of copy
ENDIF(WIN32)
ENDIF(BISON_EXECUTABLE)
add_custom_command(
OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h.cvs"
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h.cvs" "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h"
)
endif(BISON_EXECUTABLE)
add_llvm_library(LLVMAsmParser
llvmAsmParser.cpp # Generated from llvmAsmParser.y or copyied from corresponding .cvs