diff options
-rw-r--r-- | CMakeLists.txt | 20 | ||||
-rw-r--r-- | build_files/cmake/Modules/FindOpenEXR.cmake | 2 | ||||
-rw-r--r-- | build_files/cmake/Modules/FindSndFile.cmake | 64 | ||||
-rw-r--r-- | build_files/cmake/macros.cmake | 2 | ||||
-rw-r--r-- | intern/audaspace/CMakeLists.txt | 2 |
5 files changed, 77 insertions, 13 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 4cd775a222b..91fe2aa0f7f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -283,10 +283,10 @@ if(UNIX AND NOT APPLE) endif() if(WITH_CODEC_SNDFILE) - set(SNDFILE /usr) - set(SNDFILE_INC ${SNDFILE}/include) - set(SNDFILE_LIB sndfile) - set(SNDFILE_LIBPATH ${SNDFILE}/lib) + find_package(SndFile) + if(NOT SNDFILE_FOUND) + set(WITH_CODEC_SNDFILE OFF) + endif() endif() if(WITH_INTERNATIONAL) @@ -518,9 +518,9 @@ elseif(WIN32) if(WITH_CODEC_SNDFILE) set(SNDFILE ${LIBDIR}/sndfile) - set(SNDFILE_INC ${SNDFILE}/include) - set(SNDFILE_LIB libsndfile-1) - set(SNDFILE_LIBPATH ${SNDFILE}/lib) + set(SNDFILE_INCLUDE_DIRS ${SNDFILE}/include) + set(SNDFILE_LIBRARIES libsndfile-1) + set(SNDFILE_LIBPATH ${SNDFILE}/lib) # TODO, deprecate endif() if(WITH_SDL) @@ -831,9 +831,9 @@ elseif(APPLE) if(WITH_CODEC_SNDFILE) set(SNDFILE ${LIBDIR}/sndfile) - set(SNDFILE_INC ${SNDFILE}/include) - set(SNDFILE_LIB sndfile FLAC ogg vorbis vorbisenc) - set(SNDFILE_LIBPATH ${SNDFILE}/lib ${FFMPEG}/lib) + set(SNDFILE_INCLUDE_DIRS ${SNDFILE}/include) + set(SNDFILE_LIBRARIES sndfile FLAC ogg vorbis vorbisenc) + set(SNDFILE_LIBPATH ${SNDFILE}/lib ${FFMPEG}/lib) # TODO, deprecate endif() set(PYTHON_VERSION 3.2) diff --git a/build_files/cmake/Modules/FindOpenEXR.cmake b/build_files/cmake/Modules/FindOpenEXR.cmake index 9a116973348..0d4610bd926 100644 --- a/build_files/cmake/Modules/FindOpenEXR.cmake +++ b/build_files/cmake/Modules/FindOpenEXR.cmake @@ -79,7 +79,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR DEFAULT_MSG IF(OPENEXR_FOUND) SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES}) SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR}) -ENDIF(OPENEXR_FOUND) +ENDIF() MARK_AS_ADVANCED(OPENEXR_INCLUDE_DIR) FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS}) diff --git a/build_files/cmake/Modules/FindSndFile.cmake b/build_files/cmake/Modules/FindSndFile.cmake new file mode 100644 index 00000000000..e4c8d9f114b --- /dev/null +++ b/build_files/cmake/Modules/FindSndFile.cmake @@ -0,0 +1,64 @@ +# - Find SndFile library +# Find the native SndFile includes and library +# This module defines +# SNDFILE_INCLUDE_DIRS, where to find ImfXdr.h, etc. Set when +# SNDFILE_INCLUDE_DIR is found. +# SNDFILE_LIBRARIES, libraries to link against to use SndFile. +# SNDFILE_ROOT_DIR, The base directory to search for SndFile. +# This can also be an environment variable. +# SNDFILE_FOUND, If false, do not try to use SndFile. +# +# also defined, but not for general use are +# SNDFILE_LIBRARY, where to find the SndFile library. + +#============================================================================= +# Copyright 2002-2009 Kitware, Inc. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distribute this file outside of CMake, substitute the full +# License text for the above reference.) + +# If SNDFILE_ROOT_DIR was defined in the environment, use it. +IF(NOT SNDFILE_ROOT_DIR AND NOT $ENV{SNDFILE_ROOT_DIR} STREQUAL "") + SET(SNDFILE_ROOT_DIR $ENV{SNDFILE_ROOT_DIR}) +ENDIF() + +SET(_sndfile_SEARCH_DIRS + ${SNDFILE_ROOT_DIR} + /usr/local + /sw # Fink + /opt/local # DarwinPorts + /opt/csw # Blastwave +) + +FIND_PATH(SNDFILE_INCLUDE_DIR sndfile.h + HINTS + ${_sndfile_SEARCH_DIRS} + PATH_SUFFIXES + include +) + +FIND_LIBRARY(SNDFILE_LIBRARY NAMES "sndfile" + HINTS ${_sndfile_SEARCH_DIRS} + PATH_SUFFIXES lib64 lib + ) + +# handle the QUIETLY and REQUIRED arguments and set SNDFILE_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(SndFile DEFAULT_MSG + SNDFILE_LIBRARY SNDFILE_INCLUDE_DIR) + +IF(SNDFILE_FOUND) + SET(SNDFILE_LIBRARIES ${SNDFILE_LIBRARY}) + SET(SNDFILE_INCLUDE_DIRS ${SNDFILE_INCLUDE_DIR}) +ENDIF(SNDFILE_FOUND) + +MARK_AS_ADVANCED(SNDFILE_INCLUDE_DIR) +MARK_AS_ADVANCED(SNDFILE_LIBRARY) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index 9b19ed33162..b0b777f936a 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -200,7 +200,7 @@ macro(setup_liblinks target_link_libraries(${target} ${JACK_LIB}) endif() if(WITH_CODEC_SNDFILE) - target_link_libraries(${target} ${SNDFILE_LIB}) + target_link_libraries(${target} ${SNDFILE_LIBRARIES}) endif() if(WITH_SAMPLERATE) target_link_libraries(${target} ${LIBSAMPLERATE_LIB}) diff --git a/intern/audaspace/CMakeLists.txt b/intern/audaspace/CMakeLists.txt index b7a0b06d491..e2356256af5 100644 --- a/intern/audaspace/CMakeLists.txt +++ b/intern/audaspace/CMakeLists.txt @@ -206,7 +206,7 @@ endif() if(WITH_CODEC_SNDFILE) add_definitions(-DWITH_SNDFILE) list(APPEND INC sndfile) - list(APPEND INC_SYS ${SNDFILE_INC}) + list(APPEND INC_SYS ${SNDFILE_INCLUDE_DIRS}) list(APPEND SRC sndfile/AUD_SndFileFactory.cpp sndfile/AUD_SndFileReader.cpp |