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
|
||||
QApplication
|
||||
CACHE STRING "Inheritance class for 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)
|
||||
find_package(spdlog REQUIRED)
|
||||
|
||||
@@ -113,7 +113,7 @@ endif ()
|
||||
|
||||
target_sources(
|
||||
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_wheel.cpp
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../external/Qt-Color-Widgets/include/color_wheel.hpp
|
||||
@@ -126,7 +126,6 @@ target_include_directories(
|
||||
flameshot
|
||||
PUBLIC $<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}/../dbus/>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/cli>
|
||||
@@ -161,6 +160,15 @@ target_include_directories(
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/widgets/capture>
|
||||
$<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(
|
||||
flameshot
|
||||
project_warnings
|
||||
@@ -169,7 +177,7 @@ target_link_libraries(
|
||||
Qt5::DBus
|
||||
Qt5::Network
|
||||
Qt5::Widgets
|
||||
SingleApplication::SingleApplication
|
||||
${QTSINGLEAPPLICATION_LIBRARY}
|
||||
spdlog::spdlog
|
||||
)
|
||||
|
||||
|
||||
@@ -1,7 +1,12 @@
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
// SPDX-FileCopyrightText: 2017-2019 Alejandro Sirgo Rica & Contributors
|
||||
|
||||
#ifndef USE_EXTERNAL_SINGLEAPPLICATION
|
||||
#include "singleapplication.h"
|
||||
#else
|
||||
#include "QtSolutions/qtsingleapplication.h"
|
||||
#endif
|
||||
|
||||
#include "src/cli/commandlineparser.h"
|
||||
#include "src/config/styleoverride.h"
|
||||
#include "src/core/capturerequest.h"
|
||||
@@ -65,7 +70,11 @@ int main(int argc, char* argv[])
|
||||
|
||||
// no arguments, just launch Flameshot
|
||||
if (argc == 1) {
|
||||
#ifndef USE_EXTERNAL_SINGLEAPPLICATION
|
||||
SingleApplication app(argc, argv);
|
||||
#else
|
||||
QtSingleApplication app(argc, argv);
|
||||
#endif
|
||||
QApplication::setStyle(new StyleOverride);
|
||||
|
||||
QTranslator translator, qtTranslator;
|
||||
|
||||
Reference in New Issue
Block a user