1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-12-02 14:50:17 +01:00

CMake: replace Conan with find_package and add find modules

Also, necessarily coupled with this:
* add CMakeLists.txt for vendored libnyquist
* fix SoundTouch header include paths
* move nyq_reformat_aud_do_response function
* handle portSMF headers installed to portsmf or portSMF

Signed-off-by: Be <be@mixxx.org>
This commit is contained in:
Be
2021-08-09 09:59:39 -05:00
parent 4777d04cf2
commit b1549dd13e
36 changed files with 2642 additions and 99 deletions

View File

@@ -0,0 +1,183 @@
#.rst:
# FindFFMPEG
# ----------
#
# Try to find the required ffmpeg components (default: libavformat, libavutil, libavcodec)
#
# Next variables can be used to hint FFMPEG libs search:
#
# ::
#
# PC_<component>_LIBRARY_DIRS
# PC_FFMPEG_LIBRARY_DIRS
# PC_<component>_INCLUDE_DIRS
# PC_FFMPEG_INCLUDE_DIRS
#
# Once done this will define
#
# ::
#
# FFMPEG_FOUND - System has the all required components.
# FFMPEG_INCLUDE_DIRS - Include directory necessary for using the required components headers.
# FFMPEG_LIBRARIES - Link these to use the required ffmpeg components.
# FFMPEG_DEFINITIONS - Compiler switches required for using the required ffmpeg components.
#
# For each of the components it will additionally set.
#
# ::
#
# libavcodec
# libavdevice
# libavformat
# libavfilter
# libavutil
# libpostproc
# libswscale
# libswresample
#
# the following variables will be defined
#
# ::
#
# <component>_FOUND - System has <component>
# <component>_INCLUDE_DIRS - Include directory necessary for using the <component> headers
# <component>_LIBRARIES - Link these to use <component>
# <component>_DEFINITIONS - Compiler switches required for using <component>
# <component>_VERSION - The components version
#
# the following import targets is created
#
# ::
#
# FFMPEG::FFMPEG - for all components
# FFMPEG::<component> - where <component> in lower case (FFMPEG::avcodec) for each components
#
# Copyright (c) 2006, Matthias Kretz, <kretz@kde.org>
# Copyright (c) 2008, Alexander Neundorf, <neundorf@kde.org>
# Copyright (c) 2011, Michael Jansen, <kde@michael-jansen.biz>
# Copyright (c) 2017, Alexander Drozdov, <adrozdoff@gmail.com>
# Copyright (c) 2019, Jan Holthuis, <holthuis.jan@googlemail.com>
#
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
include(FindPackageHandleStandardArgs)
# The default components were taken from a survey over other FindFFMPEG.cmake files
if (NOT FFMPEG_FIND_COMPONENTS)
set(FFMPEG_FIND_COMPONENTS libavcodec libavformat libavutil)
endif ()
#
### Macro: find_component
#
# Checks for the given component by invoking pkgconfig and then looking up the libraries and
# include directories.
#
macro(find_component _component _pkgconfig _library _header)
# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
find_package(PkgConfig QUIET)
if (PkgConfig_FOUND)
pkg_check_modules(PC_FFMPEG_${_component} QUIET ${_pkgconfig})
endif ()
find_path(FFMPEG_${_component}_INCLUDE_DIRS ${_header}
HINTS
${PC_FFMPEG_${_component}_INCLUDEDIR}
${PC_FFMPEG_${_component}_INCLUDE_DIRS}
${PC_FFMPEG_INCLUDE_DIRS}
PATH_SUFFIXES
ffmpeg
)
find_library(FFMPEG_${_component}_LIBRARIES NAMES ${PC_FFMPEG_${_component}_LIBRARIES} ${_library}
HINTS
${PC_FFMPEG_${_component}_LIBDIR}
${PC_FFMPEG_${_component}_LIBRARY_DIRS}
${PC_FFMPEG_LIBRARY_DIRS}
)
message(STATUS ${FFMPEG_${_component}_LIBRARIES})
message(STATUS ${PC_FFMPEG_${_component}_LIBRARIES})
set(FFMPEG_${_component}_DEFINITIONS ${PC_FFMPEG_${_component}_CFLAGS_OTHER} CACHE STRING "The ${_component} CFLAGS.")
set(FFMPEG_${_component}_VERSION ${PC_FFMPEG_${_component}_VERSION} CACHE STRING "The ${_component} version number.")
if (FFMPEG_${_component}_LIBRARIES AND FFMPEG_${_component}_INCLUDE_DIRS)
message(STATUS " - ${_component} ${FFMPEG_${_component}_VERSION} found.")
set(FFMPEG_${_component}_FOUND TRUE)
else ()
message(STATUS " - ${_component} not found.")
endif ()
mark_as_advanced(
FFMPEG_${_component}_INCLUDE_DIRS
FFMPEG_${_component}_LIBRARIES
FFMPEG_${_component}_DEFINITIONS
FFMPEG_${_component}_VERSION)
endmacro()
message(STATUS "Searching for FFMPEG components")
# Check for all possible component.
find_component(libavcodec libavcodec avcodec libavcodec/avcodec.h)
find_component(libavformat libavformat avformat libavformat/avformat.h)
find_component(libavdevice libavdevice avdevice libavdevice/avdevice.h)
find_component(libavutil libavutil avutil libavutil/avutil.h)
find_component(libavfilter libavfilter avfilter libavfilter/avfilter.h)
find_component(libswscale libswscale swscale libswscale/swscale.h)
find_component(libpostproc libpostproc postproc libpostproc/postprocess.h)
find_component(libswresample libswresample swresample libswresample/swresample.h)
set(FFMPEG_LIBRARIES "")
set(FFMPEG_DEFINITIONS "")
# Check if the required components were found and add their stuff to the FFMPEG_* vars.
foreach (_component ${FFMPEG_FIND_COMPONENTS})
if (FFMPEG_${_component}_FOUND)
#message(STATUS "Required component ${_component} present.")
set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} ${FFMPEG_${_component}_LIBRARIES})
set(FFMPEG_DEFINITIONS ${FFMPEG_DEFINITIONS} ${FFMPEG_${_component}_DEFINITIONS})
list(APPEND FFMPEG_INCLUDE_DIRS ${FFMPEG_${_component}_INCLUDE_DIRS})
string(TOLOWER ${_component} _lowerComponent)
if (NOT TARGET FFMPEG::${_lowerComponent})
add_library(FFMPEG::${_lowerComponent} INTERFACE IMPORTED)
set_target_properties(FFMPEG::${_lowerComponent} PROPERTIES
INTERFACE_COMPILE_OPTIONS "${${_component}_DEFINITIONS}"
INTERFACE_INCLUDE_DIRECTORIES "${${_component}_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${${_component}_LIBRARIES}")
endif()
endif()
endforeach ()
# Build the include path with duplicates removed.
if (FFMPEG_INCLUDE_DIRS)
list(REMOVE_DUPLICATES FFMPEG_INCLUDE_DIRS)
endif ()
# cache the vars.
set(FFMPEG_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIRS} CACHE STRING "The FFMPEG include directories." FORCE)
set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} CACHE STRING "The FFMPEG libraries." FORCE)
set(FFMPEG_DEFINITIONS ${FFMPEG_DEFINITIONS} CACHE STRING "The FFMPEG cflags." FORCE)
mark_as_advanced(FFMPEG_INCLUDE_DIRS
FFMPEG_LIBRARIES
FFMPEG_DEFINITIONS)
if (NOT TARGET FFMPEG::FFMPEG)
add_library(FFMPEG::FFMPEG INTERFACE IMPORTED)
set_target_properties(FFMPEG::FFMPEG PROPERTIES
INTERFACE_COMPILE_OPTIONS "${FFMPEG_DEFINITIONS}"
INTERFACE_INCLUDE_DIRECTORIES "${FFMPEG_INCLUDE_DIRS}"
INTERFACE_LINK_LIBRARIES "${FFMPEG_LIBRARIES}")
endif()
# Compile the list of required vars
set(_FFMPEG_REQUIRED_VARS FFMPEG_LIBRARIES FFMPEG_INCLUDE_DIRS)
foreach (_component ${FFMPEG_FIND_COMPONENTS})
list(APPEND _FFMPEG_REQUIRED_VARS FFMPEG_${_component}_LIBRARIES FFMPEG_${_component}_INCLUDE_DIRS)
endforeach ()
# Give a nice error message if some of the required vars are missing.
find_package_handle_standard_args(FFMPEG DEFAULT_MSG ${_FFMPEG_REQUIRED_VARS})

