123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- set(INC
- ..
- )
- set(INC_SYS
- )
- # NOTE: LIBRARIES contains all the libraries which are common
- # across release and debug build types, stored in a linking order.
- set(LIBRARIES
- cycles_device
- cycles_kernel
- cycles_render
- cycles_bvh
- cycles_subd
- cycles_graph
- cycles_util
- ${BLENDER_GL_LIBRARIES}
- ${CYCLES_APP_GLEW_LIBRARY}
- ${PNG_LIBRARIES}
- ${JPEG_LIBRARIES}
- ${ZLIB_LIBRARIES}
- ${TIFF_LIBRARY}
- ${PTHREADS_LIBRARIES}
- )
- if(WITH_CUDA_DYNLOAD)
- list(APPEND LIBRARIES extern_cuew)
- else()
- list(APPEND LIBRARIES ${CUDA_CUDA_LIBRARY})
- endif()
- if(WITH_CYCLES_OSL)
- list(APPEND LIBRARIES cycles_kernel_osl)
- endif()
- if(NOT CYCLES_STANDALONE_REPOSITORY)
- list(APPEND LIBRARIES bf_intern_glew_mx bf_intern_guardedalloc bf_intern_numaapi)
- endif()
- if(WITH_CYCLES_LOGGING)
- list(APPEND LIBRARIES
- ${GLOG_LIBRARIES}
- ${GFLAGS_LIBRARIES}
- )
- endif()
- if(WITH_CYCLES_STANDALONE AND WITH_CYCLES_STANDALONE_GUI)
- list(APPEND LIBRARIES ${GLUT_LIBRARIES})
- endif()
- # Common configuration.
- link_directories(${OPENIMAGEIO_LIBPATH}
- ${BOOST_LIBPATH}
- ${PNG_LIBPATH}
- ${JPEG_LIBPATH}
- ${ZLIB_LIBPATH}
- ${TIFF_LIBPATH}
- ${OPENEXR_LIBPATH}
- ${OPENJPEG_LIBPATH})
- if(WITH_OPENCOLORIO)
- link_directories(${OPENCOLORIO_LIBPATH})
- endif()
- add_definitions(${GL_DEFINITIONS})
- include_directories(${INC})
- include_directories(SYSTEM ${INC_SYS})
- # Make sure given target is linked against proper libraries
- # which varies across debug and release build types.
- #
- # This will also make sure dependencies of that libraries
- # are sent to the linker after them.
- #
- # TODO(sergey): Think of a better place for this?
- macro(cycles_target_link_libraries target)
- target_link_libraries(${target} ${LIBRARIES})
- if(WITH_CYCLES_OSL)
- target_link_libraries(${target} ${OSL_LIBRARIES} ${LLVM_LIBRARIES})
- endif()
- if(WITH_CYCLES_EMBREE)
- target_link_libraries(${target} ${EMBREE_LIBRARIES})
- endif()
- if(WITH_OPENSUBDIV)
- target_link_libraries(${target} ${OPENSUBDIV_LIBRARIES})
- endif()
- if(WITH_OPENCOLORIO)
- target_link_libraries(${target} ${OPENCOLORIO_LIBRARIES})
- endif()
- target_link_libraries(
- ${target}
- ${OPENIMAGEIO_LIBRARIES}
- ${OPENEXR_LIBRARIES}
- ${OPENJPEG_LIBRARIES}
- ${PUGIXML_LIBRARIES}
- ${BOOST_LIBRARIES}
- ${CMAKE_DL_LIBS}
- ${PLATFORM_LINKLIBS}
- )
- endmacro()
- # Application build targets
- if(WITH_CYCLES_STANDALONE)
- set(SRC
- cycles_standalone.cpp
- cycles_xml.cpp
- cycles_xml.h
- )
- add_executable(cycles ${SRC})
- cycles_target_link_libraries(cycles)
- if(UNIX AND NOT APPLE)
- set_target_properties(cycles PROPERTIES INSTALL_RPATH $ORIGIN/lib)
- endif()
- unset(SRC)
- endif()
- if(WITH_CYCLES_NETWORK)
- set(SRC
- cycles_server.cpp
- )
- add_executable(cycles_server ${SRC})
- cycles_target_link_libraries(cycles_server)
- if(UNIX AND NOT APPLE)
- set_target_properties(cycles_server PROPERTIES INSTALL_RPATH $ORIGIN/lib)
- endif()
- unset(SRC)
- endif()
- if(WITH_CYCLES_CUBIN_COMPILER)
- # 32 bit windows is special, nvrtc is not supported on x86, so even
- # though we are building 32 bit blender a 64 bit cubin_cc will have
- # to be build to compile the cubins.
- if(MSVC AND NOT CMAKE_CL_64)
- message("Building with CUDA not supported on 32 bit, skipped")
- set(WITH_CYCLES_CUDA_BINARIES OFF CACHE BOOL "" FORCE)
- else()
- set(SRC
- cycles_cubin_cc.cpp
- )
- set(INC
- ../../../extern/cuew/include
- )
- add_executable(cycles_cubin_cc ${SRC})
- include_directories(${INC})
- target_link_libraries(cycles_cubin_cc
- extern_cuew
- ${OPENIMAGEIO_LIBRARIES}
- ${OPENEXR_LIBRARIES}
- ${OPENJPEG_LIBRARIES}
- ${PUGIXML_LIBRARIES}
- ${BOOST_LIBRARIES}
- ${PLATFORM_LINKLIBS}
- )
- if(NOT CYCLES_STANDALONE_REPOSITORY)
- target_link_libraries(cycles_cubin_cc bf_intern_guardedalloc)
- endif()
- unset(SRC)
- unset(INC)
- endif()
- endif()
|