Oscar Fuentes | 00905d5 | 2008-09-22 01:08:49 +0000 | [diff] [blame] | 1 | # AsmParser, with a Bison generated parser: |
| 2 | include(FindBison) |
| 3 | find_bison() |
Cédric Venet | c305843 | 2008-10-24 11:24:33 +0000 | [diff] [blame] | 4 | |
Oscar Fuentes | fbcff65 | 2008-10-25 03:19:08 +0000 | [diff] [blame^] | 5 | if(BISON_EXECUTABLE) |
| 6 | bison_generator( |
| 7 | "llvmAsm" |
| 8 | "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.y" |
| 9 | "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h" |
| 10 | "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp" |
Cédric Venet | c305843 | 2008-10-24 11:24:33 +0000 | [diff] [blame] | 11 | ) |
Oscar Fuentes | fbcff65 | 2008-10-25 03:19:08 +0000 | [diff] [blame^] | 12 | else(BISON_EXECUTABLE) |
| 13 | message(STATUS "Bison not found, the pregenerated files will be used") |
| 14 | |
| 15 | add_custom_command( |
| 16 | OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp" |
| 17 | DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp.cvs" |
| 18 | COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp.cvs" "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp" |
Cédric Venet | c305843 | 2008-10-24 11:24:33 +0000 | [diff] [blame] | 19 | ) |
Oscar Fuentes | fbcff65 | 2008-10-25 03:19:08 +0000 | [diff] [blame^] | 20 | add_custom_command( |
| 21 | OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h" |
| 22 | DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h.cvs" |
| 23 | COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h.cvs" "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h" |
| 24 | ) |
| 25 | endif(BISON_EXECUTABLE) |
Oscar Fuentes | 00905d5 | 2008-09-22 01:08:49 +0000 | [diff] [blame] | 26 | |
| 27 | add_llvm_library(LLVMAsmParser |
Cédric Venet | c305843 | 2008-10-24 11:24:33 +0000 | [diff] [blame] | 28 | llvmAsmParser.cpp # Generated from llvmAsmParser.y or copyied from corresponding .cvs |
| 29 | llvmAsmParser.h # needed for the associated custom command to work |
Oscar Fuentes | 00905d5 | 2008-09-22 01:08:49 +0000 | [diff] [blame] | 30 | LLLexer.cpp |
| 31 | Parser.cpp |
| 32 | ) |