[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [37640] trunk/blender: cmake: add find jemalloc module

Campbell Barton ideasman42 at gmail.com
Sun Jun 19 16:55:52 CEST 2011


Revision: 37640
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37640
Author:   campbellbarton
Date:     2011-06-19 14:55:51 +0000 (Sun, 19 Jun 2011)
Log Message:
-----------
cmake: add find jemalloc module

Modified Paths:
--------------
    trunk/blender/CMakeLists.txt

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

Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt	2011-06-19 14:14:29 UTC (rev 37639)
+++ trunk/blender/CMakeLists.txt	2011-06-19 14:55:51 UTC (rev 37640)
@@ -406,12 +406,10 @@
 	endif()
 
 	if(WITH_MEM_JEMALLOC)
-		set(JEMALLOC /usr)
-		set(JEMALLOC_LIBRARIES jemalloc CACHE STRING "JeMalloc library")
-		set(JEMALLOC_LIBPATH ${JEMALLOC}/lib  CACHE FILEPATH "JeMalloc library path")
-		# no use for this yet.
-		# set(JEMALLOC_INCLUDE_DIR ${JEMALLOC}/include  CACHE FILEPATH "JeMalloc include path")
-		unset(JEMALLOC)
+		find_package(JeMalloc)
+		if(NOT JEMALLOC_FOUND)
+			set(WITH_MEM_JEMALLOC OFF)
+		endif()
 	endif()
 
 	# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed

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




More information about the Bf-blender-cvs mailing list