[Bf-blender-cvs] [dae7ae87baa] cycles_oneapi: Build Deps: Implement DPC++/SYCL harvesting for Linux

Sergey Sharybin noreply at git.blender.org
Thu Jun 23 16:35:20 CEST 2022


Commit: dae7ae87baaaa6ae70b389a529a261d4c3181ebd
Author: Sergey Sharybin
Date:   Thu Jun 23 16:33:28 2022 +0200
Branches: cycles_oneapi
https://developer.blender.org/rBdae7ae87baaaa6ae70b389a529a261d4c3181ebd

Build Deps: Implement DPC++/SYCL harvesting for Linux

- Restore more typical install paths for all dependencies
  (don't install to a dpcpp/lib, since the harvesting is
  implemented anyway).

- Perform simple harvesting of all components we need for
  DPC++/SYCL.

Windows harvesting is not done yet.

Tweaks are possible to ignore binaries we don't need.

===================================================================

M	build_files/build_environment/cmake/harvest.cmake
M	build_files/build_environment/cmake/igc.cmake
M	build_files/build_environment/cmake/ocloc.cmake

===================================================================

diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake
index aeaa6fbd2b5..2865a5304d7 100644
--- a/build_files/build_environment/cmake/harvest.cmake
+++ b/build_files/build_environment/cmake/harvest.cmake
@@ -192,6 +192,10 @@ harvest(zstd/lib zstd/lib "*.a")
 if(UNIX AND NOT APPLE)
   harvest(libglu/lib mesa/lib "*.so*")
   harvest(mesa/lib64 mesa/lib "*.so*")
-endif()
+
+  harvest(dpcpp dpcpp "*")
+  harvest(igc dpcpp/lib/igc "*")
+  harvest(ocloc dpcpp/lib/ocloc "*")
+ endif()
 
 endif()
diff --git a/build_files/build_environment/cmake/igc.cmake b/build_files/build_environment/cmake/igc.cmake
index 2d6e19de34d..64f30064a3a 100644
--- a/build_files/build_environment/cmake/igc.cmake
+++ b/build_files/build_environment/cmake/igc.cmake
@@ -88,7 +88,7 @@ ExternalProject_Add(external_igc
   URL file://${PACKAGE_DIR}/${IGC_FILE}
   DOWNLOAD_DIR ${DOWNLOAD_DIR}
   URL_HASH ${IGC_HASH_TYPE}=${IGC_HASH}
-  CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/dpcpp/lib/igc ${DEFAULT_CMAKE_FLAGS} ${IGC_EXTRA_ARGS}
+  CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/igc ${DEFAULT_CMAKE_FLAGS} ${IGC_EXTRA_ARGS}
 
   # IGC is pretty set in its way where sub projects ought to live, for some it offers
   # hooks to supply alternatives folders, other are just hardocded with no way to configure
@@ -103,6 +103,7 @@ ExternalProject_Add(external_igc
     ${CMAKE_COMMAND} -E create_symlink ${BUILD_DIR}/igc_vcintrinsics/src/external_igc_vcintrinsics/ ${BUILD_DIR}/igc/src/vc-intrinsics
   PREFIX ${BUILD_DIR}/igc
   INSTALL_DIR ${LIBDIR}/igc
+  INSTALL_COMMAND ${CMAKE_COMMAND} --install . --strip
   CMAKE_GENERATOR ${IGC_GENERATOR}
 )
 
diff --git a/build_files/build_environment/cmake/ocloc.cmake b/build_files/build_environment/cmake/ocloc.cmake
index 2dda7239a00..f686d2dd4fc 100644
--- a/build_files/build_environment/cmake/ocloc.cmake
+++ b/build_files/build_environment/cmake/ocloc.cmake
@@ -4,7 +4,7 @@ set(OCLOC_EXTRA_ARGS
   -DNEO_SKIP_UNIT_TESTS=1
   -DNEO_BUILD_WITH_OCL=0
   -DBUILD_WITH_L0=0
-  -DIGC_DIR=${LIBDIR}/dpcpp/lib/igc
+  -DIGC_DIR=${LIBDIR}/igc
   -DGMM_DIR=${LIBDIR}/gmmlib
 )
 
@@ -13,7 +13,7 @@ ExternalProject_Add(external_ocloc
   URL_HASH ${OCLOC_HASH_TYPE}=${OCLOC_HASH}
   DOWNLOAD_DIR ${DOWNLOAD_DIR}
   PREFIX ${BUILD_DIR}/ocloc
-  CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/dpcpp/lib/ocloc ${DEFAULT_CMAKE_FLAGS} ${OCLOC_EXTRA_ARGS}
+  CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/ocloc ${DEFAULT_CMAKE_FLAGS} ${OCLOC_EXTRA_ARGS}
   INSTALL_DIR ${LIBDIR}/ocloc
 )



More information about the Bf-blender-cvs mailing list