[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50497] trunk/blender: Cleanup for OSL linking in cmake: Move cmake OSL library search and path definition from the cycles macro file to the top-level CMakeLists .txt.
Lukas Toenne
lukas.toenne at googlemail.com
Mon Sep 10 08:18:21 CEST 2012
Revision: 50497
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50497
Author: lukastoenne
Date: 2012-09-10 06:18:20 +0000 (Mon, 10 Sep 2012)
Log Message:
-----------
Cleanup for OSL linking in cmake: Move cmake OSL library search and path definition from the cycles macro file to the top-level CMakeLists.txt. This makes the OSL_LIBRARIES and other variables accessible throughout Blender cmake scripts and especially in the creator module for linking libraries.
Modified Paths:
--------------
trunk/blender/CMakeLists.txt
trunk/blender/build_files/cmake/macros.cmake
trunk/blender/intern/cycles/cmake/external_libs.cmake
trunk/blender/intern/cycles/kernel/osl/CMakeLists.txt
trunk/blender/source/creator/CMakeLists.txt
Modified: trunk/blender/CMakeLists.txt
===================================================================
--- trunk/blender/CMakeLists.txt 2012-09-10 06:10:43 UTC (rev 50496)
+++ trunk/blender/CMakeLists.txt 2012-09-10 06:18:20 UTC (rev 50497)
@@ -672,6 +672,31 @@
endif()
endif()
+ if(WITH_CYCLES_OSL)
+ set(CYCLES_OSL ${LIBDIR}/osl CACHE PATH "Path to OpenShadingLanguage installation")
+
+ message(STATUS "CYCLES_OSL = ${CYCLES_OSL}")
+
+ find_library(OSL_LIB_EXEC NAMES oslexec PATHS ${CYCLES_OSL}/lib ${CYCLES_OSL}/dist)
+ find_library(OSL_LIB_COMP NAMES oslcomp PATHS ${CYCLES_OSL}/lib ${CYCLES_OSL}/dist)
+ find_library(OSL_LIB_QUERY NAMES oslquery PATHS ${CYCLES_OSL}/lib ${CYCLES_OSL}/dist)
+ # WARNING! depends on correct order of OSL libs linking
+ list(APPEND OSL_LIBRARIES ${OSL_LIB_COMP} ${OSL_LIB_EXEC} ${OSL_LIB_QUERY})
+ find_path(OSL_INCLUDES OSL/oslclosure.h PATHS ${CYCLES_OSL}/include ${CYCLES_OSL}/dist)
+ find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin ${CYCLES_OSL}/dist)
+
+ if(OSL_INCLUDES AND OSL_LIBRARIES AND OSL_COMPILER)
+ set(OSL_FOUND TRUE)
+ message(STATUS "OSL includes = ${OSL_INCLUDES}")
+ message(STATUS "OSL library = ${OSL_LIBRARIES}")
+ message(STATUS "OSL compiler = ${OSL_COMPILER}")
+ else()
+ message(STATUS "OSL not found")
+ endif()
+
+ include_directories(${OSL_INCLUDES} ${OSL_INCLUDES}/OSL ${OSL_INCLUDES}/../../../src/liboslexec)
+ endif()
+
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
set(PLATFORM_LINKLIBS "-lutil -lc -lm -lpthread -lstdc++")
Modified: trunk/blender/build_files/cmake/macros.cmake
===================================================================
--- trunk/blender/build_files/cmake/macros.cmake 2012-09-10 06:10:43 UTC (rev 50496)
+++ trunk/blender/build_files/cmake/macros.cmake 2012-09-10 06:18:20 UTC (rev 50497)
@@ -367,6 +367,9 @@
if(WITH_MOD_CLOTH_ELTOPO)
target_link_libraries(${target} ${LAPACK_LIBRARIES})
endif()
+ if(WITH_CYCLES_OSL)
+ target_link_libraries(${target} ${OSL_LIBRARIES})
+ endif()
if(WIN32 AND NOT UNIX)
target_link_libraries(${target} ${PTHREADS_LIBRARIES})
endif()
Modified: trunk/blender/intern/cycles/cmake/external_libs.cmake
===================================================================
--- trunk/blender/intern/cycles/cmake/external_libs.cmake 2012-09-10 06:10:43 UTC (rev 50496)
+++ trunk/blender/intern/cycles/cmake/external_libs.cmake 2012-09-10 06:18:20 UTC (rev 50497)
@@ -18,32 +18,6 @@
endif()
###########################################################################
-# OpenShadingLanguage
-
-if(WITH_CYCLES_OSL)
-
- set(CYCLES_OSL ${LIBDIR}/osl CACHE PATH "Path to OpenShadingLanguage installation")
-
- message(STATUS "CYCLES_OSL = ${CYCLES_OSL}")
-
- find_library(OSL_LIBRARIES NAMES oslexec oslcomp oslquery PATHS ${CYCLES_OSL}/lib ${CYCLES_OSL}/dist)
- find_path(OSL_INCLUDES OSL/oslclosure.h PATHS ${CYCLES_OSL}/include ${CYCLES_OSL}/dist)
- find_program(OSL_COMPILER NAMES oslc PATHS ${CYCLES_OSL}/bin ${CYCLES_OSL}/dist)
-
- if(OSL_INCLUDES AND OSL_LIBRARIES AND OSL_COMPILER)
- set(OSL_FOUND TRUE)
- message(STATUS "OSL includes = ${OSL_INCLUDES}")
- message(STATUS "OSL library = ${OSL_LIBRARIES}")
- message(STATUS "OSL compiler = ${OSL_COMPILER}")
- else()
- message(STATUS "OSL not found")
- endif()
-
- include_directories(${OSL_INCLUDES} ${OSL_INCLUDES}/OSL ${OSL_INCLUDES}/../../../src/liboslexec)
-
-endif()
-
-###########################################################################
# Partio
if(WITH_CYCLES_PARTIO)
Modified: trunk/blender/intern/cycles/kernel/osl/CMakeLists.txt
===================================================================
--- trunk/blender/intern/cycles/kernel/osl/CMakeLists.txt 2012-09-10 06:10:43 UTC (rev 50496)
+++ trunk/blender/intern/cycles/kernel/osl/CMakeLists.txt 2012-09-10 06:18:20 UTC (rev 50497)
@@ -43,7 +43,3 @@
add_library(cycles_kernel_osl ${SRC} ${HEADER_SRC})
add_subdirectory(nodes)
-
-if(WITH_CYCLES_OSL)
- target_link_libraries(cycles_kernel_osl ${OSL_LIBRARIES})
-endif()
Modified: trunk/blender/source/creator/CMakeLists.txt
===================================================================
--- trunk/blender/source/creator/CMakeLists.txt 2012-09-10 06:10:43 UTC (rev 50496)
+++ trunk/blender/source/creator/CMakeLists.txt 2012-09-10 06:18:20 UTC (rev 50497)
@@ -790,7 +790,6 @@
cycles_kernel
cycles_util
cycles_subd)
-
if(WITH_CYCLES_OSL)
list(APPEND BLENDER_LINK_LIBS cycles_kernel_osl)
endif()
More information about the Bf-blender-cvs
mailing list