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:
183
cmake-modules/FindFFMPEG.cmake
Normal file
183
cmake-modules/FindFFMPEG.cmake
Normal 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})
|
||||
88
cmake-modules/FindFLAC++.cmake
Normal file
88
cmake-modules/FindFLAC++.cmake
Normal 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()
|
||||
85
cmake-modules/FindFLAC.cmake
Normal file
85
cmake-modules/FindFLAC.cmake
Normal 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()
|
||||
124
cmake-modules/FindGLIB.cmake
Normal file
124
cmake-modules/FindGLIB.cmake
Normal 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
150
cmake-modules/FindGTK.cmake
Normal 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)
|
||||
68
cmake-modules/FindLV2.cmake
Normal file
68
cmake-modules/FindLV2.cmake
Normal 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()
|
||||
86
cmake-modules/FindMAD.cmake
Normal file
86
cmake-modules/FindMAD.cmake
Normal 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()
|
||||
77
cmake-modules/FindOgg.cmake
Normal file
77
cmake-modules/FindOgg.cmake
Normal 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()
|
||||
57
cmake-modules/FindPortAudio.cmake
Normal file
57
cmake-modules/FindPortAudio.cmake
Normal 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()
|
||||
73
cmake-modules/FindPortMidi.cmake
Normal file
73
cmake-modules/FindPortMidi.cmake
Normal 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()
|
||||
83
cmake-modules/FindPortSMF.cmake
Normal file
83
cmake-modules/FindPortSMF.cmake
Normal 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()
|
||||
62
cmake-modules/FindPortTime.cmake
Normal file
62
cmake-modules/FindPortTime.cmake
Normal 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()
|
||||
86
cmake-modules/FindSQLite3.cmake
Normal file
86
cmake-modules/FindSQLite3.cmake
Normal 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()
|
||||
63
cmake-modules/FindSndFile.cmake
Normal file
63
cmake-modules/FindSndFile.cmake
Normal 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()
|
||||
85
cmake-modules/FindSoundTouch.cmake
Normal file
85
cmake-modules/FindSoundTouch.cmake
Normal 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()
|
||||
81
cmake-modules/FindSoxr.cmake
Normal file
81
cmake-modules/FindSoxr.cmake
Normal 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()
|
||||
81
cmake-modules/FindVampHostSDK.cmake
Normal file
81
cmake-modules/FindVampHostSDK.cmake
Normal 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()
|
||||
102
cmake-modules/FindVorbis.cmake
Normal file
102
cmake-modules/FindVorbis.cmake
Normal 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
|
||||
)
|
||||
76
cmake-modules/Findid3tag.cmake
Normal file
76
cmake-modules/Findid3tag.cmake
Normal 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()
|
||||
81
cmake-modules/Findlibtwolame.cmake
Normal file
81
cmake-modules/Findlibtwolame.cmake
Normal 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()
|
||||
97
cmake-modules/Findlilv.cmake
Normal file
97
cmake-modules/Findlilv.cmake
Normal 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()
|
||||
74
cmake-modules/Findmp3lame.cmake
Normal file
74
cmake-modules/Findmp3lame.cmake
Normal 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()
|
||||
77
cmake-modules/Findsbsms.cmake
Normal file
77
cmake-modules/Findsbsms.cmake
Normal 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()
|
||||
85
cmake-modules/Findsuil.cmake
Normal file
85
cmake-modules/Findsuil.cmake
Normal 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()
|
||||
Reference in New Issue
Block a user