View File

@@ -0,0 +1,88 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE.txt file for details.
#[=======================================================================[.rst:
FindFLAC++
--------
Finds the FLAC++ library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``FLAC++::FLAC++``
The FLAC++ library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``FLAC++_FOUND``
True if the system has the FLAC++ library.
``FLAC++_INCLUDE_DIRS``
Include directories needed to use FLAC++.
``FLAC++_LIBRARIES``
Libraries needed to link to FLAC++.
``FLAC++_DEFINITIONS``
Compile definitions needed to use FLAC++.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``FLAC++_INCLUDE_DIR``
The directory containing ``FLAC++/all.h``.
``FLAC++_LIBRARY``
The path to the FLAC++ library.
#]=======================================================================]
find_package(FLAC REQUIRED)
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_FLAC++ QUIET flac++)
endif()
find_path(FLAC++_INCLUDE_DIR
NAMES FLAC++/all.h
PATHS ${PC_FLAC++_INCLUDE_DIRS}
DOC "FLAC++ include directory")
mark_as_advanced(FLAC++_INCLUDE_DIR)
find_library(FLAC++_LIBRARY
NAMES FLAC++
PATHS ${PC_FLAC++_LIBRARY_DIRS}
DOC "FLAC++ library"
)
mark_as_advanced(FLAC++_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
FLAC++
DEFAULT_MSG
FLAC++_LIBRARY
FLAC++_INCLUDE_DIR
)
if(FLAC++_FOUND)
set(FLAC++_LIBRARIES "${FLAC++_LIBRARY}")
set(FLAC++_INCLUDE_DIRS "${FLAC++_INCLUDE_DIR}")
set(FLAC++_DEFINITIONS ${PC_FLAC++_CFLAGS_OTHER})
if(NOT TARGET FLAC++::FLAC++)
add_library(FLAC++::FLAC++ UNKNOWN IMPORTED)
set_target_properties(FLAC++::FLAC++
PROPERTIES
IMPORTED_LOCATION "${FLAC++_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_FLAC++_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${FLAC++_INCLUDE_DIR}"
INTERFACE_LINK_LIBRARIES FLAC::FLAC
)
endif()
endif()

View File

@@ -0,0 +1,85 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE file for details.
#[=======================================================================[.rst:
FindFLAC
--------
Finds the FLAC library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``FLAC::FLAC``
The FLAC library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``FLAC_FOUND``
True if the system has the FLAC library.
``FLAC_INCLUDE_DIRS``
Include directories needed to use FLAC.
``FLAC_LIBRARIES``
Libraries needed to link to FLAC.
``FLAC_DEFINITIONS``
Compile definitions needed to use FLAC.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``FLAC_INCLUDE_DIR``
The directory containing ``FLAC/all.h``.
``FLAC_LIBRARY``
The path to the FLAC library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_FLAC QUIET flac)
endif()
find_path(FLAC_INCLUDE_DIR
NAMES FLAC/all.h
PATHS ${PC_FLAC_INCLUDE_DIRS}
DOC "FLAC include directory")
mark_as_advanced(FLAC_INCLUDE_DIR)
find_library(FLAC_LIBRARY
NAMES FLAC
PATHS ${PC_FLAC_LIBRARY_DIRS}
DOC "FLAC library"
)
mark_as_advanced(FLAC_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
FLAC
DEFAULT_MSG
FLAC_LIBRARY
FLAC_INCLUDE_DIR
)
if(FLAC_FOUND)
set(FLAC_LIBRARIES "${FLAC_LIBRARY}")
set(FLAC_INCLUDE_DIRS "${FLAC_INCLUDE_DIR}")
set(FLAC_DEFINITIONS ${PC_FLAC_CFLAGS_OTHER})
if(NOT TARGET FLAC::FLAC)
add_library(FLAC::FLAC UNKNOWN IMPORTED)
set_target_properties(FLAC::FLAC
PROPERTIES
IMPORTED_LOCATION "${FLAC_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_FLAC_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${FLAC_INCLUDE_DIR}"
)
endif()
endif()

View File

