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 QT5_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 "${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-parser.cc" 0051 -d "${CMAKE_CURRENT_SOURCE_DIR}/kdev-pg-parser.yy" 0052 ) 0053 0054 SET(parser_src ${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-parser.cc) 0055 SET_SOURCE_FILES_PROPERTIES( 0056 ${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-parser.cc 0057 ${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-parser.hh 0058 PROPERTIES 0059 GENERATED TRUE 0060 SKIP_AUTOMOC ON 0061 ) 0062 SET(OPTIONAL_PARSER_HEADER_DEPENDENCY "${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-parser.hh") 0063 ELSE(BISON_EXECUTABLE) 0064 MESSAGE("'bison' was not found!") 0065 MESSAGE("Assuming existence of the generated parser files kdev-pg-parser.[hh,cc]") 0066 SET(parser_src ${CMAKE_CURRENT_SOURCE_DIR}/kdev-pg-parser.cc) 0067 SET(OPTIONAL_PARSER_HEADER_DEPENDENCY "") 0068 ENDIF(BISON_EXECUTABLE) 0069 0070 IF(FLEX_EXECUTABLE) 0071 # Add command to run the lexer. 0072 ADD_CUSTOM_COMMAND( 0073 OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-lexer.cc" 0074 DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/kdev-pg-lexer.ll" 0075 ${OPTIONAL_PARSER_HEADER_DEPENDENCY} 0076 COMMAND ${FLEX_EXECUTABLE} 0077 ARGS --yymore --nounistd -o "${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-lexer.cc" 0078 "${CMAKE_CURRENT_SOURCE_DIR}/kdev-pg-lexer.ll" 0079 ) 0080 0081 SET(lexer_src ${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-lexer.cc) 0082 SET_SOURCE_FILES_PROPERTIES( 0083 ${CMAKE_CURRENT_BINARY_DIR}/kdev-pg-lexer.cc 0084 PROPERTIES 0085 GENERATED TRUE 0086 SKIP_AUTOMOC ON 0087 ) 0088 ELSE(FLEX_EXECUTABLE) 0089 MESSAGE("'flex' was not found!") 0090 MESSAGE("Assuming existence of the generated lexer file kdev-pg-lexer.cc") 0091 SET(lexer_src ${CMAKE_CURRENT_SOURCE_DIR}/kdev-pg-lexer.cc) 0092 ENDIF(FLEX_EXECUTABLE) 0093 set_source_files_properties(${lexer_src} PROPERTIES COMPILE_FLAGS "-DYY_NO_INPUT -DYY_NO_UNPUT") 0094 0095 0096 # tell CMake to generate the executable 0097 ADD_EXECUTABLE(kdev-pg-qt ${parser_src} ${lexer_src} ${kdevpg_srcs} ${kdevpg_rcc_srcs}) 0098 ecm_mark_nongui_executable(kdev-pg-qt) 0099 TARGET_LINK_LIBRARIES( kdev-pg-qt Qt5::Core) 0100 INSTALL(TARGETS kdev-pg-qt DESTINATION bin ) 0101 0102 # in order to generate only the parser, call "make parser" 0103 ADD_CUSTOM_TARGET(parser echo "Generating the parser" 0104 DEPENDS ${parser_src} ${lexer_src} 0105 )