[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