@@ -0,0 +1,124 @@
# - Try to find Glib and its components (gio, gobject etc)
# Once done, this will define
#
# GLIB_FOUND - system has Glib
# GLIB_INCLUDE_DIRS - the Glib include directories
# GLIB_LIBRARIES - link these to use Glib
#
# Optionally, the COMPONENTS keyword can be passed to find_package()
# and Glib components can be looked for. Currently, the following
# components can be used, and they define the following variables if
# found:
#
# gio: GLIB_GIO_LIBRARIES
# gobject: GLIB_GOBJECT_LIBRARIES
# gmodule: GLIB_GMODULE_LIBRARIES
# gthread: GLIB_GTHREAD_LIBRARIES
#
# Note that the respective _INCLUDE_DIR variables are not set, since
# all headers are in the same directory as GLIB_INCLUDE_DIRS.
#
# Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_GLIB QUIET glib-2.0)
endif()
find_library(GLIB_LIBRARIES
NAMES glib-2.0
HINTS ${PC_GLIB_LIBDIR}
${PC_GLIB_LIBRARY_DIRS}
)
# Files in glib's main include path may include glibconfig.h, which,
# for some odd reason, is normally in $LIBDIR/glib-2.0/include.
get_filename_component(_GLIB_LIBRARY_DIR ${GLIB_LIBRARIES} PATH)
find_path(GLIBCONFIG_INCLUDE_DIR
NAMES glibconfig.h
HINTS ${PC_LIBDIR} ${PC_LIBRARY_DIRS} ${_GLIB_LIBRARY_DIR}
${PC_GLIB_INCLUDEDIR} ${PC_GLIB_INCLUDE_DIRS}
PATH_SUFFIXES glib-2.0/include
)
find_path(GLIB_INCLUDE_DIR
NAMES glib.h
HINTS ${PC_GLIB_INCLUDEDIR}
${PC_GLIB_INCLUDE_DIRS}
PATH_SUFFIXES glib-2.0
)
set(GLIB_INCLUDE_DIRS ${GLIB_INCLUDE_DIR} ${GLIBCONFIG_INCLUDE_DIR})
# Version detection
if (EXISTS "${GLIBCONFIG_INCLUDE_DIR}/glibconfig.h")
file(READ "${GLIBCONFIG_INCLUDE_DIR}/glibconfig.h" GLIBCONFIG_H_CONTENTS)
string(REGEX MATCH "#define GLIB_MAJOR_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
set(GLIB_VERSION_MAJOR "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define GLIB_MINOR_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
set(GLIB_VERSION_MINOR "${CMAKE_MATCH_1}")
string(REGEX MATCH "#define GLIB_MICRO_VERSION ([0-9]+)" _dummy "${GLIBCONFIG_H_CONTENTS}")
set(GLIB_VERSION_MICRO "${CMAKE_MATCH_1}")
set(GLIB_VERSION "${GLIB_VERSION_MAJOR}.${GLIB_VERSION_MINOR}.${GLIB_VERSION_MICRO}")
endif ()
# Additional Glib components. We only look for libraries, as not all of them
# have corresponding headers and all headers are installed alongside the main
# glib ones.
foreach (_component ${GLIB_FIND_COMPONENTS})
if (${_component} STREQUAL "gio")
find_library(GLIB_GIO_LIBRARIES NAMES gio-2.0 HINTS ${_GLIB_LIBRARY_DIR})
set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GIO_LIBRARIES)
elseif (${_component} STREQUAL "gobject")
find_library(GLIB_GOBJECT_LIBRARIES NAMES gobject-2.0 HINTS ${_GLIB_LIBRARY_DIR})
set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GOBJECT_LIBRARIES)
elseif (${_component} STREQUAL "gmodule")
find_library(GLIB_GMODULE_LIBRARIES NAMES gmodule-2.0 HINTS ${_GLIB_LIBRARY_DIR})
set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GMODULE_LIBRARIES)
elseif (${_component} STREQUAL "gthread")
find_library(GLIB_GTHREAD_LIBRARIES NAMES gthread-2.0 HINTS ${_GLIB_LIBRARY_DIR})
set(ADDITIONAL_REQUIRED_VARS ${ADDITIONAL_REQUIRED_VARS} GLIB_GTHREAD_LIBRARIES)
elseif (${_component} STREQUAL "gio-unix")
# gio-unix is compiled as part of the gio library, but the include paths
# are separate from the shared glib ones. Since this is currently only used
# by WebKitGTK we don't go to extraordinary measures beyond pkg-config.
pkg_check_modules(GIO_UNIX QUIET gio-unix-2.0)
endif ()
endforeach ()
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GLIB REQUIRED_VARS GLIB_INCLUDE_DIRS GLIB_LIBRARIES ${ADDITIONAL_REQUIRED_VARS}
VERSION_VAR GLIB_VERSION)
mark_as_advanced(
GLIBCONFIG_INCLUDE_DIR
GLIB_GIO_LIBRARIES
GLIB_GIO_UNIX_LIBRARIES
GLIB_GMODULE_LIBRARIES
GLIB_GOBJECT_LIBRARIES
GLIB_GTHREAD_LIBRARIES
GLIB_INCLUDE_DIR
GLIB_INCLUDE_DIRS
GLIB_LIBRARIES
)

150
cmake-modules/FindGTK.cmake Normal file
View File

@@ -0,0 +1,150 @@
# - Try to find GTK+ 3.x or 4.x
#
# Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
# Copyright (C) 2013, 2015, 2020 Igalia S.L.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#[=======================================================================[.rst:
FindGTK
-------
Find GTK headers and libraries.
Optional Components
^^^^^^^^^^^^^^^^^^^
The ``COMPONENTS`` (or ``OPTIONAL_COMPONENTS``) keyword can be passed to
``find_package()``, the following GTK components can be searched for:
- ``unix-print``
Imported Targets
^^^^^^^^^^^^^^^^
``GTK::GTK``
The GTK library, if found.
``GTK::UnixPrint``
The GTK unix-print library, if found.
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables in your project:
``GTK_FOUND``
true if (the requested version of) GTK is available.
``GTK_UNIX_PRINT_FOUND``
true if the ``unix-print`` component is available.
``GTK_4``
whether GTK 4 was detected
``GTK_3``
whether GTK 3 was detected
``GTK_VERSION``
the version of GTK.
``GTK_SUPPORTS_BROADWAY``
true if the Broadway target is built into GTK.
``GTK_SUPPORTS_QUARTZ``
true if the Quartz target is built into GTK.
``GTK_SUPPORTS_WAYLAND``
true if the Wayland target is built into GTK.
``GTK_SUPPORTS_WIN32``
true if the Windows target is built into GTK.
``GTK_SUPPORTS_X11``
true if the X11 target is built into GTK.
#]=======================================================================]
if (NOT DEFINED GTK_FIND_VERSION)
message(FATAL_ERROR "No GTK version specified")
endif ()
if (GTK_FIND_VERSION VERSION_LESS 3.90)
set(GTK_PC_MODULE "gtk+-3.0")
set(GTK_PC_UNIX_PRINT_MODULE "gtk+-unix-print-3.0")
set(GTK_4 FALSE)
set(GTK_3 TRUE)
else ()
set(GTK_PC_MODULE "gtk4")
set(GTK_PC_UNIX_PRINT_MODULE "gtk4-unix-print")
set(GTK_4 TRUE)
set(GTK_3 FALSE)
endif ()
find_package(PkgConfig QUIET)
pkg_check_modules(GTK IMPORTED_TARGET ${GTK_PC_MODULE})
set(GTK_VERSION_OK TRUE)
if (GTK_VERSION)
if (GTK_FIND_VERSION_EXACT)
if (NOT("${GTK_FIND_VERSION}" VERSION_EQUAL "${GTK_VERSION}"))
set(GTK_VERSION_OK FALSE)
endif ()
else ()
if ("${GTK_VERSION}" VERSION_LESS "${GTK_FIND_VERSION}")
set(GTK_VERSION_OK FALSE)
endif ()
endif ()
endif ()
# Set all the GTK_SUPPORTS_<target> variables to FALSE initially.
foreach (gtk_target broadway quartz wayland win32 x11)
string(TOUPPER "GTK_SUPPORTS_${gtk_target}" gtk_target)
set(${gtk_target} FALSE)
endforeach ()
if (GTK_VERSION AND GTK_VERSION_OK)
# Fetch the "targets" variable and set GTK_SUPPORTS_<target>.
pkg_get_variable(GTK_TARGETS ${GTK_PC_MODULE} targets)
separate_arguments(GTK_TARGETS)
foreach (gtk_target ${GTK_TARGETS})
string(TOUPPER "GTK_SUPPORTS_${gtk_target}" gtk_target)
set(${gtk_target} TRUE)
endforeach ()
endif ()
if (TARGET PkgConfig::GTK AND NOT TARGET GTK::GTK)
add_library(GTK::GTK INTERFACE IMPORTED GLOBAL)
set_property(TARGET GTK::GTK PROPERTY
INTERFACE_LINK_LIBRARIES PkgConfig::GTK
)
endif ()
# Try to find additional components
foreach (gtk_component ${GTK_FIND_COMPONENTS})
if (NOT "${gtk_component}" STREQUAL unix-print)
message(FATAL_ERROR "Invalid component name: ${gtk_component}")
endif ()
pkg_check_modules(GTK_UNIX_PRINT IMPORTED_TARGET "${GTK_PC_UNIX_PRINT_MODULE}")
if (GTK_FIND_REQUIRED_unix-print AND NOT GTK_UNIX_PRINT_FOUND)
message(FATAL_ERROR "Component unix-print not found")
endif ()
if (TARGET PkgConfig::GTK_UNIX_PRINT AND NOT TARGET GTK::UnixPrint)
add_library(GTK::UnixPrint INTERFACE IMPORTED GLOBAL)
set_property(TARGET GTK::UnixPrint PROPERTY
INTERFACE_LINK_LIBRARIES PkgConfig::GTK_UNIX_PRINT)
endif ()
endforeach ()
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK DEFAULT_MSG GTK_VERSION GTK_VERSION_OK)

