mirror of
https://github.com/fergalmoran/flameshot.git
synced 2025-12-22 09:51:06 +00:00
CMake: add option to use external singleapplication (#1598)
This commit is contained in:
@@ -86,7 +86,17 @@ enable_sanitizers(project_options)
|
|||||||
set(QAPPLICATION_CLASS
|
set(QAPPLICATION_CLASS
|
||||||
QApplication
|
QApplication
|
||||||
CACHE STRING "Inheritance class for SingleApplication")
|
CACHE STRING "Inheritance class for SingleApplication")
|
||||||
add_subdirectory(external/singleapplication)
|
|
||||||
|
if(USE_EXTERNAL_SINGLEAPPLICATION)
|
||||||
|
# look for external QtSingleApplication
|
||||||
|
# package dev-qt/qtsingleapplication provides no symlink to current version
|
||||||
|
set(qtsingleapplication_libs libQt5Solutions_SingleApplication-2.6 Qt5Solutions_SingleApplication-2.6)
|
||||||
|
find_library(QTSINGLEAPPLICATION_LIBRARY NAMES ${qtsingleapplication_libs})
|
||||||
|
message(STATUS "Using external SingleApplication library")
|
||||||
|
else()
|
||||||
|
add_subdirectory(external/singleapplication)
|
||||||
|
set(QTSINGLEAPPLICATION_LIBRARY SingleApplication::SingleApplication)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(USE_EXTERNAL_SPDLOG)
|
if(USE_EXTERNAL_SPDLOG)
|
||||||
find_package(spdlog REQUIRED)
|
find_package(spdlog REQUIRED)
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ endif ()
|
|||||||
|
|
||||||
target_sources(
|
target_sources(
|
||||||
flameshot
|
flameshot
|
||||||
PRIVATE # ${CMAKE_CURRENT_SOURCE_DIR}/../external/singleapplication/singleapplication.cpp
|
PRIVATE
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/../external/Qt-Color-Widgets/src/color_utils.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Qt-Color-Widgets/src/color_utils.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/../external/Qt-Color-Widgets/src/color_wheel.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Qt-Color-Widgets/src/color_wheel.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/../external/Qt-Color-Widgets/include/color_wheel.hpp
|
${CMAKE_CURRENT_SOURCE_DIR}/../external/Qt-Color-Widgets/include/color_wheel.hpp
|
||||||
@@ -126,7 +126,6 @@ target_include_directories(
|
|||||||
flameshot
|
flameshot
|
||||||
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../>
|
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../external/singleapplication/>
|
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../external/Qt-Color-Widgets/include>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../external/Qt-Color-Widgets/include>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../dbus/>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../dbus/>
|
||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/cli>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/cli>
|
||||||
@@ -161,6 +160,15 @@ target_include_directories(
|
|||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/widgets/capture>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/widgets/capture>
|
||||||
$<INSTALL_INTERFACE:include/mylib>)
|
$<INSTALL_INTERFACE:include/mylib>)
|
||||||
|
|
||||||
|
if (USE_EXTERNAL_SINGLEAPPLICATION)
|
||||||
|
add_compile_definitions(USE_EXTERNAL_SINGLEAPPLICATION=1)
|
||||||
|
else ()
|
||||||
|
target_include_directories(
|
||||||
|
flameshot
|
||||||
|
PUBLIC
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../external/singleapplication>)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_link_libraries(
|
target_link_libraries(
|
||||||
flameshot
|
flameshot
|
||||||
project_warnings
|
project_warnings
|
||||||
@@ -169,7 +177,7 @@ target_link_libraries(
|
|||||||
Qt5::DBus
|
Qt5::DBus
|
||||||
Qt5::Network
|
Qt5::Network
|
||||||
Qt5::Widgets
|
Qt5::Widgets
|
||||||
SingleApplication::SingleApplication
|
${QTSINGLEAPPLICATION_LIBRARY}
|
||||||
spdlog::spdlog
|
spdlog::spdlog
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,12 @@
|
|||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// SPDX-FileCopyrightText: 2017-2019 Alejandro Sirgo Rica & Contributors
|
// SPDX-FileCopyrightText: 2017-2019 Alejandro Sirgo Rica & Contributors
|
||||||
|
|
||||||
|
#ifndef USE_EXTERNAL_SINGLEAPPLICATION
|
||||||
#include "singleapplication.h"
|
#include "singleapplication.h"
|
||||||
|
#else
|
||||||
|
#include "QtSolutions/qtsingleapplication.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "src/cli/commandlineparser.h"
|
#include "src/cli/commandlineparser.h"
|
||||||
#include "src/config/styleoverride.h"
|
#include "src/config/styleoverride.h"
|
||||||
#include "src/core/capturerequest.h"
|
#include "src/core/capturerequest.h"
|
||||||
@@ -65,7 +70,11 @@ int main(int argc, char* argv[])
|
|||||||
|
|
||||||
// no arguments, just launch Flameshot
|
// no arguments, just launch Flameshot
|
||||||
if (argc == 1) {
|
if (argc == 1) {
|
||||||
|
#ifndef USE_EXTERNAL_SINGLEAPPLICATION
|
||||||
SingleApplication app(argc, argv);
|
SingleApplication app(argc, argv);
|
||||||
|
#else
|
||||||
|
QtSingleApplication app(argc, argv);
|
||||||
|
#endif
|
||||||
QApplication::setStyle(new StyleOverride);
|
QApplication::setStyle(new StyleOverride);
|
||||||
|
|
||||||
QTranslator translator, qtTranslator;
|
QTranslator translator, qtTranslator;
|
||||||
|
|||||||
Reference in New Issue
Block a user