summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2018-11-19 08:25:12 +0100
committerAleks Kissinger <aleks0@gmail.com>2018-11-19 08:25:12 +0100
commit32b48a7fff0413832fd412da2f270a003255b050 (patch)
tree59f408ff8b0465c5f24b665b93f74e135b802faf /CMakeLists.txt
parent87b50b1f93b34a0da6e784459931feabb7f15bc9 (diff)
added cmake support
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt102
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)