View File

@@ -0,0 +1,68 @@
#[=======================================================================[.rst:
FindLV2
-----------
Finds the LV2 library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``LV2::LV2``
The LV2 library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``LV2_FOUND``
True if the system has the LV2 library.
``LV2_INCLUDE_DIRS``
Include directories needed to use LV2.
``LV2_LIBRARIES``
Libraries needed to link to LV2.
``LV2_DEFINITIONS``
Compile definitions needed to use LV2.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``LV2_INCLUDE_DIR``
The directory containing ``lv2.h``.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_LV2 QUIET lv2)
endif()
# There is no library; only a header.
find_path(LV2_INCLUDE_DIR
NAMES lv2.h
PATHS ${PC_LV2_INCLUDE_DIRS}
PATH_SUFFIXES LV2
DOC "LV2 include directory")
mark_as_advanced(LV2_INCLUDE_DIR)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
LV2
DEFAULT_MSG
LV2_INCLUDE_DIR
)
if(LV2_FOUND)
if(NOT TARGET LV2::LV2)
add_library(LV2::LV2 INTERFACE IMPORTED)
set_target_properties(LV2::LV2
PROPERTIES
INTERFACE_COMPILE_OPTIONS "${PC_LV2_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${LV2_INCLUDE_DIR}"
)
endif()
endif()

View File

@@ -0,0 +1,86 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE.txt file for details.
#[=======================================================================[.rst:
FindMAD
-------
Finds the MAD library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``MAD::MAD``
The MAD library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``MAD_FOUND``
True if the system has the MAD library.
``MAD_INCLUDE_DIRS``
Include directories needed to use MAD.
``MAD_LIBRARIES``
Libraries needed to link to MAD.
``MAD_DEFINITIONS``
Compile definitions needed to use MAD.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``MAD_INCLUDE_DIR``
The directory containing ``mad.h``.
``MAD_LIBRARY``
The path to the MAD library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_MAD QUIET mad)
endif()
find_path(MAD_INCLUDE_DIR
NAMES mad.h
PATHS ${PC_MAD_INCLUDE_DIRS}
PATH_SUFFIXES mad
DOC "MAD include directory")
mark_as_advanced(MAD_INCLUDE_DIR)
find_library(MAD_LIBRARY
NAMES mad
PATHS ${PC_MAD_LIBRARY_DIRS}
DOC "MAD library"
)
mark_as_advanced(MAD_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
MAD
DEFAULT_MSG
MAD_LIBRARY
MAD_INCLUDE_DIR
)
if(MAD_FOUND)
set(MAD_LIBRARIES "${MAD_LIBRARY}")
set(MAD_INCLUDE_DIRS "${MAD_INCLUDE_DIR}")
set(MAD_DEFINITIONS ${PC_MAD_CFLAGS_OTHER})
if(NOT TARGET MAD::MAD)
add_library(MAD::MAD UNKNOWN IMPORTED)
set_target_properties(MAD::MAD
PROPERTIES
IMPORTED_LOCATION "${MAD_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_MAD_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${MAD_INCLUDE_DIR}"
)
endif()
endif()

View File

@@ -0,0 +1,77 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE.txt file for details.
#[=======================================================================[.rst:
FindOgg
-------
Finds the Ogg library.
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``Ogg_FOUND``
True if the system has the Ogg library.
``Ogg_INCLUDE_DIRS``
Include directories needed to use Ogg.
``Ogg_LIBRARIES``
Libraries needed to link to Ogg.
``Ogg_DEFINITIONS``
Compile definitions needed to use Ogg.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``Ogg_INCLUDE_DIR``
The directory containing ``ogg/ogg.h``.
``Ogg_LIBRARY``
The path to the Ogg library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_Ogg QUIET ogg)
endif()
find_path(Ogg_INCLUDE_DIR
NAMES ogg/ogg.h
PATHS ${PC_Ogg_INCLUDE_DIRS}
DOC "Ogg include directory"
)
mark_as_advanced(Ogg_INCLUDE_DIR)
find_library(Ogg_LIBRARY
NAMES ogg
PATHS ${PC_Ogg_LIBRARY_DIRS}
DOC "Ogg library"
)
mark_as_advanced(Ogg_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
Ogg
REQUIRED_VARS
Ogg_INCLUDE_DIR
Ogg_LIBRARY
)
if(Ogg_FOUND)
set(Ogg_LIBRARIES ${Ogg_LIBRARY})
set(Ogg_INCLUDE_DIRS ${Ogg_INCLUDE_DIR})
set(Ogg_DEFINITIONS ${PC_Ogg_CFLAGS_OTHER})
if(NOT TARGET Ogg::ogg)
add_library(Ogg::ogg UNKNOWN IMPORTED)
set_target_properties(Ogg::ogg
PROPERTIES
IMPORTED_LOCATION "${Ogg_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_Ogg_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${Ogg_INCLUDE_DIR}"
)
endif()
endif()

View File

@@ -0,0 +1,57 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE.txt file for details.
#[=======================================================================[.rst:
FindPortAudio
--------
Finds the PortAudio library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``PortAudio::PortAudio``
The PortAudio library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``PortAudio_FOUND``
True if the system has the PortAudio library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PortAudio portaudio-2.0)
else()
find_path(PortAudio_INCLUDEDIR
NAMES portaudio.h
DOC "PortAudio include directory")
find_library(PortAudio_LINK_LIBRARIES
NAMES portaudio
DOC "PortAudio library"
)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
PortAudio
DEFAULT_MSG
PortAudio_LINK_LIBRARIES
PortAudio_INCLUDEDIR
)
if(PortAudio_FOUND)
if(NOT TARGET PortAudio::PortAudio)
add_library(PortAudio::PortAudio INTERFACE IMPORTED)
target_link_libraries(PortAudio::PortAudio INTERFACE "${PortAudio_LINK_LIBRARIES}")
target_include_directories(PortAudio::PortAudio INTERFACE "${PortAudio_INCLUDEDIR}")
endif()
endif()

View File

