Files
sethLabels/model/CMakeLists.txt
T
Jaye Evins f15c21a01d Update to Qt6
- New baseline minimum platform is Ubuntu 22.04
    - Qt6 requires at least 6.2
        - some deprecations may be flagged on later versions (e.g. 6.8)
    - CMake requires at least 3.22
- Include build-tests.yml github action to validate builds on mulitple platforms
- QtTest is no longer optional since it easily comes along for the ride with Qt
- Replaced QStringRef in model::SubstitutionField with simple ParserState class
- Removed deprecations up to Qt 6.2
2025-05-06 18:26:53 -04:00

124 lines
2.3 KiB
CMake

project (Model LANGUAGES CXX)
#=======================================
# Handle optional dependencies
#=======================================
if (${ZLIB_FOUND})
add_definitions (-DHAVE_ZLIB=1)
set (OPTIONAL_ZLIB ZLIB::ZLIB)
else ()
set (OPTIONAL_ZLIB "")
endif ()
#=======================================
# Sources
#=======================================
# Auto-generated files
configure_file (Version.h.in ${CMAKE_CURRENT_BINARY_DIR}/Version.h @ONLY)
configure_file (Config.h.in ${CMAKE_CURRENT_BINARY_DIR}/Config.h @ONLY)
set (Model_sources
Category.cpp
ColorNode.cpp
DataCache.cpp
Db.cpp
Distance.cpp
FileUtil.cpp
Frame.cpp
FrameCd.cpp
FrameContinuous.cpp
FrameEllipse.cpp
FramePath.cpp
FrameRect.cpp
FrameRound.cpp
Handles.cpp
Layout.cpp
Markup.cpp
Model.cpp
ModelObject.cpp
ModelBarcodeObject.cpp
ModelBoxObject.cpp
ModelEllipseObject.cpp
ModelImageObject.cpp
ModelLineObject.cpp
ModelShapeObject.cpp
ModelTextObject.cpp
Outline.cpp
PageRenderer.cpp
Paper.cpp
ParserState.cpp
Point.cpp
RawText.cpp
Region.cpp
Settings.cpp
Size.cpp
StrUtil.cpp
SubstitutionField.cpp
Template.cpp
TextNode.cpp
Units.cpp
Variable.cpp
Variables.cpp
Vendor.cpp
XmlCategoryParser.cpp
XmlLabelCreator.cpp
XmlLabelParser.cpp
XmlLabelParser_3.cpp
XmlPaperParser.cpp
XmlTemplateCreator.cpp
XmlTemplateParser.cpp
XmlUtil.cpp
XmlVendorParser.cpp
)
set (Model_qobject_headers
Model.h
ModelObject.h
ModelBarcodeObject.h
ModelBoxObject.h
ModelEllipseObject.h
ModelImageObject.h
ModelLineObject.h
ModelShapeObject.h
ModelTextObject.h
PageRenderer.h
Settings.h
Variables.h
)
qt6_wrap_cpp (Model_moc_sources ${Model_qobject_headers})
#=====================================
# Target
#=====================================
add_library (Model STATIC
${Model_sources}
${Model_moc_sources}
)
target_compile_features (Model
PUBLIC cxx_std_11
)
target_include_directories (Model
PUBLIC .. ${CMAKE_CURRENT_BINARY_DIR}/..
PRIVATE ${CMAKE_CURRENT_BINARY_DIR}
)
target_link_libraries (Model
Barcode
Merge
Qt6::Core
Qt6::PrintSupport
Qt6::Xml
Qt6::Svg
${OPTIONAL_ZLIB}
)
#=======================================
# Subdirectories
#=======================================
add_subdirectory (unit_tests)