[Bf-blender-cvs] [9c1dec0d186] tmp-vfx-platform-2023: deps_builder: limit llvm/dpcpp to c++14

Ray Molenkamp noreply at git.blender.org
Thu Oct 13 23:08:26 CEST 2022


Commit: 9c1dec0d1863b3a14dbcf567a3244940f651bc7f
Author: Ray Molenkamp
Date:   Thu Oct 13 21:08:18 2022 -0700
Branches: tmp-vfx-platform-2023
https://developer.blender.org/rB9c1dec0d1863b3a14dbcf567a3244940f651bc7f

deps_builder: limit llvm/dpcpp to c++14

We build all deps with the -DCMAKE_CXX_STANDARD=17
flag. llvm however will not switch over to C++17
until llvm 16.0, and building older versions with
this flag is leading to some crashes inside ispc
when building with MSVC

So for both llvm and dpcpp remove the -DCMAKE_CXX_STANDARD=17
flag, this is done for all platforms since we should
not be overriding llvm's preferences here.

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

M	build_files/build_environment/cmake/dpcpp.cmake
M	build_files/build_environment/cmake/llvm.cmake

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

diff --git a/build_files/build_environment/cmake/dpcpp.cmake b/build_files/build_environment/cmake/dpcpp.cmake
index dbba97b8264..27203a77d71 100644
--- a/build_files/build_environment/cmake/dpcpp.cmake
+++ b/build_files/build_environment/cmake/dpcpp.cmake
@@ -1,5 +1,9 @@
 # SPDX-License-Identifier: GPL-2.0-or-later
 
+# LLVM does not switch over to cpp17 until llvm 16 and building ealier versions with
+# MSVC is leading to some crashes in ISPC. Switch back to their default on all platforms
+# for now. 
+string(REPLACE "-DCMAKE_CXX_STANDARD=17" " " DPCPP_CMAKE_FLAGS "${DEFAULT_CMAKE_FLAGS}")
 
 if(WIN32)
   set(LLVM_GENERATOR "Ninja")
@@ -79,7 +83,7 @@ ExternalProject_Add(external_dpcpp
   CMAKE_GENERATOR ${LLVM_GENERATOR}
   SOURCE_SUBDIR llvm
   LIST_SEPARATOR ^^
-  CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/dpcpp ${DEFAULT_CMAKE_FLAGS} ${DPCPP_EXTRA_ARGS}
+  CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/dpcpp ${DPCPP_CMAKE_FLAGS} ${DPCPP_EXTRA_ARGS}
   #CONFIGURE_COMMAND ${PYTHON_BINARY} ${BUILD_DIR}/dpcpp/src/external_dpcpp/buildbot/configure.py ${DPCPP_CONFIGURE_ARGS}
   #BUILD_COMMAND echo "." #${PYTHON_BINARY} ${BUILD_DIR}/dpcpp/src/external_dpcpp/buildbot/compile.py
   INSTALL_COMMAND ${CMAKE_COMMAND} --build . -- deploy-sycl-toolchain
diff --git a/build_files/build_environment/cmake/llvm.cmake b/build_files/build_environment/cmake/llvm.cmake
index e4ddc7db846..769d22dbf68 100644
--- a/build_files/build_environment/cmake/llvm.cmake
+++ b/build_files/build_environment/cmake/llvm.cmake
@@ -37,6 +37,11 @@ else()
   set(LLVM_GENERATOR "Unix Makefiles")
 endif()
 
+# LLVM does not switch over to cpp17 until llvm 16 and building ealier versions with
+# MSVC is leading to some crashes in ISPC. Switch back to their default on all platforms
+# for now. 
+string(REPLACE "-DCMAKE_CXX_STANDARD=17" " " LLVM_CMAKE_FLAGS "${DEFAULT_CMAKE_FLAGS}")
+
 # short project name due to long filename issues on windows
 ExternalProject_Add(ll
   URL file://${PACKAGE_DIR}/${LLVM_FILE}
@@ -47,7 +52,7 @@ ExternalProject_Add(ll
   PREFIX ${BUILD_DIR}/ll
   SOURCE_SUBDIR llvm
   PATCH_COMMAND ${PATCH_CMD} -p 1 -d ${BUILD_DIR}/ll/src/ll < ${PATCH_DIR}/llvm.diff
-  CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/llvm ${DEFAULT_CMAKE_FLAGS} ${LLVM_EXTRA_ARGS}
+  CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${LIBDIR}/llvm ${LLVM_CMAKE_FLAGS} ${LLVM_EXTRA_ARGS}
   INSTALL_DIR ${LIBDIR}/llvm
 )



More information about the Bf-blender-cvs mailing list