@@ -0,0 +1,73 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE.txt file for details.
#[=======================================================================[.rst:
FindPortMidi
---------------
Finds the PortMidi library.
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``PortMidi_FOUND``
True if the system has the PortMidi library.
``PortMidi_INCLUDE_DIRS``
Include directories needed to use PortMidi.
``PortMidi_LIBRARIES``
Libraries needed to link to PortMidi.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``PortMidi_INCLUDE_DIR``
The directory containing ``portmidi.h``.
``PortTime_INCLUDE_DIR``
The directory containing ``porttime.h``.
``PortMidi_LIBRARY``
The path to the PortMidi library.
``PortTime_LIBRARY``
The path to the PortTime library.
#]=======================================================================]
find_path(PortMidi_INCLUDE_DIR
NAMES portmidi.h
PATH_SUFFIXES portmidi
DOC "PortMidi include directory")
mark_as_advanced(PortMidi_INCLUDE_DIR)
find_library(PortMidi_LIBRARY
NAMES portmidi portmidi_s
DOC "PortMidi library"
)
mark_as_advanced(PortMidi_LIBRARY)
find_package_handle_standard_args(
PortMidi
DEFAULT_MSG
PortMidi_LIBRARY
PortMidi_INCLUDE_DIR
)
find_package(PortTime)
if(PortMidi_FOUND)
if(NOT TARGET PortMidi::PortMidi)
add_library(PortMidi::PortMidi UNKNOWN IMPORTED)
set_target_properties(PortMidi::PortMidi
PROPERTIES
IMPORTED_LOCATION "${PortMidi_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${PortMidi_INCLUDE_DIR}"
)
endif()
if(PortTime_FOUND)
target_link_libraries(PortMidi::PortMidi INTERFACE PortMidi::PortTime)
endif()
endif()

View File

@@ -0,0 +1,83 @@
#[=======================================================================[.rst:
FindPortSMF
-------
Finds the PortSMF library.
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``PortSMF_FOUND``
True if the system has the PortSMF library.
``PortSMF_INCLUDE_DIRS``
Include directories needed to use PortSMF.
``PortSMF_LIBRARIES``
Libraries needed to link to PortSMF.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``PortSMF_INCLUDE_DIR``
The directory containing ``PortSMF/PortSMF.h``.
``PortSMF_LIBRARY``
The path to the PortSMF library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PortSMF QUIET portSMF)
endif()
# Arch installs to portsmf directory
find_path(PortSMF_INCLUDE_DIR
NAMES portsmf/allegro.h
PATHS ${PortSMF_INCLUDE_DIRS}
DOC "PortSMF include directory"
)
if(NOT PortSMF_INCLUDE_DIR)
# Debian installs to portSMF directory with capital SMF
find_path(PortSMF_INCLUDE_DIR
NAMES portSMF/allegro.h
PATHS ${PortSMF_INCLUDE_DIRS}
DOC "PortSMF include directory"
)
if(PortSMF_INCLUDE_DIR)
set(PORTSMF_CAPITAL 1 CACHE INTERNAL "")
endif()
endif()
mark_as_advanced(PortSMF_INCLUDE_DIR)
# Both Arch and Debian name the library portSMF with capital SMF
find_library(PortSMF_LIBRARY
NAMES portSMF
PATHS ${PortSMF_LIBRARY_DIRS}
DOC "PortSMF library"
)
mark_as_advanced(PortSMF_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
PortSMF
REQUIRED_VARS
PortSMF_LIBRARY
PortSMF_INCLUDE_DIR
)
if(PortSMF_FOUND)
set(PortSMF_LIBRARIES ${PortSMF_LIBRARY})
set(PortSMF_INCLUDE_DIRS ${PortSMF_INCLUDE_DIR})
if(NOT TARGET PortSMF::PortSMF)
add_library(PortSMF::PortSMF INTERFACE IMPORTED)
target_link_libraries(PortSMF::PortSMF INTERFACE "${PortSMF_LIBRARY}")
target_include_directories(PortSMF::PortSMF INTERFACE "${PortSMF_INCLUDE_DIR}")
if(PORTSMF_CAPITAL)
target_compile_definitions(PortSMF::PortSMF INTERFACE PORTSMF_CAPITAL)
endif()
endif()
endif()

View File

@@ -0,0 +1,62 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE.txt file for details.
#[=======================================================================[.rst:
FindPortTime
---------------
Finds the PortTime library.
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``PortTime_FOUND``
True if the system has the PortTime library.
``PortTime_INCLUDE_DIRS``
Include directories needed to use PortTime.
``PortTime_LIBRARIES``
Libraries needed to link to PortTime.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``PortTime_INCLUDE_DIR``
The directory containing ``porttime.h``.
``PortTime_LIBRARY``
The path to the PortTime library.
#]=======================================================================]
find_library(PortTime_LIBRARY
NAMES porttime
DOC "PortTime library"
)
mark_as_advanced(PortTime_LIBRARY)
find_path(PortTime_INCLUDE_DIR
NAMES porttime.h
PATH_SUFFIXES portmidi porttime
DOC "PortTime include directory")
mark_as_advanced(PortTime_INCLUDE_DIR)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
PortTime
DEFAULT_MSG
PortTime_LIBRARY
PortTime_INCLUDE_DIR
)
if(NOT TARGET PortMidi::PortTime)
add_library(PortMidi::PortTime UNKNOWN IMPORTED)
set_target_properties(PortMidi::PortTime
PROPERTIES
IMPORTED_LOCATION "${PortTime_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${PortTime_INCLUDE_DIR}"
)
endif()

View File

@@ -0,0 +1,86 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE.txt file for details.
#[=======================================================================[.rst:
FindSQLite3
-----------
Finds the SQLite3 library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``SQLite3::SQLite3``
The SQLite3 library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``SQLite3_FOUND``
True if the system has the SQLite3 library.
``SQLite3_INCLUDE_DIRS``
Include directories needed to use SQLite3.
``SQLite3_LIBRARIES``
Libraries needed to link to SQLite3.
``SQLite3_DEFINITIONS``
Compile definitions needed to use SQLite3.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``SQLite3_INCLUDE_DIR``
The directory containing ``sqlite3.h``.
``SQLite3_LIBRARY``
The path to the SQLite3 library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_SQLite3 QUIET sqlite3)
endif()
find_path(SQLite3_INCLUDE_DIR
NAMES sqlite3.h
PATHS ${PC_SQLite3_INCLUDE_DIRS}
PATH_SUFFIXES sqlite sqlite3
DOC "SQLite3 include directory")
mark_as_advanced(SQLite3_INCLUDE_DIR)
find_library(SQLite3_LIBRARY
NAMES sqlite3
PATHS ${PC_SQLite3_LIBRARY_DIRS}
DOC "SQLite3 library"
)
mark_as_advanced(SQLite3_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
SQLite3
DEFAULT_MSG
SQLite3_LIBRARY
SQLite3_INCLUDE_DIR
)
if(SQLite3_FOUND)
set(SQLite3_LIBRARIES "${SQLite3_LIBRARY}")
set(SQLite3_INCLUDE_DIRS "${SQLite3_INCLUDE_DIR}")
set(SQLite3_DEFINITIONS ${PC_SQLite3_CFLAGS_OTHER})
if(NOT TARGET SQLite3::SQLite3)
add_library(SQLite3::SQLite3 UNKNOWN IMPORTED)
set_target_properties(SQLite3::SQLite3
PROPERTIES
IMPORTED_LOCATION "${SQLite3_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_SQLite3_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${SQLite3_INCLUDE_DIR}"
)
endif()
endif()

View File

