cmake_minimum_required(VERSION 3.16) project(GostGenerator VERSION 1.0.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) find_package(Qt5 REQUIRED COMPONENTS Core Widgets Sql Concurrent Quick QuickWidgets PrintSupport) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /utf-8") # Исходные файлы set(SOURCES main.cpp controller/maincontroller.cpp controller/altiumparser.cpp controller/databasecontroller.cpp model/componentmodel.cpp model/componenttablemodel.cpp model/paramtable.cpp model/projectparammodel.cpp model/projectparamtablemodel.cpp model/projectsettingsmodel.cpp model/titleinscriptionsmodel.cpp model/designatormappingmodel.cpp model/designatormappingtablemodel.cpp model/perechentablemodel.cpp model/specificationpcbtablemodel.cpp model/specificationtablemodel.cpp model/vedomosttablemodel.cpp model/simplelisttablemodel.cpp model/pcbmaterialmodel.cpp view/adddesignatordialog.cpp view/basegosttable.cpp view/componentspreview.cpp view/columnsettingsdialog.cpp view/freezetablewidget.cpp view/pcbmaterialpreview.cpp view/designatormappingdialog.cpp view/documentprocessor.cpp controller/perechentablecontroller.cpp controller/specificationpcbcontroller.cpp controller/specificationcontroller.cpp controller/vedomostcontroller.cpp controller/simplelisttablecontroller.cpp controller/csvexporter.cpp view/editpdfwidget.cpp view/importeddataview.cpp view/mainwindow.cpp view/previewpdfwidget.cpp view/projectparampreview.cpp view/projectsettingsdialog.cpp view/titleinscriptionsdialog.cpp view/documentsettingsdialog.cpp view/cellsettingsdialog.cpp view/pagebreakconfirmationdialog.cpp ) # Заголовочные файлы set(HEADERS controller/maincontroller.h controller/altiumparser.h controller/databasecontroller.h model/componentmodel.h model/componenttablemodel.h model/paramtable.h model/projectparammodel.h model/projectparamtablemodel.h model/projectsettingsmodel.h model/titleinscriptionsmodel.h model/designatormappingmodel.h model/designatormappingtablemodel.h model/perechentablemodel.h model/specificationpcbtablemodel.h model/specificationtablemodel.h model/vedomosttablemodel.h model/simplelisttablemodel.h model/pcbmaterialmodel.h view/adddesignatordialog.h view/basegosttable.h view/columnsettingsdialog.h view/componentspreview.h view/freezetablewidget.h view/pcbmaterialpreview.h view/designatormappingdialog.h view/documentprocessor.h controller/perechentablecontroller.h controller/specificationpcbcontroller.h controller/specificationcontroller.h controller/vedomostcontroller.h controller/simplelisttablecontroller.h controller/csvexporter.h view/editpdfwidget.h view/importeddataview.h view/mainwindow.h view/previewpdfwidget.h view/projectparampreview.h view/projectsettingsdialog.h view/titleinscriptionsdialog.h view/documentsettingsdialog.h view/cellsettingsdialog.h view/titleinscriptiontypes.h view/pagebreakconfirmationdialog.h ) # Создание исполняемого файла if(WIN32) add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS} qml.qrc app_icon.rc controller/pdfcontroller.h controller/pdfcontroller.cpp) else() add_executable(${PROJECT_NAME} ${SOURCES} ${HEADERS} qml.qrc controller/pdfcontroller.h controller/pdfcontroller.cpp) endif() # Подключение Qt модулей target_link_libraries(${PROJECT_NAME} Qt5::Core Qt5::Widgets Qt5::Sql Qt5::Concurrent Qt5::Quick Qt5::QuickWidgets Qt5::PrintSupport) # Установка install(TARGETS ${PROJECT_NAME} BUNDLE DESTINATION . RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )