summaryrefslogtreecommitdiffstats
path: root/llvm/lib/AsmParser
diff options
context:
space:
mode:
authorCedric Venet <cedric.venet@laposte.net>2008-10-24 11:24:33 +0000
committerCedric Venet <cedric.venet@laposte.net>2008-10-24 11:24:33 +0000
commita00d112486966b34bf1a445ec2fd5e601fda55f4 (patch)
tree3df03ca4844e21e51027064f40623a092fd06e0b /llvm/lib/AsmParser
parent7fb14b0cd0610c11910e8c61024b60dd93537bab (diff)
downloadbcm5719-llvm-a00d112486966b34bf1a445ec2fd5e601fda55f4.tar.gz
bcm5719-llvm-a00d112486966b34bf1a445ec2fd5e601fda55f4.zip
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
Diffstat (limited to 'llvm/lib/AsmParser')
-rw-r--r--llvm/lib/AsmParser/CMakeLists.txt26
1 files changed, 25 insertions, 1 deletions
diff --git a/llvm/lib/AsmParser/CMakeLists.txt b/llvm/lib/AsmParser/CMakeLists.txt
index c12f414d8ed..b8283c5d8a7 100644
--- a/llvm/lib/AsmParser/CMakeLists.txt
+++ b/llvm/lib/AsmParser/CMakeLists.txt
@@ -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
)
OpenPOWER on IntegriCloud