@@ -0,0 +1,63 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE.txt file for details.
#[=======================================================================[.rst:
FindSndFile
-----------
Finds the SndFile library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``SndFile::SndFile``
The SndFile library
This will define the following variables:
``SndFile_FOUND``
True if the system has the SndFile library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(SndFile QUIET sndfile)
else()
find_path(SndFile_INCLUDEDIR
NAMES sndfile.h
PATH_SUFFIXES sndfile
DOC "SndFile include directory")
find_library(SndFile_LINK_LIBRARIES
NAMES sndfile sndfile-1
DOC "SndFile library"
)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
SndFile
DEFAULT_MSG
SndFile_LINK_LIBRARIES
SndFile_INCLUDEDIR
)
file(STRINGS "${SndFile_INCLUDEDIR}/sndfile.h" SndFile_SUPPORTS_SET_COMPRESSION_LEVEL REGEX ".*SFC_SET_COMPRESSION_LEVEL.*")
if(SndFile_SUPPORTS_SET_COMPRESSION_LEVEL)
set(SndFile_SUPPORTS_SET_COMPRESSION_LEVEL ON)
else()
set(SndFile_SUPPORTS_SET_COMPRESSION_LEVEL OFF)
endif()
mark_as_advanced(SndFile_SUPPORTS_SET_COMPRESSION_LEVEL)
if(SndFile_FOUND)
if(NOT TARGET SndFile::sndfile)
add_library(SndFile::sndfile INTERFACE IMPORTED)
target_link_libraries(SndFile::sndfile INTERFACE "${SndFile_LINK_LIBRARIES}")
target_include_directories(SndFile::sndfile INTERFACE "${SndFile_INCLUDEDIR}")
endif()
endif()

View File

@@ -0,0 +1,85 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE.txt file for details.
#[=======================================================================[.rst:
FindSoundTouch
--------------
Finds the SoundTouch library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``SoundTouch::SoundTouch``
The SoundTouch library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``SoundTouch_FOUND``
True if the system has the SoundTouch library.
``SoundTouch_INCLUDE_DIRS``
Include directories needed to use SoundTouch.
``SoundTouch_LIBRARIES``
Libraries needed to link to SoundTouch.
``SoundTouch_DEFINITIONS``
Compile definitions needed to use SoundTouch.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``SoundTouch_INCLUDE_DIR``
The directory containing ``soundtouch/SoundTouch.h``.
``SoundTouch_LIBRARY``
The path to the SoundTouch library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_SoundTouch QUIET soundtouch)
endif()
find_path(SoundTouch_INCLUDE_DIR
NAMES soundtouch/SoundTouch.h
PATHS ${PC_SoundTouch_INCLUDE_DIRS}
DOC "SoundTouch include directory")
mark_as_advanced(SoundTouch_INCLUDE_DIR)
find_library(SoundTouch_LIBRARY
NAMES SoundTouch
PATHS ${PC_SoundTouch_LIBRARY_DIRS}
DOC "SoundTouch library"
)
mark_as_advanced(SoundTouch_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
SoundTouch
DEFAULT_MSG
SoundTouch_LIBRARY
SoundTouch_INCLUDE_DIR
)
if(SoundTouch_FOUND)
set(SoundTouch_LIBRARIES "${SoundTouch_LIBRARY}")
set(SoundTouch_INCLUDE_DIRS "${SoundTouch_INCLUDE_DIR}")
set(SoundTouch_DEFINITIONS ${PC_SoundTouch_CFLAGS_OTHER})
if(NOT TARGET SoundTouch::SoundTouch)
add_library(SoundTouch::SoundTouch UNKNOWN IMPORTED)
set_target_properties(SoundTouch::SoundTouch
PROPERTIES
IMPORTED_LOCATION "${SoundTouch_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_SoundTouch_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${SoundTouch_INCLUDE_DIR}"
)
endif()
endif()

View File

@@ -0,0 +1,81 @@
#[=======================================================================[.rst:
FindSoxr
--------
Finds the Soxr library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``Soxr::Soxr``
The Soxr library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``Soxr_FOUND``
True if the system has the Soxr library.
``Soxr_INCLUDE_DIRS``
Include directories needed to use Soxr.
``Soxr_LIBRARIES``
Libraries needed to link to Soxr.
``Soxr_DEFINITIONS``
Compile definitions needed to use Soxr.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``Soxr_INCLUDE_DIR``
The directory containing ``soxr.h``.
``Soxr_LIBRARY``
The path to the Soxr library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_Soxr QUIET soxr)
endif()
find_path(Soxr_INCLUDE_DIR
NAMES soxr.h
PATHS ${PC_Soxr_INCLUDE_DIRS}
DOC "Soxr include directory")
mark_as_advanced(Soxr_INCLUDE_DIR)
find_library(Soxr_LIBRARY
NAMES soxr
PATHS ${PC_Soxr_LIBRARY_DIRS}
DOC "Soxr library"
)
mark_as_advanced(Soxr_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
Soxr
DEFAULT_MSG
Soxr_LIBRARY
Soxr_INCLUDE_DIR
)
if(Soxr_FOUND)
set(Soxr_LIBRARIES "${Soxr_LIBRARY}")
set(Soxr_INCLUDE_DIRS "${Soxr_INCLUDE_DIR}")
set(Soxr_DEFINITIONS ${PC_Soxr_CFLAGS_OTHER})
if(NOT TARGET Soxr::soxr)
add_library(Soxr::soxr UNKNOWN IMPORTED)
set_target_properties(Soxr::soxr
PROPERTIES
IMPORTED_LOCATION "${Soxr_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_Soxr_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${Soxr_INCLUDE_DIR}"
)
endif()
endif()

View File

@@ -0,0 +1,81 @@
#[=======================================================================[.rst:
FindVampHostSDK
--------
Finds the VampHostSDK library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``VampHostSDK::VampHostSDK``
The VampHostSDK library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``VampHostSDK_FOUND``
True if the system has the VampHostSDK library.
``VampHostSDK_INCLUDE_DIRS``
Include directories needed to use VampHostSDK.
``VampHostSDK_LIBRARIES``
Libraries needed to link to VampHostSDK.
``VampHostSDK_DEFINITIONS``
Compile definitions needed to use VampHostSDK.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``VampHostSDK_INCLUDE_DIR``
The directory containing ``vamp-hostsdk/vamp-hostsdk.h``.
``VampHostSDK_LIBRARY``
The path to the VampHostSDK library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_VampHostSDK QUIET vamp-hostsdk)
endif()
find_path(VampHostSDK_INCLUDE_DIR
NAMES vamp-hostsdk/vamp-hostsdk.h
PATHS ${PC_VampHostSDK_INCLUDE_DIRS}
DOC "VampHostSDK include directory")
mark_as_advanced(VampHostSDK_INCLUDE_DIR)
find_library(VampHostSDK_LIBRARY
NAMES vamp-hostsdk
PATHS ${PC_VampHostSDK_LIBRARY_DIRS}
DOC "VampHostSDK library"
)
mark_as_advanced(VampHostSDK_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
VampHostSDK
DEFAULT_MSG
VampHostSDK_LIBRARY
VampHostSDK_INCLUDE_DIR
)
if(VampHostSDK_FOUND)
set(VampHostSDK_LIBRARIES "${VampHostSDK_LIBRARY}")
set(VampHostSDK_INCLUDE_DIRS "${VampHostSDK_INCLUDE_DIR}")
set(VampHostSDK_DEFINITIONS ${PC_VampHostSDK_CFLAGS_OTHER})
if(NOT TARGET VampHostSDK::VampHostSDK)
add_library(VampHostSDK::VampHostSDK UNKNOWN IMPORTED)
set_target_properties(VampHostSDK::VampHostSDK
PROPERTIES
IMPORTED_LOCATION "${VampHostSDK_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_VampHostSDK_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${VampHostSDK_INCLUDE_DIR}"
)
endif()
endif()

View File

