123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- cmake_minimum_required(VERSION 3.13)
- if(APPLE)
- set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version")
- endif()
- project(
- flameshot
- VERSION 0.8.5.5
- LANGUAGES CXX)
- set(PROJECT_NAME_CAPITALIZED "Flameshot")
- set(DEFAULT_RUN_IN_PLACE FALSE)
- if(WIN32)
- set(DEFAULT_RUN_IN_PLACE TRUE)
-
- add_definitions(-DFLAMESHOT_VERSION_MAJOR=${CMAKE_PROJECT_VERSION_MAJOR})
- add_definitions(-DFLAMESHOT_VERSION_MINOR=${CMAKE_PROJECT_VERSION_MINOR})
- add_definitions(-DFLAMESHOT_VERSION_BUGFIX=${CMAKE_PROJECT_VERSION_PATCH})
- add_definitions(-DFLAMESHOT_VERSION_BUILD=1)
- add_definitions(-DFLAMESHOT_VERSION_STRING="${PROJECT_VERSION}")
- elseif(APPLE)
- set(Qt5_DIR "$(brew --prefix qt5)/lib/cmake/Qt5/" CACHE PATH "directory where Qt5Config.cmake exists.")
- set(CMAKE_MACOSX_BUNDLE ON)
- set(CMAKE_MACOSX_RPATH ON)
- endif()
- set(RUN_IN_PLACE ${DEFAULT_RUN_IN_PLACE} CACHE BOOL
- "Run directly in source directory structure")
- option(GENERATE_TS "Regenerate translation source files" OFF)
- include(cmake/StandardProjectSettings.cmake)
- add_library(project_options INTERFACE)
- target_compile_features(project_options INTERFACE cxx_std_17)
- add_library(project_warnings INTERFACE)
- include(cmake/Cache.cmake)
- include(cmake/CompilerWarnings.cmake)
- include(cmake/Sanitizers.cmake)
- enable_sanitizers(project_options)
- add_subdirectory(src)
- set(CPACK_PACKAGE_VENDOR "flameshot-org")
- set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Powerful yet simple to use screenshot software.")
- set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
- set(CPACK_PACKAGE_HOMEPAGE_URL "https://flameshot.org")
- set(CPACK_PACKAGE_CONTACT "flameshot-org developers <info@flameshot.org>")
- set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/data/img/app/org.flameshot.Flameshot.svg")
- set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md")
- if(WIN32)
-
- include(InstallRequiredSystemLibraries)
- if(RUN_IN_PLACE)
- if(CMAKE_SIZEOF_VOID_P EQUAL 8)
- set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${PROJECT_VERSION}-win64")
- else()
- set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${PROJECT_VERSION}-win32")
- endif()
- set(CPACK_GENERATOR ZIP)
- else()
- set(CPACK_GENERATOR WIX ZIP)
- set(CPACK_PACKAGE_NAME "${PROJECT_NAME_CAPITALIZED}")
- set(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME_CAPITALIZED}")
- set(CPACK_PACKAGE_EXECUTABLES ${PROJECT_NAME} "${PROJECT_NAME_CAPITALIZED}")
- set(CPACK_CREATE_DESKTOP_LINKS ${PROJECT_NAME})
-
-
- set(CPACK_WIX_PRODUCT_ICON "${CMAKE_SOURCE_DIR}/data/img/app/flameshot.ico")
-
-
-
- set(CPACK_WIX_UI_BANNER "${CMAKE_SOURCE_DIR}/packaging/win-installer/Bitmaps/CPACK_WIX_UI_BANNER.BMP")
- set(CPACK_WIX_UI_DIALOG "${CMAKE_SOURCE_DIR}/packaging/win-installer/Bitmaps/CPACK_WIX_UI_DIALOG.BMP")
- set(CPACK_WIX_PROPERTY_ARPHELPLINK "${CPACK_PACKAGE_HOMEPAGE_URL}")
- set(CPACK_WIX_PROPERTY_ARPURLINFOABOUT "${CPACK_PACKAGE_HOMEPAGE_URL}")
- set(CPACK_WIX_ROOT_FEATURE_DESCRIPTION "${CPACK_PACKAGE_DESCRIPTION_SUMMARY}")
- set(CPACK_WIX_LIGHT_EXTRA_FLAGS "-dcl:high")
-
- set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/packaging/win-installer/LICENSE/GPL-3.0.txt")
- set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md")
-
-
-
- if(CMAKE_SIZEOF_VOID_P EQUAL 8)
- set(CPACK_WIX_UPGRADE_GUID "26D8062A-66D9-48D9-8924-42090FB9B3F9")
- else()
- set(CPACK_WIX_UPGRADE_GUID "2C53E1B9-51D9-4429-AAE4-B02221959AA5")
- endif()
- endif()
- elseif(APPLE)
- set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0)
- set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${PROJECT_VERSION}-osx")
- set(CPACK_GENERATOR ZIP)
- else()
- set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${PROJECT_VERSION}-linux")
- set(CPACK_GENERATOR TGZ)
- set(CPACK_SOURCE_GENERATOR TGZ)
- endif()
- include(CPack)
|