[neon/neon-packaging/glaxnimate/Neon/unstable] debian/patches: redo patch again
Carlos De Maine
null at kde.org
Fri Sep 29 08:47:53 BST 2023
Git commit d0b61fee1d17697bb104db737d5c506e0bc96cff by Carlos De Maine.
Committed on 29/09/2023 at 09:47.
Pushed by carlosdem into branch 'Neon/unstable'.
redo patch again
M +1051 -64 debian/patches/0001_patch
https://invent.kde.org/neon/neon-packaging/glaxnimate/-/commit/d0b61fee1d17697bb104db737d5c506e0bc96cff
diff --git a/debian/patches/0001_patch b/debian/patches/0001_patch
index ee23186..ab6f229 100644
--- a/debian/patches/0001_patch
+++ b/debian/patches/0001_patch
@@ -1,69 +1,171 @@
--- /dev/null
-+++ b/cmake/FindPotrace.cmake
-@@ -0,0 +1,63 @@
-+# POTRACE_FOUND - system has Potrace
-+# POTRACE_INCLUDE_DIRS - the Potrace include directory
-+# POTRACE_LIBRARIES - The libraries needed to use Potrace
-+
-+IF (POTRACE_LIBRARIES AND POTRACE_INCLUDE_DIRS)
-+ # in cache already
-+ SET(POTRACE_FOUND TRUE)
-+ELSE (POTRACE_LIBRARIES AND POTRACE_INCLUDE_DIRS)
-+ FIND_PATH (POTRACE_INCLUDE_DIR
-+ NAMES
-+ potracelib.h
-+ PATHS
-+ /usr/include
-+ /usr/local/include
-+ $ENV{DEVLIBS_PATH}/include
-+ PATH_SUFFIXES
-+ potrace
-+ )
-+
-+ FIND_LIBRARY (POTRACE_LIBRARY
-+ NAMES
-+ potrace
-+ libpotrace
-+ PATHS
-+ /usr/lib
-+ /usr/local/lib
-+ $ENV{DEVLIBS_PATH}/lib
-+ )
-+
-+ if (POTRACE_LIBRARY)
-+ set (POTRACE_FOUND TRUE)
-+ endif (POTRACE_LIBRARY)
-+
-+ set (POTRACE_INCLUDE_DIRS
-+ ${POTRACE_INCLUDE_DIR}
-+ )
-+
-+ if (POTRACE_FOUND)
-+ set(POTRACE_LIBRARIES
-+ ${POTRACE_LIBRARIES}
-+ ${POTRACE_LIBRARY}
-+ )
-+ endif (POTRACE_FOUND)
-+
-+ if (POTRACE_INCLUDE_DIRS AND POTRACE_LIBRARIES)
-+ set(POTRACE_FOUND TRUE)
-+ endif (POTRACE_INCLUDE_DIRS AND POTRACE_LIBRARIES)
-+
-+ if (POTRACE_FOUND)
-+ if (NOT Potrace_FIND_QUIETLY)
-+ message(STATUS "Found Potrace: ${POTRACE_LIBRARIES}")
-+ endif (NOT Potrace_FIND_QUIETLY)
-+ else (POTRACE_FOUND)
-+ if (Potrace_FIND_REQUIRED)
-+ message(FATAL_ERROR "Could not find potrace")
-+ endif (Potrace_FIND_REQUIRED)
-+ endif (POTRACE_FOUND)
-+
-+ # show the POTRACE_INCLUDE_DIRS and POTRACE_LIBRARIES variables only in the advanced view
-+ MARK_AS_ADVANCED(POTRACE_INCLUDE_DIRS POTRACE_LIBRARIES)
-+
-+endif (POTRACE_LIBRARIES AND POTRACE_INCLUDE_DIRS)
++++ b/cmake/COPYING
+@@ -0,0 +1,165 @@
++ GNU LESSER GENERAL PUBLIC LICENSE
++ Version 3, 29 June 2007
++
++ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
++ Everyone is permitted to copy and distribute verbatim copies
++ of this license document, but changing it is not allowed.
++
++
++ This version of the GNU Lesser General Public License incorporates
++the terms and conditions of version 3 of the GNU General Public
++License, supplemented by the additional permissions listed below.
++
++ 0. Additional Definitions.
++
++ As used herein, "this License" refers to version 3 of the GNU Lesser
++General Public License, and the "GNU GPL" refers to version 3 of the GNU
++General Public License.
++
++ "The Library" refers to a covered work governed by this License,
++other than an Application or a Combined Work as defined below.
++
++ An "Application" is any work that makes use of an interface provided
++by the Library, but which is not otherwise based on the Library.
++Defining a subclass of a class defined by the Library is deemed a mode
++of using an interface provided by the Library.
++
++ A "Combined Work" is a work produced by combining or linking an
++Application with the Library. The particular version of the Library
++with which the Combined Work was made is also called the "Linked
++Version".
++
++ The "Minimal Corresponding Source" for a Combined Work means the
++Corresponding Source for the Combined Work, excluding any source code
++for portions of the Combined Work that, considered in isolation, are
++based on the Application, and not on the Linked Version.
++
++ The "Corresponding Application Code" for a Combined Work means the
++object code and/or source code for the Application, including any data
++and utility programs needed for reproducing the Combined Work from the
++Application, but excluding the System Libraries of the Combined Work.
++
++ 1. Exception to Section 3 of the GNU GPL.
++
++ You may convey a covered work under sections 3 and 4 of this License
++without being bound by section 3 of the GNU GPL.
++
++ 2. Conveying Modified Versions.
++
++ If you modify a copy of the Library, and, in your modifications, a
++facility refers to a function or data to be supplied by an Application
++that uses the facility (other than as an argument passed when the
++facility is invoked), then you may convey a copy of the modified
++version:
++
++ a) under this License, provided that you make a good faith effort to
++ ensure that, in the event an Application does not supply the
++ function or data, the facility still operates, and performs
++ whatever part of its purpose remains meaningful, or
++
++ b) under the GNU GPL, with none of the additional permissions of
++ this License applicable to that copy.
++
++ 3. Object Code Incorporating Material from Library Header Files.
++
++ The object code form of an Application may incorporate material from
++a header file that is part of the Library. You may convey such object
++code under terms of your choice, provided that, if the incorporated
++material is not limited to numerical parameters, data structure
++layouts and accessors, or small macros, inline functions and templates
++(ten or fewer lines in length), you do both of the following:
++
++ a) Give prominent notice with each copy of the object code that the
++ Library is used in it and that the Library and its use are
++ covered by this License.
++
++ b) Accompany the object code with a copy of the GNU GPL and this license
++ document.
++
++ 4. Combined Works.
+
++ You may convey a Combined Work under terms of your choice that,
++taken together, effectively do not restrict modification of the
++portions of the Library contained in the Combined Work and reverse
++engineering for debugging such modifications, if you also do each of
++the following:
++
++ a) Give prominent notice with each copy of the Combined Work that
++ the Library is used in it and that the Library and its use are
++ covered by this License.
++
++ b) Accompany the Combined Work with a copy of the GNU GPL and this license
++ document.
++
++ c) For a Combined Work that displays copyright notices during
++ execution, include the copyright notice for the Library among
++ these notices, as well as a reference directing the user to the
++ copies of the GNU GPL and this license document.
++
++ d) Do one of the following:
++
++ 0) Convey the Minimal Corresponding Source under the terms of this
++ License, and the Corresponding Application Code in a form
++ suitable for, and under terms that permit, the user to
++ recombine or relink the Application with a modified version of
++ the Linked Version to produce a modified Combined Work, in the
++ manner specified by section 6 of the GNU GPL for conveying
++ Corresponding Source.
++
++ 1) Use a suitable shared library mechanism for linking with the
++ Library. A suitable mechanism is one that (a) uses at run time
++ a copy of the Library already present on the user's computer
++ system, and (b) will operate properly with a modified version
++ of the Library that is interface-compatible with the Linked
++ Version.
++
++ e) Provide Installation Information, but only if you would otherwise
++ be required to provide such information under section 6 of the
++ GNU GPL, and only to the extent that such information is
++ necessary to install and execute a modified version of the
++ Combined Work produced by recombining or relinking the
++ Application with a modified version of the Linked Version. (If
++ you use option 4d0, the Installation Information must accompany
++ the Minimal Corresponding Source and Corresponding Application
++ Code. If you use option 4d1, you must provide the Installation
++ Information in the manner specified by section 6 of the GNU GPL
++ for conveying Corresponding Source.)
++
++ 5. Combined Libraries.
++
++ You may place library facilities that are a work based on the
++Library side by side in a single library together with other library
++facilities that are not Applications and are not covered by this
++License, and convey such a combined library under terms of your
++choice, if you do both of the following:
++
++ a) Accompany the combined library with a copy of the same work based
++ on the Library, uncombined with any other library facilities,
++ conveyed under the terms of this License.
++
++ b) Give prominent notice with the combined library that part of it
++ is a work based on the Library, and explaining where to find the
++ accompanying uncombined form of the same work.
++
++ 6. Revised Versions of the GNU Lesser General Public License.
++
++ The Free Software Foundation may publish revised and/or new versions
++of the GNU Lesser General Public License from time to time. Such new
++versions will be similar in spirit to the present version, but may
++differ in detail to address new problems or concerns.
++
++ Each version is given a distinguishing version number. If the
++Library as you received it specifies that a certain numbered version
++of the GNU Lesser General Public License "or any later version"
++applies to it, you have the option of following the terms and
++conditions either of that published version or of any later version
++published by the Free Software Foundation. If the Library as you
++received it does not specify a version number of the GNU Lesser
++General Public License, you may choose any version of the GNU Lesser
++General Public License ever published by the Free Software Foundation.
++
++ If the Library as you received it specifies that a proxy can decide
++whether future versions of the GNU Lesser General Public License shall
++apply, that proxy's public statement of acceptance of any version is
++permanent authorization for you to choose that version for the
++Library.
--- /dev/null
+++ b/cmake/GetGitRevisionDescription.cmake
@@ -0,0 +1,285 @@
@@ -402,6 +504,891 @@
+ string(STRIP "${HEAD_HASH}" HEAD_HASH)
+endif()
--- /dev/null
++++ b/cmake/README.md
+@@ -0,0 +1,2 @@
++# CMake-Lib
++Some reusable CMake scripts
+--- /dev/null
++++ b/cmake/misc.cmake
+@@ -0,0 +1,91 @@
++#
++# Copyright (C) 2015-2017 Mattia Basaglia
++#
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++
++# Sets C++ standard version and disables extensions
++# Synopsis: use_cxx_standard(version)
++function(use_cxx_standard version)
++ set(CMAKE_CXX_STANDARD ${version} PARENT_SCOPE)
++ set(CMAKE_CXX_EXTENSIONS OFF PARENT_SCOPE)
++ set(CMAKE_CXX_STANDARD_REQUIRED ON PARENT_SCOPE)
++ message(STATUS "Using C++${version}")
++
++ if(${CMAKE_VERSION} LESS 3.2)
++ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR CMAKE_COMPILER_IS_GNUCXX)
++ include(CheckCXXCompilerFlag)
++ check_cxx_compiler_flag(--std=c++${version} STD_CXX)
++ if(STD_CXX)
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++${version}" PARENT_SCOPE)
++ else()
++ message(SEND_ERROR "Requires C++${version} or better")
++ endif()
++ else()
++ message(WARNING "Unrecognized compiler: ${CMAKE_CXX_COMPILER_ID}, make sure it supports C++${version}")
++ endif()
++ endif()
++endfunction()
++
++# Searches all sources matching a some glob patterns
++# Synopsis:
++# find_sources(
++# OUTPUT output_variable # Variable to populate
++# PATTERNS pattern... # Glob patterns for matching files
++# SOURCES directory... # Directories to scan
++# )
++function(find_sources)
++ set(options)
++ set(one_value OUTPUT)
++ set(multi_value PATTERNS SOURCES)
++ cmake_parse_arguments(PARSE_ARGV 0 FIND_SOURCES "${options}" "${one_value}" "${multi_value}")
++
++ set(all_files)
++ foreach(dir ${FIND_SOURCES_SOURCES})
++ foreach(pattern ${FIND_SOURCES_PATTERNS})
++ file(GLOB_RECURSE files "${dir}/${pattern}")
++ list(APPEND all_files ${files})
++ endforeach()
++ endforeach()
++ set(${FIND_SOURCES_OUTPUT} ${all_files} PARENT_SCOPE)
++endfunction()
++
++
++# Creates targets to generate Doxygen documentation
++# Synopsis: create_doxygen_target(name)
++function(create_doxygen_target name)
++ set(DOXYGEN_OUTPUT "\"${CMAKE_BINARY_DIR}/${name}\"")
++
++ set(DOXYGEN_INPUT "")
++ find_sources(DOXYGEN_INPUT_FILES "*.dox")
++ set(DOXYGEN_INPUT_FILES ${DOXYGEN_INPUT_FILES} ${ALL_SOURCES})
++ foreach(source ${DOXYGEN_INPUT_FILES})
++ set(DOXYGEN_INPUT "${DOXYGEN_INPUT} \"${source}\"")
++ endforeach()
++
++ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${PROJECT_BINARY_DIR}/Doxyfile)
++ add_custom_target(${name}
++ ${DOXYGEN_EXECUTABLE} ${PROJECT_BINARY_DIR}/Doxyfile
++ DEPENDS ${PROJECT_BINARY_DIR}/Doxyfile ${DOXYGEN_INPUT_FILES}
++ WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
++ COMMENT "Generating Doxygen Documentation" VERBATIM
++ )
++ add_custom_target(${name}-view
++ xdg-open ${DOXYGEN_OUTPUT}/html/index.html
++ COMMENT "Showing Doxygen documentation"
++ )
++endfunction()
++
++
++set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_LIST_DIR}/modules")
+--- /dev/null
++++ b/cmake/modules/FindIconv.cmake
+@@ -0,0 +1,39 @@
++#
++# Copyright (C) 2015-2017 Mattia Basaglia
++#
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# Tries to find the Iconv library
++
++set(Iconv_PREFIX "${CMAKE_SYSTEM_PREFIX_PATH}" CACHE PATH "Iconv installation prefix")
++set(Iconv_HEADER_BASENAME iconv.h)
++
++find_path(Iconv_INCLUDE_DIR ${Iconv_HEADER_BASENAME} PATHS ${Iconv_PREFIX})
++find_library(Iconv_LIBRARY NAMES iconv PATHS ${Iconv_PREFIX})
++
++if(Iconv_INCLUDE_DIR)
++ message(STATUS "Found Iconv")
++ set(Iconv_FOUND TRUE)
++ if (NOT Iconv_LIBRARY)
++ set(Iconv_LIBRARY "")
++ endif()
++else()
++ set(Iconv_FOUND FALSE)
++ set(Iconv_ERROR_MESSAGE "Iconv not found!")
++ if(Iconv_FIND_REQUIRED)
++ message(FATAL_ERROR ${Iconv_ERROR_MESSAGE})
++ elseif(NOT Iconv_FIND_QUIETLY)
++ message(STATUS ${Iconv_ERROR_MESSAGE})
++ endif()
++endif()
+--- /dev/null
++++ b/cmake/modules/FindImageQuant.cmake
+@@ -0,0 +1,76 @@
++#
++# Copyright (C) 2015-2020 Mattia Basaglia
++#
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# Tries to find libav
++#
++# Input:
++# ImageQuant_PREFIX
++# ImageQuant_LIBRARIES
++# ImageQuant_INCLUDE_DIRS
++#
++# Output:
++# ImageQuant_FOUND
++# ImageQuant_LIBRARIES
++# ImageQuant_INCLUDE_DIRS
++# For each component:
++# ImageQuant_<component>_FOUND
++# ImageQuant_<component>_INCLUDE_DIR
++# ImageQuant_<component>_LIBRARY
++
++
++set(ImageQuant_PREFIX "${CMAKE_SYSTEM_PREFIX_PATH}" CACHE PATH "libimagequant installation prefix")
++
++if(ImageQuant_LIBRARIES AND ImageQuant_INCLUDE_DIRS)
++ set(ImageQuant_FOUND TRUE)
++else()
++ set(ImageQuant_LIBRARIES)
++ set(ImageQuant_INCLUDE_DIRS)
++
++ find_path(
++ ImageQuant_INCLUDE_DIRS
++ NAMES
++ "libimagequant.h"
++ PATHS
++ ${ImageQuant_PREFIX}/include
++ /usr/local/include
++ /usr/include
++ /usr/local/homebrew/opt/imagequant/include/
++ )
++
++ find_library(
++ ImageQuant_LIBRARIES
++ NAMES
++ imagequant
++ PATHS
++ ${ImageQuant_PREFIX}/lib
++ /usr/local/lib
++ /usr/local/lib/x86_64-linux-gnu
++ /usr/lib
++ /usr/lib/x86_64-linux-gnu
++ /usr/local/homebrew/opt/imagequant/lib/
++ )
++
++ list(REMOVE_DUPLICATES ImageQuant_INCLUDE_DIRS)
++
++ include(FindPackageHandleStandardArgs)
++ find_package_handle_standard_args(
++ ImageQuant
++ REQUIRED_VARS
++ ImageQuant_LIBRARIES
++ ImageQuant_INCLUDE_DIRS
++ HANDLE_COMPONENTS
++ )
++endif()
+--- /dev/null
++++ b/cmake/modules/FindLibav.cmake
+@@ -0,0 +1,102 @@
++#
++# Copyright (C) 2015-2020 Mattia Basaglia
++#
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# Tries to find libav
++#
++# Input:
++# Libav_PREFIX
++# Libav_LIBRARIES
++# Libav_INCLUDE_DIRS
++#
++# Output:
++# Libav_FOUND
++# Libav_LIBRARIES
++# Libav_INCLUDE_DIRS
++# For each component:
++# Libav_<component>_FOUND
++# Libav_<component>_INCLUDE_DIR
++# Libav_<component>_LIBRARY
++#
++# Components:
++# codec
++# filter
++# format
++# device
++# util
++# resample
++# swscale
++
++set(Libav_PREFIX "${CMAKE_SYSTEM_PREFIX_PATH}" CACHE PATH "libav installation prefix")
++
++if(Libav_LIBRARIES AND Libav_INCLUDE_DIRS)
++ set(Libav_FOUND TRUE)
++else()
++ set(Libav_LIBRARIES)
++ set(Libav_INCLUDE_DIRS)
++
++ foreach(comp_short ${Libav_FIND_COMPONENTS})
++ if(comp_short MATCHES "^sw.*" )
++ set(component ${comp_short})
++ else()
++ set(component "av${comp_short}")
++ endif()
++
++ find_path(
++ Libav_${comp_short}_INCLUDE_DIR
++ NAMES
++ "lib${component}/${component}.h"
++ PATHS
++ ${Libav_PREFIX}/include
++ /usr/local/include
++ /usr/include
++ /usr/local/homebrew/opt/ffmpeg/include/
++ /usr/include/ffmpeg
++ )
++
++ find_library(
++ Libav_${comp_short}_LIBRARY
++ NAMES
++ ${component}
++ PATHS
++ ${Libav_PREFIX}/lib
++ /usr/local/lib
++ /usr/local/lib/x86_64-linux-gnu
++ /usr/lib
++ /usr/lib/x86_64-linux-gnu
++ /usr/local/homebrew/opt/ffmpeg/lib/
++ /usr/lib64
++ )
++
++ if(Libav_${comp_short}_INCLUDE_DIR AND Libav_${comp_short}_LIBRARY)
++ set(Libav_${comp_short}_FOUND TRUE)
++ list(APPEND Libav_LIBRARIES ${Libav_${comp_short}_LIBRARY})
++ list(APPEND Libav_INCLUDE_DIRS ${Libav_${comp_short}_INCLUDE_DIR})
++ else()
++ set(Libav_${comp_short}_FOUND FALSE)
++ endif()
++ endforeach()
++
++ list(REMOVE_DUPLICATES Libav_INCLUDE_DIRS)
++
++ include(FindPackageHandleStandardArgs)
++ find_package_handle_standard_args(
++ Libav
++ REQUIRED_VARS
++ Libav_LIBRARIES
++ Libav_INCLUDE_DIRS
++ HANDLE_COMPONENTS
++ )
++endif()
+--- /dev/null
++++ b/cmake/modules/FindMagic.cmake
+@@ -0,0 +1,36 @@
++#
++# Copyright (C) 2015-2020 Mattia Basaglia
++#
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# Tries to find libmagic
++
++set(Magic_PREFIX "${CMAKE_SYSTEM_PREFIX_PATH}" CACHE PATH "libmagic installation prefix")
++set(Magic_HEADER_BASENAME magic.h)
++
++find_path(Magic_INCLUDE_DIR ${Magic_HEADER_BASENAME} PATHS ${Magic_PREFIX})
++find_library(Magic_LIBRARY NAMES magic PATHS ${Magic_PREFIX})
++
++if(Magic_INCLUDE_DIR)
++ set(Magic_FOUND TRUE)
++ message(STATUS "Found libmagic")
++else()
++ set(Magic_FOUND FALSE)
++ set(Magic_ERROR_MESSAGE "libmagic not found!")
++ if(Magic_FIND_REQUIRED)
++ message(FATAL_ERROR ${Magic_ERROR_MESSAGE})
++ elseif(NOT Magic_FIND_QUIETLY)
++ message(STATUS ${Magic_ERROR_MESSAGE})
++ endif()
++endif()
+--- /dev/null
++++ b/cmake/modules/FindPotrace.cmake
+@@ -0,0 +1,74 @@
++#
++# Copyright (C) 2015-2020 Mattia Basaglia
++#
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# Tries to find libpotrace
++#
++# Input:
++# Potrace_PREFIX
++# Potrace_LIBRARIES
++# Potrace_INCLUDE_DIRS
++# Output:
++# Potrace_FOUND
++# Potrace_LIBRARIES
++# Potrace_INCLUDE_DIRS
++
++set(Potrace_PREFIX "${CMAKE_SYSTEM_PREFIX_PATH}" CACHE PATH "libpotrace installation prefix")
++set(Potrace_HEADER_BASENAME potracelib.h)
++
++if(Potrace_LIBRARIES AND Potrace_INCLUDE_DIRS)
++ set(Potrace_FOUND TRUE)
++else()
++ find_path(
++ Potrace_INCLUDE_DIR
++ NAMES
++ ${Potrace_HEADER_BASENAME}
++ PATHS
++ /usr/include
++ /usr/local/include
++ /usr/local/homebrew/opt/potrace/include
++ ${Potrace_PREFIX}/include
++ )
++
++ find_library(
++ Potrace_LIBRARY
++ NAMES
++ potrace
++ libpotrace
++ potracelib
++ PATHS
++ /usr/lib
++ /usr/local/lib
++ /usr/lib/x86_64-linux-gnu
++ /usr/local/lib/x86_64-linux-gnu
++ /usr/local/homebrew/opt/potrace/lib
++ ${Potrace_PREFIX}/lib
++ )
++
++ if(Potrace_INCLUDE_DIR AND Potrace_LIBRARY)
++ set(Potrace_FOUND TRUE)
++ set(Potrace_LIBRARIES ${Potrace_LIBRARIES} ${Potrace_LIBRARY})
++ set(Potrace_INCLUDE_DIRS ${Potrace_INCLUDE_DIRS} ${Potrace_INCLUDE_DIR})
++ message(STATUS "Found Potrace")
++ else()
++ set(Potrace_FOUND FALSE)
++ set(Potrace_ERROR_MESSAGE "Potrace not found!")
++ if(Potrace_FIND_REQUIRED)
++ message(FATAL_ERROR ${Potrace_ERROR_MESSAGE})
++ elseif(NOT Potrace_FIND_QUIETLY)
++ message(STATUS ${Potrace_ERROR_MESSAGE})
++ endif()
++ endif()
++endif()
+--- /dev/null
++++ b/cmake/modules/FindSDL2.cmake
+@@ -0,0 +1,198 @@
++# Copyright 2016-2020 Mattia Basaglia
++#
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# =====
++# Finds the SDL2 library and various components
++#
++# Defines the following variable
++# SDL2_FOUND Whether the ibrary has been found
++# SDL2_LIBRARIES A list of linker options
++# SDL2_INCLUDE_DIRS A list of paths to include
++# SDL2_VERSION Version string in the form "major.minor.patch"
++#
++# It supports finding SDL2 components, a component is a library that follows the
++# following pattern:
++# Header in SDL2/SDL_(name).h
++# Library as libSDL2_(name)
++#
++# Some example of these components are SDL_image and SDL_ttf
++# (which would be called "image" and "ttf" respectively)
++#
++# The component "main" links to SDLMain.
++
++# Like find_path() buth tailored to work with SDL2 include paths
++function(sdl2_find_include_path output_var header_name)
++ find_path(${output_var}_tmp ${header_name}
++ HINTS
++ ENV SDL2DIR
++ PATH_SUFFIXES include/SDL2 include
++ PATHS
++ ~/Library/Frameworks
++ /Library/Frameworks
++ /usr/local/include/SDL2
++ /usr/include/SDL2
++ /sw # Fink
++ /opt/local # DarwinPorts
++ /opt/csw # Blastwave
++ /opt
++ )
++ set(${output_var} ${${output_var}_tmp} PARENT_SCOPE)
++endfunction()
++
++# Like find_library() but tailored to work with SDL2 libraries
++function(sdl2_find_library output_var lib_name)
++ find_library(${output_var}_tmp
++ NAMES ${lib_name}
++ HINTS
++ ENV SDL2DIR
++ PATH_SUFFIXES lib64 lib
++ PATHS
++ /sw
++ /opt/local
++ /opt/csw
++ /opt
++ )
++ set(${output_var} ${${output_var}_tmp} PARENT_SCOPE)
++endfunction()
++
++# Helper function to parse version macros from a header
++# Arguments:
++# header_path: Full path to the header file to parse
++# macro_prefix: Prefix of the _MAJOR_VERSION macro and friends
++# output_var: Variable to store the version insto
++function(sdl2_parse_version header_path macro_prefix output_var)
++ if(EXISTS ${header_path})
++ file(STRINGS ${header_path} SDL2_COMP_VERSION_MAJOR_LINE REGEX "^#define[ \t]+${macro_prefix}_MAJOR_VERSION[ \t]+[0-9]+$")
++ file(STRINGS ${header_path} SDL2_COMP_VERSION_MINOR_LINE REGEX "^#define[ \t]+${macro_prefix}_MINOR_VERSION[ \t]+[0-9]+$")
++ file(STRINGS ${header_path} SDL2_COMP_VERSION_PATCH_LINE REGEX "^#define[ \t]+${macro_prefix}_PATCHLEVEL[ \t]+[0-9]+$")
++ string(REGEX REPLACE "^#define[ \t]+${macro_prefix}_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_COMP_VERSION_MAJOR "${SDL2_COMP_VERSION_MAJOR_LINE}")
++ string(REGEX REPLACE "^#define[ \t]+${macro_prefix}_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_COMP_VERSION_MINOR "${SDL2_COMP_VERSION_MINOR_LINE}")
++ string(REGEX REPLACE "^#define[ \t]+${macro_prefix}_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL2_COMP_VERSION_PATCH "${SDL2_COMP_VERSION_PATCH_LINE}")
++ set(${output_var} ${SDL2_COMP_VERSION_MAJOR}.${SDL2_COMP_VERSION_MINOR}.${SDL2_COMP_VERSION_PATCH} PARENT_SCOPE)
++ endif()
++endfunction()
++
++# Helper function to find SDL2 components
++# Outputs the given variables (all uppercase):
++# SDL2_(ID)_FOUND (Boolean, whether the component has been found)
++# SDL2_(ID)_VERSION (String, the detected version as "major.minor.patch")
++# SDL2_(ID)_INCLUDE_DIRS (Cached, List of paths to include)
++# SDL2_(ID)_LIBRARIES (Cached, List of libraries to include)
++function(sdl2_find_component SDL2_COMPONENT_ID)
++ set(SDL2_VARPREFIX "SDL2_${SDL2_COMPONENT_ID}")
++ set(SDL2_COMPONENT_HEADER "SDL_${SDL2_COMPONENT_ID}.h")
++
++ sdl2_find_include_path(${SDL2_VARPREFIX}_INCLUDE_DIR ${SDL2_COMPONENT_HEADER})
++ sdl2_find_library(${SDL2_VARPREFIX}_LIBRARY "SDL2_${SDL2_COMPONENT_ID}")
++
++ set(SDL2_COMPONENT_HEADER_PATH "${${SDL2_VARPREFIX}_INCLUDE_DIR}/${SDL2_COMPONENT_HEADER}")
++
++ if(${SDL2_VARPREFIX}_INCLUDE_DIR)
++ string(TOUPPER "SDL_${SDL2_COMPONENT_ID}" SDL2_COMPONENT_MACRO)
++ sdl2_parse_version(${SDL2_COMPONENT_HEADER_PATH} ${SDL2_COMPONENT_MACRO} "${SDL2_VARPREFIX}_VERSION")
++ set("${SDL2_VARPREFIX}_VERSION" ${${SDL2_VARPREFIX}_VERSION} PARENT_SCOPE)
++ endif()
++
++ if(${SDL2_VARPREFIX}_LIBRARY AND ${SDL2_VARPREFIX}_INCLUDE_DIR)
++ set("${SDL2_VARPREFIX}_LIBRARIES" ${${SDL2_VARPREFIX}_LIBRARY} PARENT_SCOPE)
++ set("${SDL2_VARPREFIX}_INCLUDE_DIRS" ${${SDL2_VARPREFIX}_INCLUDE_DIR} PARENT_SCOPE)
++ set("${SDL2_VARPREFIX}_FOUND" ON PARENT_SCOPE)
++ else()
++ set("${SDL2_VARPREFIX}_FOUND" OFF PARENT_SCOPE)
++ endif()
++endfunction()
++
++# Find the library proper
++set(SDL2_INCLUDE_DIRS "")
++sdl2_find_include_path(SDL2_INCLUDE_DIR SDL.h)
++list(APPEND SDL2_INCLUDE_DIRS ${SDL2_INCLUDE_DIR})
++sdl2_parse_version("${SDL2_INCLUDE_DIR}/SDL_version.h" "SDL" SDL2_VERSION)
++
++set(SDL2_LIBRARIES "")
++sdl2_find_library(SDL2_LIBRARY SDL2)
++
++# Link extra libraries
++if(SDL2_LIBRARY)
++ list(APPEND SDL2_LIBRARIES ${SDL2_LIBRARY})
++
++ # On OS X, SDL needs to link against the Cocoa framework,
++ # on other systems, it needs to link against the threading library
++ if(NOT APPLE)
++ find_package(Threads)
++ list(APPEND SDL2_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
++ else()
++ list(APPEND SDL2_LIBRARIES "-framework Cocoa")
++ endif()
++
++ # MinGW needs a few more libraries
++ if(MINGW)
++ list(APPEND SDL2_LIBRARIES "mingw32" "mwindows")
++ endif()
++
++endif()
++
++# Search for required and optional components
++if(SDL2_FIND_COMPONENTS)
++ message(STATUS "Searching SDL components:")
++
++ foreach(component ${SDL2_FIND_COMPONENTS})
++ # main is a bit special, it doesn't have a header and doesn't follow
++ # the library naming convention
++ # SDL2_main_FOUND is for find_package_handle_standard_args
++ if(${component} STREQUAL "main")
++ sdl2_find_library(SDL2MAIN_LIBRARY SDL2main)
++ if(SDL2_LIBRARIES)
++ list(APPEND SDL2_LIBRARIES ${SDL2MAIN_LIBRARY})
++ set(SDL2_main_FOUND ON)
++ else()
++ set(SDL2_main_FOUND OFF)
++ endif()
++ unset(SDL2MAIN_LIBRARY)
++ # Other components use a helper function
++ else()
++ sdl2_find_component(${component})
++ if(SDL2_${component}_FOUND)
++ message(STATUS " ${component} found ${SDL2_${component}_VERSION}")
++ list(APPEND SDL2_LIBRARIES ${SDL2_${component}_LIBRARIES})
++ list(APPEND SDL2_INCLUDE_DIRS ${SDL2_${component}_INCLUDE_DIR})
++ else()
++ message(STATUS " ${component} not found")
++ endif()
++ endif()
++ endforeach()
++endif()
++
++
++# Handle common functionality for Find* scripts
++include(FindPackageHandleStandardArgs)
++find_package_handle_standard_args(
++ SDL2
++ REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR
++ VERSION_VAR SDL2_VERSION
++ HANDLE_COMPONENTS
++)
++
++# Set up cached variables
++if(SDL2_FOUND)
++ set(SDL2_LIBRARIES ${SDL2_LIBRARIES} CACHE STRING "Linker flags for SDL2")
++ list(REMOVE_DUPLICATES SDL2_INCLUDE_DIRS)
++ set(SDL2_INCLUDE_DIRS ${SDL2_INCLUDE_DIRS} CACHE STRING "Search paths for SDL2")
++endif()
++
++mark_as_advanced(SDL2_LIBRARIES SDL2_INCLUDE_DIRS)
++
++# Clean temporaries
++unset(SDL2_INCLUDE_DIR)
++unset(SDL2_LIBRARY)
+--- /dev/null
++++ b/cmake/modules/FindcURL.cmake
+@@ -0,0 +1,52 @@
++#
++# Copyright (C) 2015-2020 Mattia Basaglia
++#
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++# Tries to find the cURL library
++
++set(cURL_PREFIX "${CMAKE_SYSTEM_PREFIX_PATH}" CACHE PATH "cURL installation prefix")
++set(cURL_HEADER_BASENAME curl/curl.h)
++
++find_path(cURL_INCLUDE_DIR ${cURL_HEADER_BASENAME} PATHS ${cURL_PREFIX})
++find_library(cURL_LIBRARY NAMES curl PATHS ${cURL_PREFIX})
++
++set(cURL_ERROR_MESSAGE "")
++if(cURL_LIBRARY AND cURL_INCLUDE_DIR)
++ set(cURL_FOUND TRUE)
++
++ execute_process(
++ COMMAND curl-config --version | grep -E "[0-9.]+"
++ OUTPUT_VARIABLE cURL_VERSION_STRING
++ ERROR_QUIET
++ )
++ set(cURL_LIBRARIES ${cURL_LIBRARY})
++ if (cURL_FIND_VERSION AND cURL_FIND_VERSION STRGREATER cURL_VERSION_STRING)
++ set(cURL_FOUND FALSE)
++ set(cURL_ERROR_MESSAGE "cURL not found (required was ${cURL_FIND_VERSION} but found ${cURL_VERSION_STRING})")
++ endif()
++else()
++ set(cURL_ERROR_MESSAGE "cURL not found!")
++ set(cURL_FOUND FALSE)
++endif()
++
++if(cURL_FOUND)
++ message(STATUS "cURL Version: ${cURL_VERSION_STRING}")
++else()
++ if(cURL_FIND_REQUIRED)
++ message(FATAL_ERROR ${cURL_ERROR_MESSAGE})
++ elseif(NOT cURL_FIND_QUIETLY)
++ message(STATUS ${cURL_ERROR_MESSAGE})
++ endif()
++endif()
+--- /dev/null
++++ b/cmake/qt.cmake
+@@ -0,0 +1,96 @@
++#
++# Copyright (C) 2015-2022 Mattia Basaglia
++#
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++#
++
++if (NOT DEFINED QT_VERSION_MAJOR)
++ set(QT_VERSION_MAJOR 5)
++endif()
++
++function(qt_linguist_command)
++ cmake_parse_arguments(PARSE_ARGV 0 ARGS "" "COMMAND;OUTPUT" "")
++
++ string(TOUPPER ${ARGS_COMMAND} CMD_UPPER)
++ set(varcheck "Qt${QT_VERSION_MAJOR}_${CMD_UPPER}_EXECUTABLE")
++
++ if(NOT "${${varcheck}}" STREQUAL "")
++ set(${ARGS_OUTPUT} ${${varcheck}} PARENT_SCOPE)
++ elseif(NOT "${QT_CMAKE_EXPORT_NAMESPACE}" STREQUAL "")
++ set(${ARGS_OUTPUT} "${QT_CMAKE_EXPORT_NAMESPACE}::${ARGS_COMMAND}" PARENT_SCOPE)
++ else()
++ find_program(program NAMES ${ARGS_COMMAND})
++ set(${ARGS_OUTPUT} ${program} PARENT_SCOPE)
++ endif()
++endfunction()
++
++# Creates a target to compile Qt linguist translations
++# Synopsis:
++# create_qt_linguist_translations(
++# TARGET target # Name of the target used to build/update translations
++# [DESTINATION directory] # Where to put the qm files
++# TRANSLATIONS file... # Source files for translations
++# SOURCES directory... # Where to find source files
++# [OUTPUT varname] # output variable name for the list of qm files (defaults to LINGUIST_OUTPUT_FILES)
++# )
++function(create_qt_linguist_translations)
++ include(misc)
++
++ set(options)
++ set(one_value DESTINATION TARGET)
++ set(multi_value TRANSLATIONS SOURCES)
++ cmake_parse_arguments(PARSE_ARGV 0 CREATE_QT_LINGUIST "${options}" "${one_value}" "${multi_value}")
++ if ( NOT CREATE_QT_LINGUIST_DESTINATION )
++ set(CREATE_QT_LINGUIST_DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/translations")
++ endif()
++ if ( NOT CREATE_QT_LINGUIST_OUTPUT )
++ set(CREATE_QT_LINGUIST_OUTPUT LINGUIST_OUTPUT_FILES)
++ endif()
++
++ find_package(Qt${QT_VERSION_MAJOR}LinguistTools QUIET)
++ if(${Qt${QT_VERSION_MAJOR}LinguistTools_FOUND})
++ message(STATUS "Translations enabled")
++ set(abs_ts)
++ foreach(file ${CREATE_QT_LINGUIST_TRANSLATIONS})
++ get_filename_component(file_abs ${file} ABSOLUTE BASE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
++ list(APPEND abs_ts ${file_abs})
++ endforeach()
++ add_custom_target(
++ ${CREATE_QT_LINGUIST_TARGET}
++ DEPENDS ${CREATE_QT_LINGUIST_TARGET}_cmd
++ )
++
++ qt_linguist_command(COMMAND lupdate OUTPUT lupdate_cmd)
++ qt_linguist_command(COMMAND lrelease OUTPUT lrelease_cmd)
++
++ message(STATUS "Qt linguist commands: '${lupdate_cmd}' '${lrelease_cmd}'")
++ add_custom_command(
++ OUTPUT ${CREATE_QT_LINGUIST_TARGET}_cmd
++ COMMAND ${lupdate_cmd} ${CREATE_QT_LINGUIST_SOURCES} -ts ${abs_ts}
++ COMMAND ${CMAKE_COMMAND} -E make_directory ${CREATE_QT_LINGUIST_DESTINATION}
++ )
++ set(abs_qm)
++ foreach(file ${abs_ts})
++ get_filename_component(file_basename ${file} NAME_WLE)
++ add_custom_command(
++ OUTPUT ${CREATE_QT_LINGUIST_TARGET}_cmd APPEND
++ COMMAND ${lrelease_cmd} ${file} -qm ${CREATE_QT_LINGUIST_DESTINATION}/${file_basename}.qm
++ )
++ list(APPEND abs_qm ${CREATE_QT_LINGUIST_DESTINATION}/${file_basename}.qm)
++ endforeach()
++ set(${CREATE_QT_LINGUIST_OUTPUT} ${abs_qm} PARENT_SCOPE)
++ else()
++ set(${CREATE_QT_LINGUIST_OUTPUT} PARENT_SCOPE)
++ endif()
++endfunction()
+--- /dev/null
++++ b/cmake/testing.cmake
+@@ -0,0 +1,86 @@
++# Copyright 2015-2019 Mattia Basaglia
++#
++# This program is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program. If not, see <http://www.gnu.org/licenses/>.
++
++
++# Variables:
++# COVERAGE_TOOL - (lcov or gcovr) Which coverage reporting tool to use
++# COVERAGE_SOURCE_BASE_DIR - Base dir to extract the sources from for coverage
++# COVERAGE_REMOVE_PATTERNS - Patterns to remove from the trace file
++# COVERAGE_FILTER_PATTERNS - Patterns to keep in the trace file
++#
++
++if(NOT DEFINED COVERAGE_TARGET_PREFIX)
++ set(COVERAGE_TARGET_PREFIX tests_)
++endif()
++
++enable_testing()
++add_custom_target(${COVERAGE_TARGET_PREFIX}compile
++ COMMENT "Building all tests"
++)
++
++add_custom_target(${COVERAGE_TARGET_PREFIX}run
++ COMMAND ctest -V
++ DEPENDS ${COVERAGE_TARGET_PREFIX}compile
++ COMMENT "Running all tests"
++)
++
++set(TRACEFILE "${CMAKE_BINARY_DIR}/coverage.info")
++set(COVERAGE_DIR "${CMAKE_BINARY_DIR}/coverage")
++
++if(NOT COVERAGE_SOURCE_BASE_DIR)
++ set(COVERAGE_SOURCE_BASE_DIR "${CMAKE_SOURCE_DIR}")
++endif()
++
++if (NOT COVERAGE_TOOL)
++ set(COVERAGE_TOOL "lcov")
++endif()
++
++message(STATUS "Coverage tool is ${COVERAGE_TOOL}")
++
++if (${COVERAGE_TOOL} STREQUAL lcov)
++ add_custom_target(${COVERAGE_TARGET_PREFIX}coverage
++ COMMAND cd ${CMAKE_BINARY_DIR}
++ COMMAND lcov -c -d "${CMAKE_CURRENT_BINARY_DIR}" -b "${COVERAGE_SOURCE_BASE_DIR}" -o ${TRACEFILE} --no-external --rc lcov_branch_coverage=1
++ COMMAND lcov --remove ${TRACEFILE} ${COVERAGE_REMOVE_PATTERNS} -o ${TRACEFILE} --rc lcov_branch_coverage=1
++ COMMAND genhtml ${TRACEFILE} -o ${COVERAGE_DIR} -p "${COVERAGE_SOURCE_BASE_DIR}" --demangle-cpp --branch-coverage --rc genhtml_hi_limit=80
++ DEPENDS ${COVERAGE_TARGET_PREFIX}run
++ )
++elseif(${COVERAGE_TOOL} STREQUAL gcovr)
++ set(GCOVR_CMD
++ gcovr --root ${COVERAGE_SOURCE_BASE_DIR} --object-directory ${CMAKE_BINARY_DIR}
++ -s --branches --exclude-throw-branches
++ --html --html-details "${COVERAGE_DIR}/index.html"
++ )
++
++ foreach(remove IN ITEMS ${COVERAGE_REMOVE_PATTERNS})
++ list(APPEND GCOVR_CMD -e ${remove})
++ endforeach()
++
++ foreach(filter IN ITEMS ${COVERAGE_FILTER_PATTERNS})
++ list(APPEND GCOVR_CMD -f ${filter})
++ endforeach()
++
++ add_custom_target(${COVERAGE_TARGET_PREFIX}coverage
++ COMMAND cd ${CMAKE_BINARY_DIR}
++ COMMAND mkdir -p ${COVERAGE_DIR}
++ COMMAND ${GCOVR_CMD}
++ DEPENDS ${COVERAGE_TARGET_PREFIX}run
++ )
++else()
++endif()
++
++add_custom_target(${COVERAGE_TARGET_PREFIX}coverage_view
++ COMMAND xdg-open "${COVERAGE_DIR}/index.html"
++)
+--- /dev/null
+++ b/external/Qt-Color-Widgets/.git/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
More information about the Neon-commits
mailing list