@@ -0,0 +1,102 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE.txt file for details.
#[=======================================================================[.rst:
FindVorbis
----------
Finds the Vorbis library.
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``Vorbis_FOUND``
True if the system has the OggVorbis library.
``Vorbis_INCLUDE_DIRS``
Include directories needed to use OggVorbis.
``Vorbis_LIBRARIES``
Libraries needed to link to OggVorbis.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``Vorbis_vorbis_INCLUDE_DIR``
The directory containing ``vorbis/vorbis.h``.
``Vorbis_vorbisenc_INCLUDE_DIR``
The directory containing ``vorbis/vorbisenc.h``.
``Vorbis_vorbisfile_INCLUDE_DIR``
The directory containing ``vorbis/vorbisfile.h``.
``Vorbis_vorbis_LIBRARY``
The path to the vorbis library.
``Vorbis_vorbisenc_LIBRARY``
The path to the vorbisenc library.
``Vorbis_vorbisfile_LIBRARY``
The path to the vorbisfile library.
``Vorbis_LIBRARIES``
Libraries needed to link to vorbis.
#]=======================================================================]
find_path(Vorbis_vorbis_INCLUDE_DIR
NAMES vorbis/codec.h
DOC "Vorbis include directory"
)
mark_as_advanced(Vorbis_vorbis_INCLUDE_DIR)
find_path(Vorbis_vorbisenc_INCLUDE_DIR
NAMES vorbis/vorbisenc.h
DOC "Vorbisenc include directory"
)
mark_as_advanced(Vorbis_vorbisenc_INCLUDE_DIR)
find_path(Vorbis_vorbisfile_INCLUDE_DIR
NAMES vorbis/vorbisfile.h
DOC "Vorbisfile include directory"
)
mark_as_advanced(Vorbis_vorbisfile_INCLUDE_DIR)
find_library(Vorbis_vorbis_LIBRARY
NAMES vorbis
DOC "Vorbis library")
mark_as_advanced(Vorbis_vorbis_LIBRARY)
find_library(Vorbis_vorbisenc_LIBRARY
NAMES vorbisenc
DOC "Vorbisenc library")
mark_as_advanced(Vorbis_vorbisenc_LIBRARY)
find_library(Vorbis_vorbisfile_LIBRARY
NAMES vorbisfile
DOC "Vorbisfile library")
mark_as_advanced(Vorbis_vorbisfile_LIBRARY)
if(NOT Vorbis_FIND_COMPONENTS)
set(Vorbis_FIND_COMPONENTS "vorbis;vorbisenc;vorbisfile")
endif()
foreach(component ${Vorbis_FIND_COMPONENTS})
if(Vorbis_${component}_INCLUDE_DIR AND Vorbis_${component}_LIBRARY)
set(Vorbis_${component}_FOUND TRUE)
if(NOT TARGET Vorbis::${component})
add_library(Vorbis::${component} UNKNOWN IMPORTED)
set_target_properties(Vorbis::${component}
PROPERTIES
IMPORTED_LOCATION "${Vorbis_${component}_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${Vorbis_${component}_INCLUDE_DIR}"
)
endif()
else()
set(Vorbis_${component}_FOUND FALSE)
endif()
endforeach()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Vorbis
REQUIRED_VARS Vorbis_vorbis_INCLUDE_DIR Vorbis_vorbis_LIBRARY
HANDLE_COMPONENTS
)

View File

@@ -0,0 +1,76 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE.txt file for details.
#[=======================================================================[.rst:
Findid3tag
----------
Finds the id3tag library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``id3tag::id3tag``
The id3tag library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``id3tag_FOUND``
True if the system has the id3tag library.
``id3tag_INCLUDE_DIRS``
Include directories needed to use id3tag.
``id3tag_LIBRARIES``
Libraries needed to link to id3tag.
``id3tag_DEFINITIONS``
Compile definitions needed to use id3tag.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``id3tag_INCLUDE_DIR``
The directory containing ``id3tag.h``.
``id3tag_LIBRARY``
The path to the id3tag library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(id3tag id3tag)
else()
find_path(id3tag_INCLUDEDIR
NAMES id3tag.h
DOC "id3tag include directory")
find_library(id3tag_LINK_LIBRARIES
NAMES id3tag
DOC "id3tag library"
)
find_package(ZLIB REQUIRED)
list(APPEND id3tag_LINK_LIBRARIES ZLIB::ZLIB)
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
id3tag
DEFAULT_MSG
id3tag_LINK_LIBRARIES
id3tag_INCLUDEDIR
)
if(id3tag_FOUND)
if(NOT TARGET id3tag::id3tag)
add_library(id3tag::id3tag INTERFACE IMPORTED)
target_link_libraries(id3tag::id3tag INTERFACE "${id3tag_LINK_LIBRARIES}")
target_include_directories(id3tag::id3tag INTERFACE "${id3tag_INCLUDEDIR}")
endif()
endif()

View File

@@ -0,0 +1,81 @@
#[=======================================================================[.rst:
Findlibtwolame
--------
Finds the libtwolame library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``libtwolame::libtwolame``
The libtwolame library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``libtwolame_FOUND``
True if the system has the libtwolame library.
``libtwolame_INCLUDE_DIRS``
Include directories needed to use libtwolame.
``libtwolame_LIBRARIES``
Libraries needed to link to libtwolame.
``libtwolame_DEFINITIONS``
Compile definitions needed to use libtwolame.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``libtwolame_INCLUDE_DIR``
The directory containing ``twolame.h``.
``libtwolame_LIBRARY``
The path to the libtwolame library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_libtwolame QUIET twolame)
endif()
find_path(libtwolame_INCLUDE_DIR
NAMES twolame.h
PATHS ${PC_libtwolame_INCLUDE_DIRS}
DOC "libtwolame include directory")
mark_as_advanced(libtwolame_INCLUDE_DIR)
find_library(libtwolame_LIBRARY
NAMES twolame
PATHS ${PC_libtwolame_LIBRARY_DIRS}
DOC "libtwolame library"
)
mark_as_advanced(libtwolame_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
libtwolame
DEFAULT_MSG
libtwolame_LIBRARY
libtwolame_INCLUDE_DIR
)
if(libtwolame_FOUND)
set(libtwolame_LIBRARIES "${libtwolame_LIBRARY}")
set(libtwolame_INCLUDE_DIRS "${libtwolame_INCLUDE_DIR}")
set(libtwolame_DEFINITIONS ${PC_libtwolame_CFLAGS_OTHER})
if(NOT TARGET libtwolame::libtwolame)
add_library(libtwolame::libtwolame UNKNOWN IMPORTED)
set_target_properties(libtwolame::libtwolame
PROPERTIES
IMPORTED_LOCATION "${libtwolame_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_libtwolame_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${libtwolame_INCLUDE_DIR}"
)
endif()
endif()

View File

