diff --git a/CMakeLists.txt b/CMakeLists.txt index 5480385072..543ef54adf 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -## Copyright 2009-2021 Intel Corporation +## Copyright 2009-2024 Intel Corporation ## SPDX-License-Identifier: Apache-2.0 CMAKE_MINIMUM_REQUIRED(VERSION 3.5) @@ -243,6 +243,10 @@ ELSEIF(CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" OR CMAKE_SYSTEM_PROCESSOR STREQ SET(EMBREE_ARM ON) ENDIF() +IF (APPLE) + option(EMBREE_BUILD_APPLE_FRAMEWORKS "Build as Apple Frameworks" OFF) +ENDIF() + SET(EMBREE_TASKING_SYSTEM "TBB" CACHE STRING "Selects tasking system") SET(EMBREE_TBB_COMPONENT "tbb" CACHE STRING "The TBB component/library name.") diff --git a/common/lexers/CMakeLists.txt b/common/lexers/CMakeLists.txt index 1e2452cd9f..08568d1f8f 100644 --- a/common/lexers/CMakeLists.txt +++ b/common/lexers/CMakeLists.txt @@ -1,4 +1,4 @@ -## Copyright 2009-2021 Intel Corporation +## Copyright 2009-2024 Intel Corporation ## SPDX-License-Identifier: Apache-2.0 ADD_LIBRARY(lexers STATIC @@ -10,8 +10,19 @@ SET_PROPERTY(TARGET lexers PROPERTY FOLDER common) SET_PROPERTY(TARGET lexers APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") IF (EMBREE_STATIC_LIB) - INSTALL(TARGETS lexers EXPORT lexers-targets ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel) + INSTALL(TARGETS lexers + EXPORT lexers-targets + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel + FRAMEWORK DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT runtime OPTIONAL) INSTALL(EXPORT lexers-targets DESTINATION "${EMBREE_CMAKEEXPORT_DIR}" COMPONENT devel) ENDIF() - +IF (EMBREE_BUILD_APPLE_FRAMEWORKS) + set_target_properties(lexers PROPERTIES + FRAMEWORK TRUE + FRAMEWORK_VERSION ${EMBREE_VERSION_MAJOR}.${EMBREE_VERSION_MINOR} + XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER com.intel.embree.lexers + MACOSX_FRAMEWORK_IDENTIFIER com.intel.embree.lexers + MACOSX_FRAMEWORK_BUNDLE_VERSION ${EMBREE_VERSION_MAJOR}.${EMBREE_VERSION_MINOR} + MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${EMBREE_VERSION_MAJOR}) +ENDIF() diff --git a/common/math/CMakeLists.txt b/common/math/CMakeLists.txt index fcfa45598f..c20ac7ec03 100644 --- a/common/math/CMakeLists.txt +++ b/common/math/CMakeLists.txt @@ -1,4 +1,4 @@ -## Copyright 2009-2021 Intel Corporation +## Copyright 2009-2024 Intel Corporation ## SPDX-License-Identifier: Apache-2.0 ADD_LIBRARY(math STATIC constants.cpp) @@ -6,7 +6,19 @@ SET_PROPERTY(TARGET math PROPERTY FOLDER common) SET_PROPERTY(TARGET math APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") IF (EMBREE_STATIC_LIB) - INSTALL(TARGETS math EXPORT math-targets ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel) + INSTALL(TARGETS math + EXPORT math-targets + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel + FRAMEWORK DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT runtime OPTIONAL) INSTALL(EXPORT math-targets DESTINATION "${EMBREE_CMAKEEXPORT_DIR}" COMPONENT devel) ENDIF() +IF (EMBREE_BUILD_APPLE_FRAMEWORKS) + set_target_properties(math PROPERTIES + FRAMEWORK TRUE + FRAMEWORK_VERSION ${EMBREE_VERSION_MAJOR}.${EMBREE_VERSION_MINOR} + XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER com.intel.embree.math + MACOSX_FRAMEWORK_IDENTIFIER com.intel.embree.math + MACOSX_FRAMEWORK_BUNDLE_VERSION ${EMBREE_VERSION_MAJOR}.${EMBREE_VERSION_MINOR} + MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${EMBREE_VERSION_MAJOR}) +ENDIF() \ No newline at end of file diff --git a/common/simd/CMakeLists.txt b/common/simd/CMakeLists.txt index 989a00d6ef..5282f5ca3b 100644 --- a/common/simd/CMakeLists.txt +++ b/common/simd/CMakeLists.txt @@ -1,4 +1,4 @@ -## Copyright 2009-2021 Intel Corporation +## Copyright 2009-2024 Intel Corporation ## SPDX-License-Identifier: Apache-2.0 ADD_LIBRARY(simd STATIC sse.cpp) @@ -6,6 +6,18 @@ SET_PROPERTY(TARGET simd PROPERTY FOLDER common) SET_PROPERTY(TARGET simd APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") IF (EMBREE_STATIC_LIB) - INSTALL(TARGETS simd EXPORT simd-targets ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel) + INSTALL(TARGETS simd + EXPORT simd-targets ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel + FRAMEWORK DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT runtime OPTIONAL) INSTALL(EXPORT simd-targets DESTINATION "${EMBREE_CMAKEEXPORT_DIR}" COMPONENT devel) ENDIF() + +IF (EMBREE_BUILD_APPLE_FRAMEWORKS) + set_target_properties(simd PROPERTIES + FRAMEWORK TRUE + FRAMEWORK_VERSION ${EMBREE_VERSION_MAJOR}.${EMBREE_VERSION_MINOR} + XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER com.intel.embree.simd + MACOSX_FRAMEWORK_IDENTIFIER com.intel.embree.simd + MACOSX_FRAMEWORK_BUNDLE_VERSION ${EMBREE_VERSION_MAJOR}.${EMBREE_VERSION_MINOR} + MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${EMBREE_VERSION_MAJOR}) +ENDIF() \ No newline at end of file diff --git a/common/sys/CMakeLists.txt b/common/sys/CMakeLists.txt index 66fc708313..c9ac1b9ad3 100644 --- a/common/sys/CMakeLists.txt +++ b/common/sys/CMakeLists.txt @@ -1,4 +1,4 @@ -## Copyright 2009-2021 Intel Corporation +## Copyright 2009-2024 Intel Corporation ## SPDX-License-Identifier: Apache-2.0 SET(CMAKE_THREAD_PREFER_PTHREAD TRUE) @@ -26,7 +26,19 @@ IF (EMBREE_SYCL_SUPPORT) ENDIF() IF (EMBREE_STATIC_LIB) - INSTALL(TARGETS sys EXPORT sys-targets ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel) + INSTALL(TARGETS sys + EXPORT sys-targets + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel + FRAMEWORK DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT runtime OPTIONAL) INSTALL(EXPORT sys-targets DESTINATION "${EMBREE_CMAKEEXPORT_DIR}" COMPONENT devel) ENDIF() +IF (EMBREE_BUILD_APPLE_FRAMEWORKS) + set_target_properties(sys PROPERTIES + FRAMEWORK TRUE + FRAMEWORK_VERSION ${EMBREE_VERSION_MAJOR}.${EMBREE_VERSION_MINOR} + XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER com.intel.embree.sys + MACOSX_FRAMEWORK_IDENTIFIER com.intel.embree.sys + MACOSX_FRAMEWORK_BUNDLE_VERSION ${EMBREE_VERSION_MAJOR}.${EMBREE_VERSION_MINOR} + MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${EMBREE_VERSION_MAJOR}) +ENDIF() diff --git a/common/tasking/CMakeLists.txt b/common/tasking/CMakeLists.txt index bf790ef63c..20615193c4 100644 --- a/common/tasking/CMakeLists.txt +++ b/common/tasking/CMakeLists.txt @@ -1,4 +1,4 @@ -## Copyright 2009-2021 Intel Corporation +## Copyright 2009-2024 Intel Corporation ## SPDX-License-Identifier: Apache-2.0 IF (TASKING_INTERNAL) @@ -73,6 +73,19 @@ SET_PROPERTY(TARGET tasking PROPERTY FOLDER common) SET_PROPERTY(TARGET tasking APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") IF (EMBREE_STATIC_LIB) - INSTALL(TARGETS tasking EXPORT tasking-targets ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel) + INSTALL(TARGETS tasking + EXPORT tasking-targets + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel + FRAMEWORK DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT runtime OPTIONAL) INSTALL(EXPORT tasking-targets DESTINATION "${EMBREE_CMAKEEXPORT_DIR}" COMPONENT devel) ENDIF() + +IF (EMBREE_BUILD_APPLE_FRAMEWORKS) + set_target_properties(tasking PROPERTIES + FRAMEWORK TRUE + FRAMEWORK_VERSION ${EMBREE_VERSION_MAJOR}.${EMBREE_VERSION_MINOR} + XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER com.intel.embree.tasking + MACOSX_FRAMEWORK_IDENTIFIER com.intel.embree.tasking + MACOSX_FRAMEWORK_BUNDLE_VERSION ${EMBREE_VERSION_MAJOR}.${EMBREE_VERSION_MINOR} + MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${EMBREE_VERSION_MAJOR}) +ENDIF() diff --git a/kernels/CMakeLists.txt b/kernels/CMakeLists.txt index 542b206f57..8f11590f94 100644 --- a/kernels/CMakeLists.txt +++ b/kernels/CMakeLists.txt @@ -1,4 +1,4 @@ -## Copyright 2009-2021 Intel Corporation +## Copyright 2009-2024 Intel Corporation ## SPDX-License-Identifier: Apache-2.0 IF (EMBREE_SYCL_RT_SIMULATION) @@ -89,7 +89,7 @@ SET(EMBREE_LIBRARY_FILES bvh/bvh_builder_sah_mb.cpp bvh/bvh_builder_twolevel.cpp bvh/bvh_intersector1_bvh4.cpp - ) +) IF (EMBREE_SYCL_SUPPORT) @@ -266,7 +266,10 @@ IF (EMBREE_SYCL_SUPPORT) TARGET_LINK_LIBRARIES(embree_sycl PRIVATE rtcore) ENDIF() - INSTALL(TARGETS embree_sycl EXPORT embree_sycl-targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel) + INSTALL(TARGETS embree_sycl + EXPORT embree_sycl-targets + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT devel + FRAMEWORK DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT runtime OPTIONAL) INSTALL(EXPORT embree_sycl-targets DESTINATION ${EMBREE_CMAKEEXPORT_DIR} COMPONENT devel) SET_TARGET_PROPERTIES(embree_sycl PROPERTIES OUTPUT_NAME embree${EMBREE_VERSION_MAJOR}_sycl) @@ -382,12 +385,25 @@ ELSE() SET_TARGET_PROPERTIES(embree PROPERTIES VERSION ${EMBREE_VERSION} SOVERSION ${EMBREE_VERSION_MAJOR}) ENDIF() +# Apple frameworks +IF (EMBREE_BUILD_APPLE_FRAMEWORKS) + set_target_properties(embree PROPERTIES + FRAMEWORK TRUE + FRAMEWORK_VERSION ${EMBREE_VERSION_MAJOR}.${EMBREE_VERSION_MINOR} + XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER com.intel.embree + MACOSX_FRAMEWORK_IDENTIFIER com.intel.embree + MACOSX_FRAMEWORK_BUNDLE_VERSION ${EMBREE_VERSION_MAJOR}.${EMBREE_VERSION_MINOR} + MACOSX_FRAMEWORK_SHORT_VERSION_STRING ${EMBREE_VERSION_MAJOR}) +ENDIF() + INSTALL(TARGETS embree EXPORT embree-targets LIBRARY NAMELINK_SKIP DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib # on Windows put the dlls into bin RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" COMPONENT examples # ... and the import lib into the devel package ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel + # Optional Apple frameworks + FRAMEWORK DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT runtime OPTIONAL ) # export Embree targets diff --git a/kernels/level_zero/CMakeLists.txt b/kernels/level_zero/CMakeLists.txt index 38b54fd8a5..1a308d6f8f 100644 --- a/kernels/level_zero/CMakeLists.txt +++ b/kernels/level_zero/CMakeLists.txt @@ -1,4 +1,4 @@ -## Copyright 2009-2021 Intel Corporation +## Copyright 2009-2024 Intel Corporation ## SPDX-License-Identifier: Apache-2.0 SET(EMBREE_ZE_LOADER_RUNTIME_LINK_NAME_LINUX "libze_loader.so.1" CACHE STRING "Name of the ze_loader lib that is looked for at runtime on Linux") @@ -23,6 +23,8 @@ SET_PROPERTY(TARGET ze_wrapper PROPERTY FOLDER common) SET_PROPERTY(TARGET ze_wrapper APPEND PROPERTY COMPILE_FLAGS " ${FLAGS_LOWEST}") IF (EMBREE_STATIC_LIB) - INSTALL(TARGETS ze_wrapper EXPORT ze_wrapper-targets ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel) + INSTALL(TARGETS ze_wrapper + EXPORT ze_wrapper-targets ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT devel + FRAMEWORK DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT runtime OPTIONAL) INSTALL(EXPORT ze_wrapper-targets DESTINATION "${EMBREE_CMAKEEXPORT_DIR}" COMPONENT devel) ENDIF() diff --git a/kernels/rthwif/CMakeLists.txt b/kernels/rthwif/CMakeLists.txt index 4cc3597b31..4ac73b15dc 100644 --- a/kernels/rthwif/CMakeLists.txt +++ b/kernels/rthwif/CMakeLists.txt @@ -1,4 +1,4 @@ -## Copyright 2009-2021 Intel Corporation +## Copyright 2009-2024 Intel Corporation ## SPDX-License-Identifier: Apache-2.0 cmake_minimum_required(VERSION 3.5) @@ -151,7 +151,10 @@ IF (EMBREE_SYCL_RT_VALIDATION_API) SET_PROPERTY(TARGET embree_rthwif_sycl APPEND PROPERTY COMPILE_FLAGS "-DEMBREE_SYCL_SUPPORT") SET_TARGET_PROPERTIES(embree_rthwif_sycl PROPERTIES COMPILE_FLAGS ${CMAKE_CXX_FLAGS_SYCL}) - INSTALL(TARGETS embree_rthwif_sycl EXPORT embree_rthwif_sycl-targets ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib) + INSTALL(TARGETS embree_rthwif_sycl + EXPORT embree_rthwif_sycl-targets + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT lib + FRAMEWORK DESTINATION "${CMAKE_INSTALL_LIBDIR}" COMPONENT runtime OPTIONAL) INSTALL(EXPORT embree_rthwif_sycl-targets DESTINATION "${EMBREE_CMAKEEXPORT_DIR}" COMPONENT devel) SET(EMBREE_RTHWIF_SYCL embree_rthwif_sycl)