Warning, /kdevelop/kdevelop-pg-qt/kdev-pg/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) 0002 REMOVE_DEFINITIONS(-DQT_NO_STL) 0003 ADD_DEFINITIONS(-DQT_STL) 0004 0005 qt_add_resources(kdevpg_rcc_srcs ../unidata.qrc) 0006 kde_enable_exceptions() 0007 0008 SET(kdevpg_srcs 0009 ASBeautifier.cpp 0010 ASFormatter.cpp 0011 ASResource.cpp 0012 ASEnhancer.cpp 0013 kdev-pg.cpp 0014 kdev-pg-visitor.cpp 0015 kdev-pg-default-visitor.cpp 0016 kdev-pg-pretty-printer.cpp 0017 kdev-pg-global.cpp 0018 kdev-pg-code-gen.cpp 0019 kdev-pg-ast-gen.cpp 0020 kdev-pg-visitor-gen.cpp 0021 kdev-pg-visitor-bits-gen.cpp 0022 kdev-pg-default-visitor-gen.cpp 0023 kdev-pg-default-visitor-bits-gen.cpp 0024 kdev-pg-serialize-visitor-gen.cpp 0025 kdev-pg-debug-visitor-gen.cpp 0026 kdev-pg-new-visitor-gen.cpp 0027 kdev-pg-new-visitor-bits-gen.cpp 0028 kdev-pg-token-type-gen.cpp 0029 kdev-pg-beautifier.cpp 0030 kdev-pg-checker.cpp 0031 kdev-pg-inline-checker.cpp 0032 kdev-pg-main.cpp 0033 kdev-pg-generate.cpp 0034 kdev-pg-first.cpp 0035 kdev-pg-follow.cpp 0036 kdev-pg-bnf-visitor.cpp 0037 kdev-pg-clone-tree.cpp 0038 kdev-pg-regexp.cpp 0039 kdev-pg-unicode-loader.cpp) 0040 0041 0042 # Custom support for flex/bison 0043 IF(BISON_EXECUTABLE) 0044 # Add command to run the parser. 0045 ADD_CUSTOM_COMMAND( 0046 OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-parser.cc" 0047 "${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-parser.hh" 0048 DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/kdev-pg-parser.yy" 0049 COMMAND ${BISON_EXECUTABLE} 0050 ARGS -o "kdev-pg-parser.cc" 0051 -d "${CMAKE_CURRENT_SOURCE_DIR}/kdev-pg-parser.yy" 0052 WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" 0053 ) 0054 0055 SET(parser_src ${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-parser.cc) 0056 SET_SOURCE_FILES_PROPERTIES( 0057 ${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-parser.cc 0058 ${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-parser.hh 0059 PROPERTIES 0060 GENERATED TRUE 0061 SKIP_AUTOMOC ON 0062 ) 0063 SET(OPTIONAL_PARSER_HEADER_DEPENDENCY "${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-parser.hh") 0064 ELSE(BISON_EXECUTABLE) 0065 MESSAGE("'bison' was not found!") 0066 MESSAGE("Assuming existence of the generated parser files kdev-pg-parser.[hh,cc]") 0067 SET(parser_src ${CMAKE_CURRENT_SOURCE_DIR}/kdev-pg-parser.cc) 0068 SET(OPTIONAL_PARSER_HEADER_DEPENDENCY "") 0069 ENDIF(BISON_EXECUTABLE) 0070 0071 IF(FLEX_EXECUTABLE) 0072 # Add command to run the lexer. 0073 ADD_CUSTOM_COMMAND( 0074 OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-lexer.cc" 0075 DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/kdev-pg-lexer.ll" 0076 ${OPTIONAL_PARSER_HEADER_DEPENDENCY} 0077 COMMAND ${FLEX_EXECUTABLE} 0078 ARGS --yymore --nounistd -o "kdev-pg-lexer.cc" 0079 "${CMAKE_CURRENT_SOURCE_DIR}/kdev-pg-lexer.ll" 0080 WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" 0081 ) 0082 0083 SET(lexer_src ${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-lexer.cc) 0084 SET_SOURCE_FILES_PROPERTIES( 0085 ${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-lexer.cc 0086 PROPERTIES 0087 GENERATED TRUE 0088 SKIP_AUTOMOC ON 0089 ) 0090 ELSE(FLEX_EXECUTABLE) 0091 MESSAGE("'flex' was not found!") 0092 MESSAGE("Assuming existence of the generated lexer file kdev-pg-lexer.cc") 0093 SET(lexer_src ${CMAKE_CURRENT_SOURCE_DIR}/kdev-pg-lexer.cc) 0094 ENDIF(FLEX_EXECUTABLE) 0095 set_source_files_properties(${lexer_src} PROPERTIES COMPILE_FLAGS "-DYY_NO_INPUT -DYY_NO_UNPUT") 0096 0097 0098 # tell CMake to generate the executable 0099 ADD_EXECUTABLE(kdev-pg-qt ${parser_src} ${lexer_src} ${kdevpg_srcs} ${kdevpg_rcc_srcs}) 0100 ecm_mark_nongui_executable(kdev-pg-qt) 0101 TARGET_LINK_LIBRARIES( kdev-pg-qt Qt${QT_MAJOR_VERSION}::Core) 0102 INSTALL(TARGETS kdev-pg-qt DESTINATION bin ) 0103 0104 # in order to generate only the parser, call "make parser" 0105 ADD_CUSTOM_TARGET(parser echo "Generating the parser" 0106 DEPENDS ${parser_src} ${lexer_src} 0107 )