@@ -0,0 +1,97 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE file for details.
#[=======================================================================[.rst:
Findlilv
--------
Finds the lilv library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``lilv::lilv``
The lilv library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``lilv_FOUND``
True if the system has the lilv library.
``lilv_INCLUDE_DIRS``
Include directories needed to use lilv.
``lilv_LIBRARIES``
Libraries needed to link to lilv.
``lilv_DEFINITIONS``
Compile definitions needed to use lilv.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``lilv_INCLUDE_DIR``
The directory containing ``lilv-0/lilb/lilv.h``.
``lilv_LIBRARY``
The path to the lilv library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_lilv QUIET lilv-0)
endif()
find_path(lilv_INCLUDE_DIR
NAMES lilv/lilv.h
PATH_SUFFIXES lilv-0
PATHS ${PC_lilv_INCLUDE_DIRS}
DOC "lilv include directory"
)
mark_as_advanced(lilv_INCLUDE_DIR)
find_library(lilv_LIBRARY
NAMES lilv-0 lilv
PATHS ${PC_lilv_LIBRARY_DIRS}
DOC "lilv library"
)
mark_as_advanced(lilv_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
lilv
DEFAULT_MSG
lilv_LIBRARY
lilv_INCLUDE_DIR
)
if(lilv_FOUND)
set(lilv_LIBRARIES "${lilv_LIBRARY}")
set(lilv_INCLUDE_DIRS "${lilv_INCLUDE_DIR}")
set(lilv_DEFINITIONS ${PC_lilv_CFLAGS_OTHER})
if(NOT TARGET lilv::lilv)
add_library(lilv::lilv UNKNOWN IMPORTED)
set_target_properties(lilv::lilv
PROPERTIES
IMPORTED_LOCATION "${lilv_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_lilv_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${lilv_INCLUDE_DIR}"
)
get_target_property(LILV_TYPE lilv::lilv TYPE)
if(LILV_TYPE STREQUAL "STATIC_LIBRARY")
find_package(lv2 CONFIG REQUIRED)
find_package(serd CONFIG REQUIRED)
find_package(sord CONFIG REQUIRED)
find_package(sratom CONFIG REQUIRED)
set_property(TARGET lilv::lilv APPEND PROPERTY INTERFACE_LINK_LIBRARIES
lv2::lv2 serd::serd sord::sord sratom::sratom
)
endif()
endif()
endif()

View File

@@ -0,0 +1,74 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE.txt file for details.
#[=======================================================================[.rst:
Findmp3lame
-----------
Finds the LAME library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``mp3lame::mp3lame``
The LAME library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``mp3lame_FOUND``
True if the system has the LAME library.
``mp3lame_INCLUDE_DIRS``
Include directories needed to use LAME.
``mp3lame_LIBRARIES``
Libraries needed to link to LAME.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``mp3lame_INCLUDE_DIR``
The directory containing ``lame/lame.h``.
``mp3lame_LIBRARY``
The path to the LAME library.
#]=======================================================================]
find_path(mp3lame_INCLUDE_DIR
NAMES lame/lame.h
DOC "LAME include directory")
mark_as_advanced(mp3lame_INCLUDE_DIR)
find_library(mp3lame_LIBRARY
NAMES mp3lame mp3lame-static libmp3lame
DOC "LAME library"
)
mark_as_advanced(mp3lame_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
mp3lame
DEFAULT_MSG
mp3lame_LIBRARY
mp3lame_INCLUDE_DIR
)
if(mp3lame_FOUND)
set(mp3lame_LIBRARIES "${mp3lame_LIBRARY}")
set(mp3lame_INCLUDE_DIRS "${mp3lame_INCLUDE_DIR}")
if(NOT TARGET mp3lame::mp3lame)
add_library(mp3lame::mp3lame UNKNOWN IMPORTED)
set_target_properties(mp3lame::mp3lame
PROPERTIES
IMPORTED_LOCATION "${mp3lame_LIBRARY}"
INTERFACE_INCLUDE_DIRECTORIES "${mp3lame_INCLUDE_DIR}"
)
endif()
endif()

View File

@@ -0,0 +1,77 @@
#[=======================================================================[.rst:
Findsbsms
--------
Finds the sbsms library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``sbsms::sbsms``
The sbsms library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``sbsms_FOUND``
True if the system has the sbsms library.
``sbsms_INCLUDE_DIRS``
Include directories needed to use sbsms.
``sbsms_LIBRARIES``
Libraries needed to link to sbsms.
``sbsms_DEFINITIONS``
Compile definitions needed to use sbsms.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``sbsms_INCLUDE_DIR``
The directory containing ``sbsms.h``.
``sbsms_LIBRARY``
The path to the sbsms library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_sbsms QUIET flac)
endif()
find_path(sbsms_INCLUDE_DIR
NAMES sbsms.h
PATHS ${PC_sbsms_INCLUDE_DIRS}
DOC "sbsms include directory")
mark_as_advanced(sbsms_INCLUDE_DIR)
find_library(sbsms_LIBRARY
NAMES sbsms
PATHS ${PC_sbsms_LIBRARY_DIRS}
DOC "sbsms library"
)
mark_as_advanced(sbsms_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
sbsms
DEFAULT_MSG
sbsms_LIBRARY
sbsms_INCLUDE_DIR
)
if(sbsms_FOUND)
if(NOT TARGET sbsms::sbsms)
add_library(sbsms::sbsms UNKNOWN IMPORTED)
set_target_properties(sbsms::sbsms
PROPERTIES
IMPORTED_LOCATION "${sbsms_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_sbsms_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${sbsms_INCLUDE_DIR}"
)
endif()
endif()

View File

@@ -0,0 +1,85 @@
# Copyright (C) 2001-2020 Mixxx Development Team
# Distributed under the GNU General Public Licence (GPL) version 2 or any later
# later version. See the LICENSE.txt file for details.
#[=======================================================================[.rst:
Findsuil
--------
Finds the suil library.
Imported Targets
^^^^^^^^^^^^^^^^
This module provides the following imported targets, if found:
``suil::suil``
The suil library
Result Variables
^^^^^^^^^^^^^^^^
This will define the following variables:
``suil_FOUND``
True if the system has the suil library.
``suil_INCLUDE_DIRS``
Include directories needed to use suil.
``suil_LIBRARIES``
Libraries needed to link to suil.
``suil_DEFINITIONS``
Compile definitions needed to use suil.
Cache Variables
^^^^^^^^^^^^^^^
The following cache variables may also be set:
``suil_INCLUDE_DIR``
The directory containing ``suil/all.h``.
``suil_LIBRARY``
The path to the suil library.
#]=======================================================================]
find_package(PkgConfig QUIET)
if(PkgConfig_FOUND)
pkg_check_modules(PC_suil QUIET suil-0)
endif()
find_path(suil_INCLUDE_DIR
NAMES suil/suil.h
PATHS ${PC_suil_INCLUDE_DIRS}
DOC "suil include directory")
mark_as_advanced(suil_INCLUDE_DIR)
find_library(suil_LIBRARY
NAMES suil-0
PATHS ${PC_suil_LIBRARY_DIRS}
DOC "suil library"
)
mark_as_advanced(suil_LIBRARY)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(
suil
DEFAULT_MSG
suil_LIBRARY
suil_INCLUDE_DIR
)
if(suil_FOUND)
set(suil_LIBRARIES "${suil_LIBRARY}")
set(suil_INCLUDE_DIRS "${suil_INCLUDE_DIR}")
set(suil_DEFINITIONS ${PC_suil_CFLAGS_OTHER})
if(NOT TARGET suil::suil)
add_library(suil::suil UNKNOWN IMPORTED)
set_target_properties(suil::suil
PROPERTIES
IMPORTED_LOCATION "${suil_LIBRARY}"
INTERFACE_COMPILE_OPTIONS "${PC_suil_CFLAGS_OTHER}"
INTERFACE_INCLUDE_DIRECTORIES "${suil_INCLUDE_DIR}"
)
endif()
endif()