Skip to content

Commit 67042f2

Browse files
authored
Enable Singleapplication again (flameshot-org#4030)
* Enable SingleApplication again (compile flag; enabled by default) * Enable SingleApplication again (compile flag; enabled by default) * Cleanup: Removed /external/ subfolder
1 parent 019a53e commit 67042f2

File tree

3 files changed

+20
-35
lines changed

3 files changed

+20
-35
lines changed

CMakeLists.txt

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ set(RUN_IN_PLACE
9191
option(FLAMESHOT_DEBUG_CAPTURE "Enable mode to make debugging easier" OFF)
9292
option(USE_MONOCHROME_ICON "Build using monochrome icon as default" OFF)
9393
option(GENERATE_TS "Regenerate translation source files" OFF)
94-
option(USE_EXTERNAL_SINGLEAPPLICATION "Use external QtSingleApplication library" OFF)
94+
option(USE_SINGLEAPPLICATION "Use SingleApplication library" ON)
9595
option(USE_LAUNCHER_ABSOLUTE_PATH "Use absolute path for the desktop launcher" ON)
9696
option(USE_WAYLAND_CLIPBOARD "USE KF Gui Wayland Clipboard" OFF)
9797
option(DISABLE_UPDATE_CHECKER "Disable check for updates" OFF)
@@ -119,24 +119,17 @@ enable_sanitizers(project_options)
119119

120120
# allow for static analysis options include(cmake/StaticAnalyzers.cmake)
121121

122-
set(QAPPLICATION_CLASS
123-
QApplication
124-
CACHE STRING "Inheritance class for SingleApplication")
122+
if(USE_SINGLEAPPLICATION)
123+
set(QAPPLICATION_CLASS
124+
QApplication
125+
CACHE STRING "Inheritance class for SingleApplication")
125126

126-
if(USE_EXTERNAL_SINGLEAPPLICATION)
127-
# look for external QtSingleApplication
128-
# package dev-qt/qtsingleapplication provides no symlink to current version
129-
set(qtsingleapplication_libs libQt5Solutions_SingleApplication-2.6 Qt5Solutions_SingleApplication-2.6)
130-
find_library(QTSINGLEAPPLICATION_LIBRARY NAMES ${qtsingleapplication_libs})
131-
message(STATUS "Using external QtSingleApplication library")
132-
else()
133127
FetchContent_Declare(
134128
singleApplication
135129
GIT_REPOSITORY https://github.com/itay-grudev/SingleApplication.git
136130
GIT_TAG v3.5.2
137131
)
138132
FetchContent_MakeAvailable(SingleApplication)
139-
set(QTSINGLEAPPLICATION_LIBRARY SingleApplication::SingleApplication)
140133
endif()
141134

142135

src/CMakeLists.txt

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -153,9 +153,6 @@ endif ()
153153
target_sources(
154154
flameshot
155155
PRIVATE
156-
# ${CMAKE_CURRENT_SOURCE_DIR}/../external/Qt-Color-Widgets/src/QtColorWidgets/color_utils.cpp
157-
# ${CMAKE_CURRENT_SOURCE_DIR}/../external/Qt-Color-Widgets/src/QtColorWidgets/color_wheel.cpp
158-
# ${CMAKE_CURRENT_SOURCE_DIR}/../external/Qt-Color-Widgets/include/QtColorWidgets/color_wheel.hpp
159156
${CMAKE_CURRENT_SOURCE_DIR}/../data/graphics.qrc
160157
${CMAKE_CURRENT_SOURCE_DIR}/../data/flameshot.rc # windows binary icon resource file
161158
${QM_FILES}
@@ -165,7 +162,6 @@ target_include_directories(
165162
flameshot
166163
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../>
167164
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/>
168-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../external/Qt-Color-Widgets/include>
169165
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../dbus/>
170166
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/cli>
171167
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/config>
@@ -205,16 +201,6 @@ target_include_directories(
205201
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/>
206202
)
207203

208-
209-
if (USE_EXTERNAL_SINGLEAPPLICATION)
210-
add_compile_definitions(USE_EXTERNAL_SINGLEAPPLICATION=1)
211-
else ()
212-
target_include_directories(
213-
flameshot
214-
PUBLIC
215-
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../external/singleapplication>)
216-
endif()
217-
218204
target_link_libraries(
219205
flameshot
220206
project_warnings
@@ -223,10 +209,18 @@ target_link_libraries(
223209
Qt${QT_VERSION_MAJOR}::DBus
224210
Qt${QT_VERSION_MAJOR}::Network
225211
Qt${QT_VERSION_MAJOR}::Widgets
226-
${QTSINGLEAPPLICATION_LIBRARY}
227212
QtColorWidgets
228213
)
229214

215+
if (USE_SINGLEAPPLICATION)
216+
message(STATUS "SingleApplication is used!")
217+
add_compile_definitions(USE_SINGLEAPPLICATION=1)
218+
target_link_libraries(
219+
flameshot
220+
SingleApplication::SingleApplication
221+
)
222+
endif()
223+
230224
if (USE_WAYLAND_CLIPBOARD)
231225
target_compile_definitions(flameshot PRIVATE USE_WAYLAND_CLIPBOARD=1)
232226
target_link_libraries(flameshot KF6::GuiAddons)

src/main.cpp

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
// SPDX-License-Identifier: GPL-3.0-or-later
22
// SPDX-FileCopyrightText: 2017-2019 Alejandro Sirgo Rica & Contributors
33

4-
#ifndef USE_EXTERNAL_SINGLEAPPLICATION
4+
#ifdef USE_SINGLEAPPLICATION
55
#include "singleapplication.h"
6-
#else
7-
#include "QtSolutions/qtsingleapplication.h"
86
#endif
97

108
#include "abstractlogger.h"
@@ -129,12 +127,12 @@ int main(int argc, char* argv[])
129127

130128
// no arguments, just launch Flameshot
131129
if (argc == 1) {
132-
// #ifndef USE_EXTERNAL_SINGLEAPPLICATION
133-
// SingleApplication app(argc, argv);
134-
// #else
135-
// QtSingleApplication app(argc, argv);
136-
// #endif
130+
#ifdef USE_SINGLEAPPLICATION
131+
SingleApplication app(argc, argv);
132+
#else
137133
QApplication app(argc, argv);
134+
#endif
135+
138136
configureApp(true);
139137
auto c = Flameshot::instance();
140138
FlameshotDaemon::start();

0 commit comments

Comments
 (0)