Sophie

Sophie

distrib > Mageia > 9 > armv7hl > media > core-release-src > by-pkgid > c677c20b664e527126fbf3386e7dec21 > files > 1

openorienteering-mapper-0.9.5-5.mga9.src.rpm

From 51fd68cf71ac9b5f8138de7a91a2edff19d1dea6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jani=20V=C3=A4limaa?= <wally@mageia.org>
Date: Sat, 7 Oct 2017 13:08:21 +0300
Subject: [PATCH] Use system QtSingleApplication

---
 CMakeLists.txt                      |  3 +-
 cmake/FindQtSingleApplication.cmake | 94 +++++++++++++++++++++++++++++++++++++
 src/CMakeLists.txt                  |  3 +-
 3 files changed, 98 insertions(+), 2 deletions(-)
 create mode 100644 cmake/FindQtSingleApplication.cmake

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 93ff32d..44509f6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -269,7 +269,8 @@ if(Mapper_WITH_COVE)
 	add_subdirectory("3rd-party/cove")
 endif()
 if(NOT ANDROID)
-	add_subdirectory("3rd-party/qtsingleapplication")
+	find_package(Qt5Widgets REQUIRED)
+	find_package(QtSingleApplication REQUIRED)
 endif()
 if (Mapper_USE_GDAL)
 	add_subdirectory("src/gdal")
