Files
GostGenerator/CMakeLists.txt
T
2026-09-02 12:48:03 +03:00

130 lines
3.9 KiB
CMake

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}
)