-
-
Notifications
You must be signed in to change notification settings - Fork 1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add CMake find modules for FFTW, LibSampleratae and LibSndFile.
Removes reliance on pkg-config for finding these libraries.
- Loading branch information
Showing
7 changed files
with
127 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# FindFFTW.cmake - Try to find FFTW3 | ||
# Copyright (c) 2018 Lukas W <lukaswhl/at/gmail.com> | ||
# This file is MIT licensed. | ||
# See http://opensource.org/licenses/MIT | ||
|
||
# Try pkgconfig for hints | ||
find_package(PkgConfig QUIET) | ||
|
||
if(NOT FFTW_FIND_COMPONENTS) | ||
set(FFTW_FIND_COMPONENTS fftw3f fftw3 fftwl) | ||
endif() | ||
|
||
if(PKG_CONFIG_FOUND) | ||
pkg_check_modules(FFTW_PKG fftw>=3.0.0) | ||
pkg_check_modules(FFTW3_PKG fftw3>=3.0.0) | ||
endif() | ||
|
||
find_path(FFTW_INCLUDE_DIR | ||
NAMES fftw3.h | ||
PATHS ${FFTW_PKG_INCLUDE_DIRS} ${FFTW3_PKG_INCLUDE_DIRS} | ||
) | ||
|
||
set(check_list) | ||
|
||
foreach(comp ${FFTW_FIND_COMPONENTS}) | ||
string(TOUPPER ${comp} COMP) | ||
if(PKG_CONFIG_FOUND) | ||
pkg_check_modules(${COMP}_PKG REQUIRED ${comp}>=3.0.0) | ||
endif() | ||
|
||
find_library(${COMP}_LIBRARY | ||
NAMES ${comp} | ||
PATHS ${comp}_PKG_LIBRARY_DIRS | ||
) | ||
list(APPEND check_list ${COMP}_LIBRARY) | ||
|
||
set(${COMP}_LIBRARIES ${${COMP}_LIBRARY} CACHE FILEPATH "${COMP} library path") | ||
set(${COMP}_INCLUDE_DIRS ${FFTW_INCLUDE_DIR} CACHE PATH "${COMP} include path") | ||
mark_as_advanced(${COMP}_LIBRARIES ${COMP}_INCLUDE_DIRS) | ||
endforeach() | ||
|
||
find_package(PackageHandleStandardArgs) | ||
find_package_handle_standard_args(FFTW DEFAULT_MSG FFTW_INCLUDE_DIR ${check_list}) | ||
|
||
set(FFTW_INCLUDE_DIRS ${FFTW_INCLUDE_DIR}) | ||
|
||
mark_as_advanced(FFTW_LIBRARY FFTW_LIBRARIES FFTW_INCLUDE_DIR FFTW_INCLUDE_DIRS ${check_list}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
# FindFFTW.cmake - Try to find FFTW3 | ||
# Copyright (c) 2018 Lukas W <lukaswhl/at/gmail.com> | ||
# This file is MIT licensed. | ||
# See http://opensource.org/licenses/MIT | ||
|
||
find_package(PkgConfig QUIET) | ||
if(PKG_CONFIG_FOUND) | ||
pkg_check_modules(SAMPLERATE_PKG samplerate) | ||
endif() | ||
|
||
find_path(SAMPLERATE_INCLUDE_DIR | ||
NAMES samplerate.h | ||
PATHS ${SAMPLERATE_PKG_INCLUDE_DIRS} | ||
) | ||
|
||
set(SAMPLERATE_NAMES samplerate libsamplerate) | ||
if(Samplerate_FIND_VERSION_MAJOR) | ||
list(APPEND SAMPLERATE_NAMES libsamplerate-${Samplerate_FIND_VERSION_MAJOR}) | ||
else() | ||
list(APPEND SAMPLERATE_NAMES libsamplerate-0) | ||
endif() | ||
|
||
find_library(SAMPLERATE_LIBRARY | ||
NAMES ${SAMPLERATE_NAMES} | ||
PATHS ${SAMPLERATE_PKG_LIBRARY_DIRS} | ||
) | ||
|
||
include(FindPackageHandleStandardArgs) | ||
find_package_handle_standard_args(SAMPLERATE DEFAULT_MSG SAMPLERATE_LIBRARY SAMPLERATE_INCLUDE_DIR) | ||
|
||
mark_as_advanced(SAMPLERATE_INCLUDE_DIR SAMPLERATE_LIBRARY ) | ||
|
||
set(SAMPLERATE_LIBRARIES ${SAMPLERATE_LIBRARY} ) | ||
set(SAMPLERATE_INCLUDE_DIRS ${SAMPLERATE_INCLUDE_DIR}) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# FindSndFile.cmake - Try to find libsndfile | ||
# Copyright (c) 2018 Lukas W <lukaswhl/at/gmail.com> | ||
# This file is MIT licensed. | ||
# See http://opensource.org/licenses/MIT | ||
|
||
# Try pkgconfig for hints | ||
find_package(PkgConfig QUIET) | ||
if(PKG_CONFIG_FOUND) | ||
pkg_check_modules(SNDFILE_PKG sndfile) | ||
endif(PKG_CONFIG_FOUND) | ||
set(SndFile_DEFINITIONS ${SNDFILE_PKG_CFLAGS_OTHER}) | ||
|
||
if(WIN32) | ||
# Try Vcpkg | ||
find_package(LibSndFile ${SndFile_FIND_VERSION} CONFIG QUIET) | ||
if(LibSndFile_FOUND) | ||
get_target_property(LibSndFile_Location sndfile-shared LOCATION) | ||
get_target_property(LibSndFile_Include_Path sndfile-shared INTERFACE_INCLUDE_DIRECTORIES) | ||
get_filename_component(LibSndFile_Path LibSndFile_Location PATH) | ||
endif() | ||
endif() | ||
|
||
find_path(SNDFILE_INCLUDE_DIR | ||
NAMES sndfile.h | ||
PATHS ${SNDFILE_PKG_INCLUDE_DIRS} ${LibSndFile_Include_Path} | ||
) | ||
|
||
find_library(SNDFILE_LIBRARY | ||
NAMES sndfile libsndfile libsndfile-1 | ||
PATHS ${SNDFILE_PKG_LIBRARY_DIRS} ${LibSndFile_Path} | ||
) | ||
|
||
find_package(PackageHandleStandardArgs) | ||
find_package_handle_standard_args(SndFile DEFAULT_MSG SNDFILE_LIBRARY SNDFILE_INCLUDE_DIR) | ||
|
||
set(SNDFILE_LIBRARIES ${SNDFILE_LIBRARY}) | ||
set(SNDFILE_INCLUDE_DIRS ${SNDFILE_INCLUDE_DIR}) | ||
|
||
mark_as_advanced(SNDFILE_LIBRARY SNDFILE_LIBRARIES SNDFILE_INCLUDE_DIR SNDFILE_INCLUDE_DIRS) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,5 @@ | ||
INCLUDE(BuildPlugin) | ||
INCLUDE_DIRECTORIES(${FFTW3F_INCLUDE_DIRS}) | ||
LINK_DIRECTORIES(${FFTW3F_LIBRARY_DIRS}) | ||
LINK_LIBRARIES(${FFTW3F_LIBRARIES}) | ||
BUILD_PLUGIN(eq EqEffect.cpp EqCurve.cpp EqCurve.h EqControls.cpp EqControlsDialog.cpp EqFilter.h EqParameterWidget.cpp EqFader.h EqSpectrumView.h EqSpectrumView.cpp | ||
MOCFILES EqControls.h EqControlsDialog.h EqCurve.h EqParameterWidget.h EqFader.h EqSpectrumView.h EMBEDDED_RESOURCES *.png) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,4 @@ | ||
INCLUDE(BuildPlugin) | ||
INCLUDE_DIRECTORIES(${FFTW3F_INCLUDE_DIRS}) | ||
LINK_DIRECTORIES(${FFTW3F_LIBRARY_DIRS}) | ||
LINK_LIBRARIES(${FFTW3F_LIBRARIES}) | ||
BUILD_PLUGIN(spectrumanalyzer SpectrumAnalyzer.cpp SpectrumAnalyzerControls.cpp SpectrumAnalyzerControlDialog.cpp SpectrumAnalyzer.h SpectrumAnalyzerControls.h SpectrumAnalyzerControlDialog.h MOCFILES SpectrumAnalyzerControlDialog.h SpectrumAnalyzerControls.h EMBEDDED_RESOURCES *.png) |