[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37633] trunk/blender: cmake add module for finding fftw3.

Campbell Barton ideasman42 at gmail.com
Sun Jun 19 10:57:35 CEST 2011


Revision: 37633
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37633
Author:   campbellbarton
Date:     2011-06-19 08:57:34 +0000 (Sun, 19 Jun 2011)
Log Message:
-----------
cmake add module for finding fftw3.
also allow debug blender to build with non debug python

Modified Paths:
--------------
    trunk/blender/CMakeLists.txt
    trunk/blender/build_files/cmake/Modules/FindPythonLibsUnix.cmake

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

Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt	2011-06-19 08:20:02 UTC (rev 37632)
+++ trunk/blender/CMakeLists.txt	2011-06-19 08:57:34 UTC (rev 37633)
@@ -369,10 +369,10 @@
 	endif()
 
 	if(WITH_FFTW3)
-		set(FFTW3 /usr)
-		set(FFTW3_INCLUDE_DIRS ${FFTW3}/include)
-		set(FFTW3_LIBRARIES fftw3)
-		set(FFTW3_LIBPATH ${FFTW3}/lib)
+		find_package(Fftw3)
+		if(NOT FFTW3_FOUND)
+			set(WITH_FFTW3 OFF)
+		endif()
 	endif()
 
 	if(WITH_SAMPLERATE)

Added: trunk/blender/build_files/cmake/Modules/FindFftw3.cmake
===================================================================
--- trunk/blender/build_files/cmake/Modules/FindFftw3.cmake	                        (rev 0)
+++ trunk/blender/build_files/cmake/Modules/FindFftw3.cmake	2011-06-19 08:57:34 UTC (rev 37633)
@@ -0,0 +1,67 @@
+# - Find Fftw3 library
+# Find the native Fftw3 includes and library
+# This module defines
+#  FFTW3_INCLUDE_DIRS, where to find fftw3.h, Set when
+#                        FFTW3_INCLUDE_DIR is found.
+#  FFTW3_LIBRARIES, libraries to link against to use Fftw3.
+#  FFTW3_ROOT_DIR, The base directory to search for Fftw3.
+#                    This can also be an environment variable.
+#  FFTW3_FOUND, If false, do not try to use Fftw3.
+#
+# also defined, but not for general use are
+#  FFTW3_LIBRARY, where to find the Fftw3 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 FFTW3_ROOT_DIR was defined in the environment, use it.
+IF(NOT FFTW3_ROOT_DIR AND NOT $ENV{FFTW3_ROOT_DIR} STREQUAL "")
+  SET(FFTW3_ROOT_DIR $ENV{FFTW3_ROOT_DIR})
+ENDIF()
+
+SET(_fftw3_SEARCH_DIRS
+  ${FFTW3_ROOT_DIR}
+  /usr/local
+  /sw # Fink
+  /opt/local # DarwinPorts
+  /opt/csw # Blastwave
+)
+
+FIND_PATH(FFTW3_INCLUDE_DIR fftw3.h
+  HINTS
+    ${_fftw3_SEARCH_DIRS}
+  PATH_SUFFIXES
+    include
+)
+
+FIND_LIBRARY(FFTW3_LIBRARY
+  NAMES "fftw3"
+  HINTS ${_fftw3_SEARCH_DIRS}
+  PATH_SUFFIXES lib64 lib
+  )
+
+# handle the QUIETLY and REQUIRED arguments and set FFTW3_FOUND to TRUE if 
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Fftw3 DEFAULT_MSG
+    FFTW3_LIBRARY FFTW3_INCLUDE_DIR)
+
+IF(FFTW3_FOUND)
+  SET(FFTW3_LIBRARIES ${FFTW3_LIBRARY})
+  SET(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR})
+ENDIF(FFTW3_FOUND)
+
+MARK_AS_ADVANCED(
+  FFTW3_INCLUDE_DIR
+  FFTW3_LIBRARY
+)

Modified: trunk/blender/build_files/cmake/Modules/FindPythonLibsUnix.cmake
===================================================================
--- trunk/blender/build_files/cmake/Modules/FindPythonLibsUnix.cmake	2011-06-19 08:20:02 UTC (rev 37632)
+++ trunk/blender/build_files/cmake/Modules/FindPythonLibsUnix.cmake	2011-06-19 08:57:34 UTC (rev 37633)
@@ -22,7 +22,9 @@
 mark_as_advanced(PYTHON_LINKFLAGS)
 
 set(_python_ABI_FLAGS
-	"m;mu;u; ")
+	"m;mu;u; "  # release
+	"md;mud;ud" # debug
+)
 
 string(REPLACE "." "" _PYTHON_VERSION_NO_DOTS ${PYTHON_VERSION})
 
@@ -33,9 +35,9 @@
 )
 
 foreach(_CURRENT_ABI_FLAGS ${_python_ABI_FLAGS})
-	if(CMAKE_BUILD_TYPE STREQUAL Debug)
-		set(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}")
-	endif()
+	#if(CMAKE_BUILD_TYPE STREQUAL Debug)
+	#	set(_CURRENT_ABI_FLAGS "d${_CURRENT_ABI_FLAGS}")
+	#endif()
 	string(REPLACE " " "" _CURRENT_ABI_FLAGS ${_CURRENT_ABI_FLAGS})
 
 	find_path(PYTHON_INCLUDE_DIR
@@ -50,7 +52,7 @@
 		PATH_SUFFIXES lib64 lib
 	)
 
-	if((EXISTS ${PYTHON_LIBRARIES}) AND (EXISTS ${PYTHON_INCLUDE_DIR}))
+	if(PYTHON_LIBRARIES AND PYTHON_INCLUDE_DIR)
 		break()
 	else()
 		# ensure we dont find values from 2 different ABI versions




More information about the Bf-blender-cvs mailing list