[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37617] trunk/blender: added FindSndFile cmake module to replace inline checks.

Campbell Barton ideasman42 at gmail.com
Sat Jun 18 14:12:20 CEST 2011


Revision: 37617
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37617
Author:   campbellbarton
Date:     2011-06-18 12:12:19 +0000 (Sat, 18 Jun 2011)
Log Message:
-----------
added FindSndFile cmake module to replace inline checks.

Modified Paths:
--------------
    trunk/blender/CMakeLists.txt
    trunk/blender/build_files/cmake/Modules/FindOpenEXR.cmake
    trunk/blender/build_files/cmake/macros.cmake
    trunk/blender/intern/audaspace/CMakeLists.txt

Added Paths:
-----------
    trunk/blender/build_files/cmake/Modules/FindSndFile.cmake

Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt	2011-06-18 11:40:44 UTC (rev 37616)
+++ trunk/blender/CMakeLists.txt	2011-06-18 12:12:19 UTC (rev 37617)
@@ -283,10 +283,10 @@
 	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 @@
 
 	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 @@
 
 	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)

Modified: trunk/blender/build_files/cmake/Modules/FindOpenEXR.cmake
===================================================================
--- trunk/blender/build_files/cmake/Modules/FindOpenEXR.cmake	2011-06-18 11:40:44 UTC (rev 37616)
+++ trunk/blender/build_files/cmake/Modules/FindOpenEXR.cmake	2011-06-18 12:12:19 UTC (rev 37617)
@@ -79,7 +79,7 @@
 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})

Added: trunk/blender/build_files/cmake/Modules/FindSndFile.cmake
===================================================================
--- trunk/blender/build_files/cmake/Modules/FindSndFile.cmake	                        (rev 0)
+++ trunk/blender/build_files/cmake/Modules/FindSndFile.cmake	2011-06-18 12:12:19 UTC (rev 37617)
@@ -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)

Modified: trunk/blender/build_files/cmake/macros.cmake
===================================================================
--- trunk/blender/build_files/cmake/macros.cmake	2011-06-18 11:40:44 UTC (rev 37616)
+++ trunk/blender/build_files/cmake/macros.cmake	2011-06-18 12:12:19 UTC (rev 37617)
@@ -200,7 +200,7 @@
 		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})

Modified: trunk/blender/intern/audaspace/CMakeLists.txt
===================================================================
--- trunk/blender/intern/audaspace/CMakeLists.txt	2011-06-18 11:40:44 UTC (rev 37616)
+++ trunk/blender/intern/audaspace/CMakeLists.txt	2011-06-18 12:12:19 UTC (rev 37617)
@@ -206,7 +206,7 @@
 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




More information about the Bf-blender-cvs mailing list