1
1
cmake_minimum_required (VERSION 3.13 )
2
- # cmake_policy(SET CMP0076 OLD)
3
-
4
- set (FLAMESHOT_VERSION 12.1.0 )
5
-
6
- # Flameshot-org
7
- set (GIT_API_URL "https://api.github.com/repos/flameshot-org/flameshot/releases/latest" )
8
- # Namecheap
9
- # set(GIT_API_URL "https://api.github.com/repos/namecheap/flameshot/releases/latest")
10
-
11
- # TODO - fix it for all linux distros
12
- #find_package (Git)
13
- #if (GIT_FOUND)
14
- # message("git found: ${GIT_EXECUTABLE} in version ${GIT_VERSION_STRING}")
15
- #
16
- # # set flameshot updates url
17
- # execute_process(COMMAND ${GIT_EXECUTABLE} ls-remote --get-url OUTPUT_VARIABLE GIT_ORIGIN_REMOTE)
18
- # message("GIT_ORIGIN_REMOTE: ${GIT_ORIGIN_REMOTE}")
19
- # string(REGEX REPLACE ".git\r*\n*$" "/releases/latest" GIT_API_URL ${GIT_ORIGIN_REMOTE})
20
- # string(REGEX REPLACE "^.*:" "https://api.github.com/repos/" GIT_API_URL ${GIT_API_URL})
21
- # message("GIT_API_URL: '${GIT_API_URL}'")
22
- #
23
- # # get application version
24
- # execute_process(COMMAND ${GIT_EXECUTABLE} describe --tags --abbrev=0 --match v[0-9]* OUTPUT_VARIABLE FLAMESHOT_VERSION)
25
- # string(REGEX REPLACE "\r" "" FLAMESHOT_VERSION ${FLAMESHOT_VERSION})
26
- # string(REGEX REPLACE "\n" "" FLAMESHOT_VERSION ${FLAMESHOT_VERSION})
27
- # string(REGEX REPLACE "^v" "" FLAMESHOT_VERSION ${FLAMESHOT_VERSION})
28
- # message("FLAMESHOT_VERSION: '${FLAMESHOT_VERSION}'")
29
- #else()
30
- # message("git command is not found")
31
- #endif ()
2
+
3
+ set (FIRESHOT_VERSION 1.0.0.0 )
32
4
33
5
project (
34
- flameshot
35
- VERSION ${FLAMESHOT_VERSION }
6
+ fireshot
7
+ VERSION ${FIRESHOT_VERSION }
36
8
LANGUAGES CXX )
37
- set (PROJECT_NAME_CAPITALIZED "Flameshot" )
38
-
39
- # This can be read from ${PROJECT_NAME} after project() is called
40
- if (APPLE )
41
- set (CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" )
42
- endif ()
43
9
10
+ set (PROJECT_NAME_CAPITALIZED "FireShot" )
44
11
45
- # Configuration options
46
- set (DEFAULT_RUN_IN_PLACE FALSE )
47
- if (WIN32 )
48
- set (DEFAULT_RUN_IN_PLACE TRUE )
49
- # For Windows RC file.
50
- add_definitions (-DFLAMESHOT_VERSION_MAJOR=${CMAKE_PROJECT_VERSION_MAJOR} )
51
- add_definitions (-DFLAMESHOT_VERSION_MINOR=${CMAKE_PROJECT_VERSION_MINOR} )
52
- add_definitions (-DFLAMESHOT_VERSION_BUGFIX=${CMAKE_PROJECT_VERSION_PATCH} )
53
- add_definitions (-DFLAMESHOT_VERSION_BUILD=1 )
54
- add_definitions (-DFLAMESHOT_VERSION_STRING= "${PROJECT_VERSION} " )
55
- elseif (APPLE )
56
- set (Qt5_DIR "$(brew --prefix qt5)/lib/cmake/Qt5/" CACHE PATH "directory where Qt5Config.cmake exists." )
57
- set (CMAKE_MACOSX_BUNDLE ON )
58
- set (CMAKE_MACOSX_RPATH ON )
59
- endif ()
60
- set (RUN_IN_PLACE
61
- ${DEFAULT_RUN_IN_PLACE}
62
- CACHE BOOL "Run directly in source directory structure" )
63
12
64
-
65
- option (FLAMESHOT_DEBUG_CAPTURE "Enable mode to make debugging easier" OFF )
13
+ option (FLAMESHOT_DEBUG_CAPTURE "Enable mode to make debugging easier" ON )
66
14
option (USE_MONOCHROME_ICON "Build using monochrome icon as default" OFF )
67
15
option (GENERATE_TS "Regenerate translation source files" OFF )
68
- option (USE_EXTERNAL_SINGLEAPPLICATION "Use external QtSingleApplication library" OFF )
69
16
option (USE_LAUNCHER_ABSOLUTE_PATH "Use absolute path for the desktop launcher" ON )
70
17
option (USE_WAYLAND_CLIPBOARD "USE KF Gui Wayland Clipboard" OFF )
71
- option (DISABLE_UPDATE_CHECKER "Disable check for updates" OFF )
72
- if (DISABLE_UPDATE_CHECKER )
73
- add_compile_definitions (DISABLE_UPDATE_CHECKER )
74
- endif ()
18
+
75
19
76
20
include (cmake/StandardProjectSettings.cmake )
77
21
@@ -97,16 +41,9 @@ set(QAPPLICATION_CLASS
97
41
QApplication
98
42
CACHE STRING "Inheritance class for SingleApplication" )
99
43
100
- if (USE_EXTERNAL_SINGLEAPPLICATION )
101
- # look for external QtSingleApplication
102
- # package dev-qt/qtsingleapplication provides no symlink to current version
103
- set (qtsingleapplication_libs libQt5Solutions_SingleApplication-2.6 Qt5Solutions_SingleApplication-2.6 )
104
- find_library (QTSINGLEAPPLICATION_LIBRARY NAMES ${qtsingleapplication_libs} )
105
- message (STATUS "Using external SingleApplication library" )
106
- else ()
107
- add_subdirectory (external/singleapplication )
108
- set (QTSINGLEAPPLICATION_LIBRARY SingleApplication::SingleApplication )
109
- endif ()
44
+
45
+ add_subdirectory (external/singleapplication )
46
+ set (QTSINGLEAPPLICATION_LIBRARY SingleApplication::SingleApplication )
110
47
111
48
112
49
option (BUILD_STATIC_LIBS ON )
@@ -119,64 +56,13 @@ if (APPLE)
119
56
endif ()
120
57
add_subdirectory (src )
121
58
122
- # CPack
123
- set (CPACK_PACKAGE_VENDOR "flameshot-org" )
124
- set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "Powerful yet simple to use screenshot software." )
125
- set (CPACK_PACKAGE_VERSION ${PROJECT_VERSION} )
126
- set (CPACK_PACKAGE_HOMEPAGE_URL "https://flameshot.org" )
127
- set (
CPACK_PACKAGE_CONTACT "flameshot-org developers <[email protected] >" )
128
- set (CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR} /data/img/app/org.flameshot.Flameshot.svg" ) # TODO: Can any generator make
129
- # use of this?
130
59
set (CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR} /README.md" ) # TODO: Where is this used? Do we need a better
131
60
# source?
132
61
133
62
if (WIN32 )
134
63
# Include all dynamically linked runtime libraries such as MSVCRxxx.dll
135
64
include (InstallRequiredSystemLibraries )
136
65
137
- if (RUN_IN_PLACE )
138
- if (CMAKE_SIZEOF_VOID_P EQUAL 8 )
139
- set (CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME} -${PROJECT_VERSION} -win64" )
140
- else ()
141
- set (CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME} -${PROJECT_VERSION} -win32" )
142
- endif ()
143
-
144
- set (CPACK_GENERATOR ZIP )
145
-
146
- else ()
147
- set (CPACK_GENERATOR WIX ZIP )
148
- set (CPACK_PACKAGE_NAME "${PROJECT_NAME_CAPITALIZED} " )
149
- set (CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME_CAPITALIZED} " )
150
- set (CPACK_PACKAGE_EXECUTABLES ${PROJECT_NAME} "${PROJECT_NAME_CAPITALIZED} " )
151
- set (CPACK_CREATE_DESKTOP_LINKS ${PROJECT_NAME} )
152
-
153
- # WIX (Windows .msi installer)
154
- # 48x48 pixels
155
- set (CPACK_WIX_PRODUCT_ICON "${CMAKE_SOURCE_DIR} /data/img/app/flameshot.ico" )
156
- # Supported languages can be found at http://wixtoolset.org/documentation/manual/v3/wixui/wixui_localization.html
157
- # set(CPACK_WIX_CULTURES "ar-SA,bg-BG,ca-ES,hr-HR,cs-CZ,da-DK,nl-NL,en-US,et-EE,fi-FI,fr-FR,de-DE")
158
- set (CPACK_WIX_UI_BANNER "${CMAKE_SOURCE_DIR} /packaging/win-installer/Bitmaps/CPACK_WIX_UI_BANNER.BMP" )
159
- set (CPACK_WIX_UI_DIALOG "${CMAKE_SOURCE_DIR} /packaging/win-installer/Bitmaps/CPACK_WIX_UI_DIALOG.BMP" )
160
- set (CPACK_WIX_PROPERTY_ARPHELPLINK "${CPACK_PACKAGE_HOMEPAGE_URL} " )
161
- set (CPACK_WIX_PROPERTY_ARPURLINFOABOUT "${CPACK_PACKAGE_HOMEPAGE_URL} " )
162
- set (CPACK_WIX_ROOT_FEATURE_DESCRIPTION "${CPACK_PACKAGE_DESCRIPTION_SUMMARY} " )
163
- set (CPACK_WIX_LIGHT_EXTRA_FLAGS "-dcl:high" ) # set high compression
164
-
165
- set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR} /packaging/win-installer/LICENSE/GPL-3.0.txt" )
166
- set (CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR} /README.md" )
167
-
168
- # The correct way would be to include both x32 and x64 into one installer and install the appropriate one. CMake
169
- # does not support that, so there are two separate GUID's
170
- if (CMAKE_SIZEOF_VOID_P EQUAL 8 )
171
- set (CPACK_WIX_UPGRADE_GUID "26D8062A-66D9-48D9-8924-42090FB9B3F9" )
172
- else ()
173
- set (CPACK_WIX_UPGRADE_GUID "2C53E1B9-51D9-4429-AAE4-B02221959AA5" )
174
- endif ()
175
- endif ()
176
- elseif (APPLE )
177
- set (CPACK_INCLUDE_TOPLEVEL_DIRECTORY 0 )
178
- set (CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME} -${PROJECT_VERSION} -osx" )
179
- set (CPACK_GENERATOR ZIP )
180
66
else ()
181
67
set (CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME} -${PROJECT_VERSION} -linux" )
182
68
set (CPACK_GENERATOR TGZ )
0 commit comments