Modify the cmake build system so that if it doesn't find bison, it will use the pregenerated file in from the svn (.cvs). Work only for windows for the moment. Tested on Vista64 with MSVC2008express.
llvm-svn: 58090
This commit is contained in:
parent
7fb14b0cd0
commit
a00d112486
|
@ -1,9 +1,9 @@
|
|||
# tbi: Configurar ficheros.
|
||||
configure_file(${llvm_include_path}/llvm/ADT/hash_map.h.in ${llvm_builded_incs_dir}/ADT/hash_map.h)
|
||||
configure_file(${llvm_include_path}/llvm/ADT/hash_set.h.in ${llvm_builded_incs_dir}/ADT/hash_set.h)
|
||||
configure_file(${llvm_include_path}/llvm/ADT/iterator.h.in ${llvm_builded_incs_dir}/ADT/iterator.h)
|
||||
configure_file(${llvm_include_path}/llvm/Support/DataTypes.h.in ${llvm_builded_incs_dir}/Support/DataTypes.h)
|
||||
configure_file(${llvm_include_path}/llvm/Config/config.h.in ${llvm_builded_incs_dir}/Config/config.h)
|
||||
configure_file(${llvm_include_path}/llvm/ADT/hash_map.h.in ${llvm_builded_incs_dir}/ADT/hash_map.h COPYONLY)
|
||||
configure_file(${llvm_include_path}/llvm/ADT/hash_set.h.in ${llvm_builded_incs_dir}/ADT/hash_set.h COPYONLY)
|
||||
configure_file(${llvm_include_path}/llvm/ADT/iterator.h.in ${llvm_builded_incs_dir}/ADT/iterator.h COPYONLY)
|
||||
configure_file(${llvm_include_path}/llvm/Support/DataTypes.h.in ${llvm_builded_incs_dir}/Support/DataTypes.h COPYONLY)
|
||||
configure_file(${llvm_include_path}/llvm/Config/config.h.in ${llvm_builded_incs_dir}/Config/config.h COPYONLY)
|
||||
|
||||
file(READ ${llvm_include_path}/../win32/config.h vc_config_text)
|
||||
file(APPEND ${llvm_builded_incs_dir}/Config/config.h ${vc_config_text})
|
||||
|
|
|
@ -1,15 +1,39 @@
|
|||
# AsmParser, with a Bison generated parser:
|
||||
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\"
|
||||
)
|
||||
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(WIN32)
|
||||
MESSAGE(SEND_ERROR "Not implemented")
|
||||
# fixme do the same with cp instead of copy
|
||||
ENDIF(WIN32)
|
||||
ENDIF(BISON_EXECUTABLE)
|
||||
|
||||
add_llvm_library(LLVMAsmParser
|
||||
llvmAsmParser.cpp # Generated from llvmAsmParser.y
|
||||
llvmAsmParser.cpp # Generated from llvmAsmParser.y or copyied from corresponding .cvs
|
||||
llvmAsmParser.h # needed for the associated custom command to work
|
||||
LLLexer.cpp
|
||||
Parser.cpp
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue