build: switch back to dynamic linking embree, static was a pain, slow builds, etc.
This commit is contained in:
parent
913d6f068c
commit
3e6018a95a
|
|
@ -1,3 +0,0 @@
|
|||
[submodule "thirdparty/embree"]
|
||||
path = thirdparty/embree
|
||||
url = https://github.com/embree/embree
|
||||
|
|
@ -61,35 +61,6 @@ 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 SSE3 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 "")
|
||||
|
||||
if(CMAKE_GENERATOR STREQUAL "Xcode")
|
||||
MESSAGE(WARNING "Working around https://gitlab.kitware.com/cmake/cmake/issues/16101 will break CPack. Use the makefile generator for packaging.")
|
||||
add_subdirectory(thirdparty/embree)
|
||||
else()
|
||||
add_subdirectory(thirdparty/embree EXCLUDE_FROM_ALL)
|
||||
endif()
|
||||
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -msse3")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse3")
|
||||
ENDIF()
|
||||
|
||||
add_subdirectory(bspinfo)
|
||||
add_subdirectory(bsputil)
|
||||
add_subdirectory(light)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,10 @@ platform:
|
|||
|
||||
version: 1.0.{build}
|
||||
install:
|
||||
- git submodule update --init --recursive
|
||||
- ps: Invoke-WebRequest 'https://github.com/embree/embree/releases/download/v2.10.0/embree-2.10.0.x64.windows.zip' -OutFile 'embree64.zip'
|
||||
- ps: 7z x embree64.zip -oc:\
|
||||
- ps: Invoke-WebRequest 'https://github.com/embree/embree/releases/download/v2.10.0/embree-2.10.0.win32.windows.zip' -OutFile 'embree.zip'
|
||||
- ps: 7z x embree.zip -oc:\
|
||||
build_script:
|
||||
- ps: >-
|
||||
$env:Path += ";C:\cygwin64\bin"
|
||||
|
|
@ -14,9 +17,9 @@ build_script:
|
|||
cd cmakebuild
|
||||
|
||||
If ($env:Platform -Match "x64") {
|
||||
cmake .. -T v140_xp -DCMAKE_GENERATOR_PLATFORM=x64
|
||||
cmake .. -T v140_xp -Dembree_DIR="c:/embree-2.10.0.x64.windows/lib/cmake/embree-2.10.0" -DCMAKE_GENERATOR_PLATFORM=x64
|
||||
} Else {
|
||||
cmake .. -T v140_xp
|
||||
cmake .. -T v140_xp -Dembree_DIR="c:/embree-2.10.0.win32.windows/lib/cmake/embree-2.10.0"
|
||||
}
|
||||
|
||||
msbuild PACKAGE.vcxproj /p:Configuration=Release /logger:"C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
|
||||
|
|
|
|||
|
|
@ -21,12 +21,17 @@ set(LIGHT_SOURCES
|
|||
${COMMON_INCLUDES}
|
||||
${LIGHT_INCLUDES})
|
||||
|
||||
if (TYRUTILS_USE_EMBREE)
|
||||
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/thirdparty/embree/include)
|
||||
|
||||
FIND_PACKAGE(embree 2.0)
|
||||
|
||||
if (embree_FOUND)
|
||||
MESSAGE(STATUS "Embree found")
|
||||
INCLUDE_DIRECTORIES(${EMBREE_INCLUDE_DIRS})
|
||||
set(LIGHT_SOURCES
|
||||
trace_embree.cc
|
||||
${LIGHT_SOURCES})
|
||||
endif()
|
||||
endif(embree_FOUND)
|
||||
|
||||
|
||||
add_executable(light ${LIGHT_SOURCES})
|
||||
target_link_libraries (light ${CMAKE_THREAD_LIBS_INIT})
|
||||
|
|
@ -34,14 +39,27 @@ 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 (TYRUTILS_USE_EMBREE)
|
||||
add_dependencies (light embree)
|
||||
target_link_libraries (light PRIVATE embree)
|
||||
add_definitions(-DEMBREE_STATIC_LIB)
|
||||
if (embree_FOUND)
|
||||
target_link_libraries (light ${EMBREE_LIBRARY})
|
||||
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)
|
||||
|
||||
install(TARGETS light RUNTIME DESTINATION bin)
|
||||
install(FILES ${CMAKE_SOURCE_DIR}/thirdparty/embree/LICENSE.txt DESTINATION bin RENAME LICENSE-embree.txt)
|
||||
install(FILES ${CMAKE_SOURCE_DIR}/gpl_v3.txt 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)
|
||||
|
||||
install(FILES ${CMAKE_SOURCE_DIR}/gpl_v3.txt DESTINATION bin)
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
Subproject commit d6a3137c97d901752e2f0fbeeb68c73cb84066f9
|
||||
Loading…
Reference in New Issue