diff options
author | Aleks Kissinger <aleks0@gmail.com> | 2018-11-19 08:25:12 +0100 |
---|---|---|
committer | Aleks Kissinger <aleks0@gmail.com> | 2018-11-19 08:25:12 +0100 |
commit | 32b48a7fff0413832fd412da2f270a003255b050 (patch) | |
tree | 59f408ff8b0465c5f24b665b93f74e135b802faf /CMakeLists.txt | |
parent | 87b50b1f93b34a0da6e784459931feabb7f15bc9 (diff) |
added cmake support
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..ba0eee5 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,102 @@ +cmake_minimum_required(VERSION 3.1.0) + +project(tikzit LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) +set(CMAKE_AUTOMOC ON) +#set(CMAKE_AUTOUIC ON) + +find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets Network) +find_package(BISON) +find_package(FLEX) + +include_directories( + ${PROJECT_SOURCE_DIR} + ${PROJECT_SOURCE_DIR}/src + ${PROJECT_SOURCE_DIR}/src/data + ${PROJECT_SOURCE_DIR}/src/gui +) + +BISON_TARGET(PARSER src/data/tikzparser.y ${CMAKE_CURRENT_BINARY_DIR}/tikzparser.parser.cpp) +FLEX_TARGET(LEXER src/data/tikzlexer.l ${CMAKE_CURRENT_BINARY_DIR}/tikzlexer.lexer.cpp) +ADD_FLEX_BISON_DEPENDENCY(LEXER PARSER) +cmake_policy(SET CMP0071 NEW) # run AUTOXXX on generated files ('NEW' default behaviour) + +set(SOURCES + src/data/edge.cpp + src/data/graph.cpp + src/data/graphelementdata.cpp + src/data/graphelementproperty.cpp + src/data/node.cpp + src/data/style.cpp + src/data/stylelist.cpp + src/data/tikzassembler.cpp + src/data/tikzdocument.cpp + src/data/tikzstyles.cpp + src/gui/commands.cpp + src/gui/edgeitem.cpp + src/gui/mainmenu.cpp + src/gui/mainwindow.cpp + src/gui/nodeitem.cpp + src/gui/propertypalette.cpp + src/gui/styleeditor.cpp + src/gui/stylepalette.cpp + src/gui/tikzscene.cpp + src/gui/tikzview.cpp + src/gui/toolpalette.cpp + src/gui/undocommands.cpp + src/main.cpp + src/tikzit.cpp + src/util.cpp +) + +set(HEADERS + src/data/edge.h + src/data/graph.h + src/data/graphelementdata.h + src/data/graphelementproperty.h + src/data/node.h + src/data/style.h + src/data/stylelist.h + src/data/tikzassembler.h + src/data/tikzdocument.h + src/data/tikzparserdefs.h + src/data/tikzstyles.h + src/gui/commands.h + src/gui/edgeitem.h + src/gui/mainmenu.h + src/gui/mainwindow.h + src/gui/nodeitem.h + src/gui/propertypalette.h + src/gui/styleeditor.h + src/gui/stylepalette.h + src/gui/tikzscene.h + src/gui/tikzview.h + src/gui/toolpalette.h + src/gui/undocommands.h + src/tikzit.h + src/util.h +) + +set(FORMS + src/gui/mainmenu.ui + src/gui/mainwindow.ui + src/gui/propertypalette.ui + src/gui/styleeditor.ui + src/gui/stylepalette.ui +) + +qt5_wrap_ui(FORM_HEADERS ${FORMS}) +qt5_add_resources(QT_RESOURCES tikzit.qrc) + + + +add_executable(tikzit + ${SOURCES} + ${HEADERS} + ${FORM_HEADERS} + ${FLEX_LEXER_OUTPUTS} + ${BISON_PARSER_OUTPUTS} + ${QT_RESOURCES}) + +target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Network) |