From 32b48a7fff0413832fd412da2f270a003255b050 Mon Sep 17 00:00:00 2001 From: Aleks Kissinger Date: Mon, 19 Nov 2018 08:25:12 +0100 Subject: added cmake support --- CMakeLists.txt | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 CMakeLists.txt (limited to 'CMakeLists.txt') 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) -- cgit v1.2.3