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.
This commit is contained in:
@@ -672,6 +672,31 @@ if(UNIX AND NOT APPLE)
|
|||||||
endif()
|
endif()
|
||||||
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
|
# OpenSuse needs lutil, ArchLinux not, for now keep, can avoid by using --as-needed
|
||||||
set(PLATFORM_LINKLIBS "-lutil -lc -lm -lpthread -lstdc++")
|
set(PLATFORM_LINKLIBS "-lutil -lc -lm -lpthread -lstdc++")
|
||||||
|
|
||||||
|
@@ -367,6 +367,9 @@ macro(setup_liblinks
|
|||||||
if(WITH_MOD_CLOTH_ELTOPO)
|
if(WITH_MOD_CLOTH_ELTOPO)
|
||||||
target_link_libraries(${target} ${LAPACK_LIBRARIES})
|
target_link_libraries(${target} ${LAPACK_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
if(WITH_CYCLES_OSL)
|
||||||
|
target_link_libraries(${target} ${OSL_LIBRARIES})
|
||||||
|
endif()
|
||||||
if(WIN32 AND NOT UNIX)
|
if(WIN32 AND NOT UNIX)
|
||||||
target_link_libraries(${target} ${PTHREADS_LIBRARIES})
|
target_link_libraries(${target} ${PTHREADS_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
@@ -17,32 +17,6 @@ else()
|
|||||||
set(CYCLES_GLEW_LIBRARY extern_glew)
|
set(CYCLES_GLEW_LIBRARY extern_glew)
|
||||||
endif()
|
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
|
# Partio
|
||||||
|
|
||||||
|
@@ -43,7 +43,3 @@ include_directories(${INC})
|
|||||||
add_library(cycles_kernel_osl ${SRC} ${HEADER_SRC})
|
add_library(cycles_kernel_osl ${SRC} ${HEADER_SRC})
|
||||||
|
|
||||||
add_subdirectory(nodes)
|
add_subdirectory(nodes)
|
||||||
|
|
||||||
if(WITH_CYCLES_OSL)
|
|
||||||
target_link_libraries(cycles_kernel_osl ${OSL_LIBRARIES})
|
|
||||||
endif()
|
|
||||||
|
@@ -790,7 +790,6 @@ if(WITH_CYCLES)
|
|||||||
cycles_kernel
|
cycles_kernel
|
||||||
cycles_util
|
cycles_util
|
||||||
cycles_subd)
|
cycles_subd)
|
||||||
|
|
||||||
if(WITH_CYCLES_OSL)
|
if(WITH_CYCLES_OSL)
|
||||||
list(APPEND BLENDER_LINK_LIBS cycles_kernel_osl)
|
list(APPEND BLENDER_LINK_LIBS cycles_kernel_osl)
|
||||||
endif()
|
endif()
|
||||||
|
Reference in New Issue
Block a user