build local copy of embree and static link it
This commit is contained in:
parent
63ea82de3d
commit
d9cf97f582
|
|
@ -61,6 +61,27 @@ endif (MSVC)
|
|||
#minimum version that supports unordered_map
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9)
|
||||
|
||||
OPTION(TYRUTILS_USE_EMBREE "Use embree raytracing backend" ON)
|
||||
|
||||
IF (TYRUTILS_USE_EMBREE)
|
||||
MESSAGE(STATUS "Using embree")
|
||||
|
||||
set(EMBREE_ISPC_SUPPORT NO CACHE BOOL "")
|
||||
set(EMBREE_STATIC_LIB YES CACHE BOOL "")
|
||||
set(EMBREE_TUTORIALS NO CACHE BOOL "")
|
||||
set(EMBREE_TASKING_SYSTEM INTERNAL CACHE STRING "")
|
||||
set(EMBREE_MAX_ISA SSE2 CACHE STRING "")
|
||||
set(EMBREE_GEOMETRY_TRIANGLES YES CACHE BOOL "")
|
||||
set(EMBREE_GEOMETRY_QUADS NO CACHE BOOL "")
|
||||
set(EMBREE_GEOMETRY_LINES NO CACHE BOOL "")
|
||||
set(EMBREE_GEOMETRY_HAIR NO CACHE BOOL "")
|
||||
set(EMBREE_GEOMETRY_SUBDIV NO CACHE BOOL "")
|
||||
set(EMBREE_GEOMETRY_USER NO CACHE BOOL "")
|
||||
set(EMBREE_RAY_PACKETS NO CACHE BOOL "")
|
||||
|
||||
add_subdirectory(thirdparty/embree EXCLUDE_FROM_ALL)
|
||||
ENDIF()
|
||||
|
||||
add_subdirectory(bspinfo)
|
||||
add_subdirectory(bsputil)
|
||||
add_subdirectory(light)
|
||||
|
|
|
|||
|
|
@ -21,17 +21,12 @@ set(LIGHT_SOURCES
|
|||
${COMMON_INCLUDES}
|
||||
${LIGHT_INCLUDES})
|
||||
|
||||
|
||||
FIND_PACKAGE(embree 2.0)
|
||||
|
||||
if (embree_FOUND)
|
||||
MESSAGE(STATUS "Embree found")
|
||||
INCLUDE_DIRECTORIES(${EMBREE_INCLUDE_DIRS})
|
||||
if (TYRUTILS_USE_EMBREE)
|
||||
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/thirdparty/embree/include)
|
||||
set(LIGHT_SOURCES
|
||||
trace_embree.cc
|
||||
${LIGHT_SOURCES})
|
||||
endif(embree_FOUND)
|
||||
|
||||
trace_embree.cc
|
||||
${LIGHT_SOURCES})
|
||||
endif()
|
||||
|
||||
add_executable(light ${LIGHT_SOURCES})
|
||||
target_link_libraries (light ${CMAKE_THREAD_LIBS_INIT})
|
||||
|
|
@ -39,25 +34,11 @@ set_property(TARGET light PROPERTY CXX_STANDARD 11)
|
|||
set_property(TARGET light PROPERTY CXX_STANDARD_REQUIRED ON)
|
||||
set_property(TARGET light PROPERTY C_STANDARD 99)
|
||||
|
||||
if (embree_FOUND)
|
||||
target_link_libraries (light ${EMBREE_LIBRARY})
|
||||
if (TYRUTILS_USE_EMBREE)
|
||||
target_link_libraries (light PRIVATE embree)
|
||||
add_definitions(-DHAVE_EMBREE)
|
||||
if(WIN32)
|
||||
file(GLOB EMBREE_DLLS "${embree_DIR}/../../*.dll")
|
||||
foreach(EMBREE_DLL ${EMBREE_DLLS})
|
||||
add_custom_command(TARGET light POST_BUILD COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${EMBREE_DLL} $<TARGET_FILE_DIR:light>)
|
||||
endforeach(EMBREE_DLL)
|
||||
|
||||
set(EMBREE_LICENSE "${embree_DIR}/../../../doc/LICENSE.txt")
|
||||
add_custom_command(TARGET light POST_BUILD COMMAND ${CMAKE_COMMAND} ARGS -E copy_if_different ${EMBREE_LICENSE} $<TARGET_FILE_DIR:light>/LICENSE-embree.txt)
|
||||
endif()
|
||||
endif(embree_FOUND)
|
||||
add_definitions(-DENABLE_STATIC_LIB)
|
||||
endif()
|
||||
|
||||
install(TARGETS light RUNTIME DESTINATION bin)
|
||||
|
||||
if (embree_FOUND)
|
||||
if(WIN32)
|
||||
install(FILES ${EMBREE_DLLS} DESTINATION bin)
|
||||
install(FILES ${EMBREE_LICENSE} DESTINATION bin RENAME LICENSE-embree.txt)
|
||||
endif()
|
||||
endif(embree_FOUND)
|
||||
|
|
|
|||
Loading…
Reference in New Issue