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:
authorJens Verwiebe <info@jensverwiebe.de>2012-09-24 23:06:28 +0400
committerJens Verwiebe <info@jensverwiebe.de>2012-09-24 23:06:28 +0400
commit87a8aea3138b2f633cc9febae1d13887bda91173 (patch)
tree3afe0076f12c245382906732ce14f3a00ac2f171 /CMakeLists.txt
parent17dc6e7c041adad57a6b038975aa3d2e7ba967ca (diff)
OSL/cmake: the non-intrusive parts, so other os-maintainers can take code over
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt80
1 files changed, 72 insertions, 8 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 62240515c4a..e6402cc2a79 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -647,7 +647,7 @@ if(UNIX AND NOT APPLE)
else()
set(Boost_USE_MULTITHREADED ON)
endif()
- find_package(Boost 1.34 COMPONENTS filesystem regex system thread)
+ find_package(Boost 1.34 COMPONENTS filesystem python3 regex system thread)
mark_as_advanced(Boost_DIR) # why doesnt boost do this?
endif()
@@ -1079,9 +1079,11 @@ elseif(WIN32)
endif()
set(BOOST_LIBRARIES
optimized libboost_date_time-${BOOST_POSTFIX} optimized libboost_filesystem-${BOOST_POSTFIX}
- optimized libboost_regex-${BOOST_POSTFIX} optimized libboost_system-${BOOST_POSTFIX} optimized libboost_thread-${BOOST_POSTFIX}
+ optimized libboost_python3-${BOOST_POSTFIX} optimized libboost_regex-${BOOST_POSTFIX}
+ optimized libboost_system-${BOOST_POSTFIX} optimized libboost_thread-${BOOST_POSTFIX}
debug libboost_date_time-${BOOST_DEBUG_POSTFIX} debug libboost_filesystem-${BOOST_DEBUG_POSTFIX}
- debug libboost_regex-${BOOST_DEBUG_POSTFIX} debug libboost_system-${BOOST_DEBUG_POSTFIX} debug libboost_thread-${BOOST_DEBUG_POSTFIX})
+ debug libboost_python3-${BOOST_DEBUG_POSTFIX} debug libboost_regex-${BOOST_DEBUG_POSTFIX}
+ debug libboost_system-${BOOST_DEBUG_POSTFIX} debug libboost_thread-${BOOST_DEBUG_POSTFIX})
set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB")
endif()
@@ -1257,9 +1259,11 @@ elseif(WIN32)
endif()
set(BOOST_LIBRARIES
optimized boost_date_time-${BOOST_POSTFIX} boost_filesystem-${BOOST_POSTFIX}
- boost_regex-${BOOST_POSTFIX} boost_system-${BOOST_POSTFIX} boost_thread-${BOOST_POSTFIX}
+ boost_python3-${BOOST_POSTFIX} boost_regex-${BOOST_POSTFIX}
+ boost_system-${BOOST_POSTFIX} boost_thread-${BOOST_POSTFIX}
debug boost_date_time-${BOOST_DEBUG_POSTFIX} boost_filesystem-${BOOST_DEBUG_POSTFIX}
- boost_regex-${BOOST_DEBUG_POSTFIX} boost_system-${BOOST_DEBUG_POSTFIX} boost_thread-${BOOST_DEBUG_POSTFIX})
+ boost_python3-${BOOST_POSTFIX} boost_regex-${BOOST_DEBUG_POSTFIX}
+ boost_system-${BOOST_DEBUG_POSTFIX} boost_thread-${BOOST_DEBUG_POSTFIX})
set(BOOST_LIBPATH ${BOOST}/lib)
set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB -DBOOST_THREAD_USE_LIB ")
endif()
@@ -1513,7 +1517,7 @@ elseif(APPLE)
if(WITH_BOOST)
set(BOOST ${LIBDIR}/boost)
set(BOOST_INCLUDE_DIR ${BOOST}/include)
- set(BOOST_LIBRARIES boost_date_time-mt boost_filesystem-mt boost_regex-mt boost_system-mt boost_thread-mt)
+ set(BOOST_LIBRARIES boost_date_time-mt boost_filesystem-mt boost_python3-mt boost_regex-mt boost_system-mt boost_thread-mt)
set(BOOST_LIBPATH ${BOOST}/lib)
set(BOOST_DEFINITIONS)
endif()
@@ -1521,7 +1525,7 @@ elseif(APPLE)
if(WITH_OPENIMAGEIO)
set(OPENIMAGEIO ${LIBDIR}/openimageio)
set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include)
- set(OPENIMAGEIO_LIBRARIES OpenImageIO ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES})
+ set(OPENIMAGEIO_LIBRARIES -force_load ${OPENIMAGEIO}/lib/libOpenImageIO.a ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES})
set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib ${JPEG_LIBPATH} ${PNG_LIBPATH} ${TIFF_LIBPATH} ${OPENEXR_LIBPATH} ${ZLIB_LIBPATH})
set(OPENIMAGEIO_DEFINITIONS "-DOIIO_STATIC_BUILD")
endif()
@@ -1543,7 +1547,7 @@ elseif(APPLE)
find_library(OSL_LIB_COMP NAMES oslcomp PATHS ${CYCLES_OSL}/lib)
find_library(OSL_LIB_QUERY NAMES oslquery PATHS ${CYCLES_OSL}/lib)
# WARNING! depends on correct order of OSL libs linking
- list(APPEND OSL_LIBRARIES ${OSL_LIB_COMP} ${OSL_LIB_EXEC} ${OSL_LIB_QUERY})
+ list(APPEND OSL_LIBRARIES ${OSL_LIB_COMP} -force_load ${OSL_LIB_EXEC} ${OSL_LIB_QUERY})
find_path(OSL_INCLUDES OSL/oslclosure.h PATHS ${CYCLES_OSL}/include)
find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin)
@@ -1557,6 +1561,66 @@ elseif(APPLE)
endif()
include_directories(${OSL_INCLUDES})
+
+
+ # LLVM library setup, needed for osl
+
+ set(LLVM_DIRECTORY "${LIBDIR}/llvm")
+ set(LLVM_STATIC YES)
+ if (LLVM_DIRECTORY)
+ set (LLVM_CONFIG "${LLVM_DIRECTORY}/bin/llvm-config")
+ else ()
+ set (LLVM_CONFIG llvm-config)
+ endif ()
+ execute_process (COMMAND ${LLVM_CONFIG} --version
+ OUTPUT_VARIABLE LLVM_VERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ execute_process (COMMAND ${LLVM_CONFIG} --prefix
+ OUTPUT_VARIABLE LLVM_DIRECTORY
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ execute_process (COMMAND ${LLVM_CONFIG} --libdir
+ OUTPUT_VARIABLE LLVM_LIB_DIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ execute_process (COMMAND ${LLVM_CONFIG} --includedir
+ OUTPUT_VARIABLE LLVM_INCLUDES
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ find_library ( LLVM_LIBRARY
+ NAMES libLLVMAnalysis.a # first of a whole bunch of libs to get
+ PATHS ${LLVM_LIB_DIR})
+ message (STATUS "LLVM version = ${LLVM_VERSION}")
+ message (STATUS "LLVM dir = ${LLVM_DIRECTORY}")
+ message (STATUS "LLVM includes = ${LLVM_INCLUDES}")
+ message (STATUS "LLVM lib dir = ${LLVM_LIB_DIR}")
+
+ if (LLVM_LIBRARY AND LLVM_INCLUDES AND LLVM_DIRECTORY AND LLVM_LIB_DIR)
+ # ensure include directory is added (in case of non-standard locations
+ include_directories (BEFORE "${LLVM_INCLUDES}")
+ string (REGEX REPLACE "\\." "" OSL_LLVM_VERSION ${LLVM_VERSION})
+ message (STATUS "LLVM OSL_LLVM_VERSION = ${OSL_LLVM_VERSION}")
+ add_definitions ("-DOSL_LLVM_VERSION=${OSL_LLVM_VERSION}")
+ if (LLVM_STATIC)
+ # if static LLVM libraries were requested, use llvm-config to generate
+ # the list of what libraries we need, and substitute that in the right
+ # way for LLVM_LIBRARY.
+ set (LLVM_LIBRARY "")
+ execute_process (COMMAND ${LLVM_CONFIG} --libs
+ OUTPUT_VARIABLE llvm_library_list
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ string (REPLACE "-l" "" llvm_library_list ${llvm_library_list})
+ string (REPLACE " " ";" llvm_library_list ${llvm_library_list})
+ foreach (f ${llvm_library_list})
+ list (APPEND LLVM_LIBRARY "${LLVM_LIB_DIR}/lib${f}.a")
+ endforeach ()
+ endif ()
+ string (REPLACE ";" " " LLVM_LIBRARY "${LLVM_LIBRARY}")
+ message (STATUS "LLVM library = ${LLVM_LIBRARY}")
+ else ()
+ message (FATAL_ERROR "LLVM not found.")
+ endif ()
+ set(PLATFORM_LINKFLAGS "${PLATFORM_LINKFLAGS} ${LLVM_LIBRARY}")
+
+ # end LLVM library setup
+
endif()
set(EXETYPE MACOSX_BUNDLE)