diff --git a/cmake/FindQtSingleApplication.cmake b/cmake/FindQtSingleApplication.cmake
new file mode 100644
index 0000000..eb56607
--- /dev/null
+++ b/cmake/FindQtSingleApplication.cmake
@@ -0,0 +1,94 @@
+# - Try to find the QtSingleApplication includes and library
+# which defines
+#
+# QTSINGLEAPPLICATION_FOUND - system has QtSingleApplication
+# QTSINGLEAPPLICATION_INCLUDE_DIR - where to find header QtSingleApplication
+# QTSINGLEAPPLICATION_LIBRARIES - the libraries to link against to use QtSingleApplication
+# QTSINGLEAPPLICATION_LIBRARY - where to find the QtSingleApplication library (not for general use)
+
+# copyright (c) 2013 TI_Eugene ti.eugene@gmail.com
+#
+# Redistribution and use is allowed according to the terms of the FreeBSD license.
+
+SET(QTSINGLEAPPLICATION_FOUND FALSE)
+
+IF(QT4_FOUND)
+    message(STATUS "Looking for Qt4 single application library")
+    FIND_PATH(QTSINGLEAPPLICATION_INCLUDE_DIR QtSingleApplication
+                # standard locations
+                /usr/include
+                /usr/include/QtSolutions
+                # qt4 location except mac's frameworks
+                "${QT_INCLUDE_DIR}/QtSolutions"
+                # mac's frameworks
+                ${FRAMEWORK_INCLUDE_DIR}/QtSolutions
+    )
+
+    SET(QTSINGLEAPPLICATION_NAMES ${QTSINGLEAPPLICATION_NAMES}
+        QtSolutions_SingleApplication-2.6 libQtSolutions_SingleApplication-2.6)
+    FIND_LIBRARY(QTSINGLEAPPLICATION_LIBRARY
+        NAMES ${QTSINGLEAPPLICATION_NAMES}
+        PATHS ${QT_LIBRARY_DIR}
+    )
+ELSEIF(Qt5Widgets_FOUND)
+    message(STATUS "Looking for Qt5 single application library")
+    FOREACH(TOP_INCLUDE_PATH in ${Qt5Widgets_INCLUDE_DIRS} ${FRAMEWORK_INCLUDE_DIR})
+        FIND_PATH(QTSINGLEAPPLICATION_INCLUDE_DIR QtSingleApplication ${TOP_INCLUDE_PATH}/QtSolutions)
+
+        IF(QTSINGLEAPPLICATION_INCLUDE_DIR)
+            BREAK()
+        ENDIF()
+    ENDFOREACH()
+
+    SET(QTSINGLEAPPLICATION_NAMES ${QTSINGLEAPPLICATION_NAMES}
+        Qt5Solutions_SingleApplication-2.6 libQt5Solutions_SingleApplication-2.6
+        QtSolutions_SingleApplication-2.6 libQtSolutions_SingleApplication-2.6)
+    GET_TARGET_PROPERTY(QT5_WIDGETSLIBRARY Qt5::Widgets LOCATION)
+    GET_FILENAME_COMPONENT(QT5_WIDGETSLIBRARYPATH ${QT5_WIDGETSLIBRARY} PATH)
+
+    FIND_LIBRARY(QTSINGLEAPPLICATION_LIBRARY
+        NAMES ${QTSINGLEAPPLICATION_NAMES}
+        PATHS ${QT5_WIDGETSLIBRARYPATH}
+    )
+ENDIF()
+
+IF (QTSINGLEAPPLICATION_LIBRARY AND QTSINGLEAPPLICATION_INCLUDE_DIR)
+
+    SET(QTSINGLEAPPLICATION_LIBRARIES ${QTSINGLEAPPLICATION_LIBRARY})
+    SET(QTSINGLEAPPLICATION_FOUND TRUE)
+
+    IF (CYGWIN)
+        IF(BUILD_SHARED_LIBS)
+        # No need to define QTSINGLEAPPLICATION_USE_DLL here, because it's default for Cygwin.
+        ELSE(BUILD_SHARED_LIBS)
+        SET (QTSINGLEAPPLICATION_DEFINITIONS -DQTSINGLEAPPLICATION_STATIC)
+        ENDIF(BUILD_SHARED_LIBS)
+    ENDIF (CYGWIN)
+
+ENDIF (QTSINGLEAPPLICATION_LIBRARY AND QTSINGLEAPPLICATION_INCLUDE_DIR)
+
+IF (QTSINGLEAPPLICATION_FOUND)
+  IF (NOT QtSingleApplication_FIND_QUIETLY)
+    MESSAGE(STATUS "Found QtSingleApplication: ${QTSINGLEAPPLICATION_LIBRARY}")
+    MESSAGE(STATUS "         includes: ${QTSINGLEAPPLICATION_INCLUDE_DIR}")
+  ENDIF (NOT QtSingleApplication_FIND_QUIETLY)
+ELSE (QTSINGLEAPPLICATION_FOUND)
+  IF (QtSingleApplication_FIND_REQUIRED)
+    MESSAGE(FATAL_ERROR "Could not find QtSingleApplication library")
+  ENDIF (QtSingleApplication_FIND_REQUIRED)
+ENDIF (QTSINGLEAPPLICATION_FOUND)
+
+MARK_AS_ADVANCED(QTSINGLEAPPLICATION_INCLUDE_DIR QTSINGLEAPPLICATION_LIBRARY)
+
+if(NOT TARGET QtSingleApplication::QtSingleApplication)
+    add_library(QtSingleApplication::QtSingleApplication UNKNOWN IMPORTED)
+    set_target_properties(QtSingleApplication::QtSingleApplication PROPERTIES
+        INTERFACE_INCLUDE_DIRECTORIES "${QTSINGLEAPPLICATION_INCLUDE_DIR}"
+        INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${QTSINGLEAPPLICATION_INCLUDE_DIR}"
+    )
+    if(EXISTS "${QTSINGLEAPPLICATION_LIBRARY}")
+    set_target_properties(QtSingleApplication::QtSingleApplication PROPERTIES
+        IMPORTED_LINK_INTERFACE_LANGUAGES "CXX"
+        IMPORTED_LOCATION "${QTSINGLEAPPLICATION_LIBRARY}")
+    endif()
+endif(NOT TARGET QtSingleApplication::QtSingleApplication)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index ba528a3..67e9fef 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -309,7 +309,8 @@ if(ANDROID)
 else()
 	add_executable(Mapper WIN32 MACOSX_BUNDLE ${Mapper_SRCS})
 	target_compile_definitions(Mapper PRIVATE MAPPER_USE_QTSINGLEAPPLICATION)
-	target_link_libraries(Mapper QtSingleApplication)
+	target_include_directories(Mapper PUBLIC ${QTSINGLEAPPLICATION_INCLUDE_DIR})
+	target_link_libraries(Mapper ${QTSINGLEAPPLICATION_LIBRARIES})
 endif()
 
 target_link_libraries(Mapper

-- 
2.14.2