Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-06-18 16:12:19 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-06-18 16:12:19 +0400
commit549c2c58a109974408de29515b48161a756491c9 (patch)
tree82a31827bff6646d5779722cb8cfaf547063c475
parent2d01cb5b279031de45889d443ee89762a02566eb (diff)
added FindSndFile cmake module to replace inline checks.
-rw-r--r--CMakeLists.txt20
-rw-r--r--build_files/cmake/Modules/FindOpenEXR.cmake2
-rw-r--r--build_files/cmake/Modules/FindSndFile.cmake64
-rw-r--r--build_files/cmake/macros.cmake2
-rw-r--r--intern/audaspace/CMakeLists.txt2
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