From d9cf97f58280ab6bc0ea3f5639dff8bb541e4671 Mon Sep 17 00:00:00 2001 From: Eric Wasylishen Date: Sat, 18 Jun 2016 14:14:46 -0600 Subject: [PATCH] build local copy of embree and static link it --- CMakeLists.txt | 21 +++++++++++++++++++++ light/CMakeLists.txt | 37 +++++++++---------------------------- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fc4cee13..8dbd843d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/light/CMakeLists.txt b/light/CMakeLists.txt index c5a7ea79..e52f4c20 100644 --- a/light/CMakeLists.txt +++ b/light/CMakeLists.txt @@ -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} $) - 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} $/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)