CMakeLists.txt 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. # Copyright (C) 2008 by BogDan Vatra < bogdan@licentia.eu >
  2. # Copyright (C) 2009-2024 Robin Stuart <rstuart114@gmail.com>
  3. # SPDX-License-Identifier: GPL-3.0-or-later
  4. # vim: set ts=4 sw=4 et :
  5. cmake_minimum_required(VERSION 3.10)
  6. project(zint-qt)
  7. set(CMAKE_AUTORCC ON)
  8. set(${PROJECT_NAME}_SRCS barcodeitem.cpp main.cpp mainwindow.cpp
  9. cliwindow.cpp datawindow.cpp scalewindow.cpp sequencewindow.cpp exportwindow.cpp)
  10. if(USE_QT6)
  11. qt6_wrap_cpp(zint-qt_SRCS mainwindow.h cliwindow.h datawindow.h scalewindow.h sequencewindow.h exportwindow.h)
  12. qt6_wrap_ui(zint-qt_SRCS mainWindow.ui extCLI.ui extData.ui extScale.ui extSequence.ui extExport.ui)
  13. else()
  14. qt5_wrap_cpp(zint-qt_SRCS mainwindow.h cliwindow.h datawindow.h scalewindow.h sequencewindow.h exportwindow.h)
  15. qt5_wrap_ui(zint-qt_SRCS mainWindow.ui extCLI.ui extData.ui extScale.ui extSequence.ui extExport.ui)
  16. endif()
  17. # grpAztec.ui grpC39.ui grpCodablockF.ui grpDotCode.ui grpMailmark2D.ui grpPDF417.ui grpUPCA.ui
  18. # grpC11.ui grpC49.ui grpCodeOne.ui grpDPD.ui grpMaxicode.ui grpPZN.ui grpUPCEAN.ui
  19. # grpC128.ui grpC93.ui grpDAFT.ui grpGrid.ui grpMicroPDF.ui grpQR.ui grpUPNQR.ui
  20. # grpC16k.ui grpChannel.ui grpDBExtend.ui grpHX.ui grpMQR.ui grpRMQR.ui grpVIN.ui
  21. # grpC25.ui grpCodabar.ui grpDM.ui grpITF14.ui grpMSICheck.ui grpUltra.ui
  22. if(APPLE)
  23. # https://doc.qt.io/qt-5/appicon.html
  24. set(MACOSX_BUNDLE_ICON_FILE zint-qt.icns)
  25. set(APP_ICON_MACOSX "${CMAKE_CURRENT_SOURCE_DIR}/zint-qt.icns")
  26. set_source_files_properties(${APP_ICON_MACOSX} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
  27. add_executable(${PROJECT_NAME} MACOSX_BUNDLE ${zint-qt_SRCS} resources.qrc ${APP_ICON_MACOSX})
  28. set_target_properties(${PROJECT_NAME} PROPERTIES
  29. MACOSX_BUNDLE TRUE
  30. MACOSX_BUNDLE_BUNDLE_NAME "Zint Barcode Studio"
  31. MACOSX_BUNDLE_BUNDLE_VERSION ${ZINT_VERSION}
  32. MACOSX_BUNDLE_COPYRIGHT "Copyright © 2006-2022 Robin Stuart and others"
  33. MACOSX_BUNDLE_GUI_IDENTIFIER "uk.org.zint.zint-qt"
  34. MACOSX_BUNDLE_INFO_STRING "A free barcode generator"
  35. MACOSX_BUNDLE_SHORT_VERSION_STRING ${ZINT_VERSION})
  36. else()
  37. add_executable(${PROJECT_NAME} ${zint-qt_SRCS} resources.qrc)
  38. endif()
  39. if(WIN32)
  40. target_sources(${PROJECT_NAME} PRIVATE res/qtZint.rc)
  41. endif()
  42. target_include_directories(${PROJECT_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/../backend" "${CMAKE_CURRENT_SOURCE_DIR}/../backend_qt")
  43. if(ZINT_SHARED)
  44. target_link_libraries(${PROJECT_NAME} zint)
  45. else()
  46. target_link_libraries(${PROJECT_NAME} zint-static)
  47. endif()
  48. target_link_libraries(${PROJECT_NAME} QZint
  49. Qt${QT_VERSION_MAJOR}::UiTools Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Svg
  50. Qt${QT_VERSION_MAJOR}::Core)
  51. install(TARGETS ${PROJECT_NAME} DESTINATION "${CMAKE_INSTALL_BINDIR}" RUNTIME)