From 5ee11e5a21a27f82a942bdeb5facde8212337f2c Mon Sep 17 00:00:00 2001 From: Jinsong Ji Date: Tue, 9 Sep 2025 13:07:01 -0700 Subject: [PATCH 1/2] [SYCL RTC] Correctly handle `/MT`/`/MD` on Windows Patch by @jsji --- sycl-jit/jit-compiler/CMakeLists.txt | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sycl-jit/jit-compiler/CMakeLists.txt b/sycl-jit/jit-compiler/CMakeLists.txt index d8f66d6a719d9..956a5e2be895b 100644 --- a/sycl-jit/jit-compiler/CMakeLists.txt +++ b/sycl-jit/jit-compiler/CMakeLists.txt @@ -36,11 +36,14 @@ add_custom_command( if (WIN32) set(clang_exe ${CMAKE_BINARY_DIR}/bin/clang-cl.exe) set(SYCL_JIT_RESOURCE_CXX_FLAGS /O2 /std:c++17 /W0) - if (CMAKE_BUILD_TYPE MATCHES "Debug") - list(APPEND SYCL_JIT_RESOURCE_CXX_FLAGS /MDd) - else() - list(APPEND SYCL_JIT_RESOURCE_CXX_FLAGS /MD) + + # Determine if we should use static (/MT) or dynamic (/MD) runtime + set(USE_STATIC_RUNTIME FALSE) + if(CMAKE_MSVC_RUNTIME_LIBRARY AND NOT CMAKE_MSVC_RUNTIME_LIBRARY MATCHES "DLL") + set(USE_STATIC_RUNTIME TRUE) endif() + + list(APPEND SYCL_JIT_RESOURCE_CXX_FLAGS /M$$<$:d>) else() get_host_tool_path( clang CLANG clang_exe clang_target ) set(SYCL_JIT_RESOURCE_CXX_FLAGS -O2 -Wno-c23-extensions -std=c++17 -fPIC -fvisibility=hidden) From 9fd3c47ec8ae5b7a6de9eb13e023bc679813f4e0 Mon Sep 17 00:00:00 2001 From: Andrei Elovikov Date: Tue, 9 Sep 2025 13:23:01 -0700 Subject: [PATCH 2/2] Update sycl-jit/jit-compiler/CMakeLists.txt --- sycl-jit/jit-compiler/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sycl-jit/jit-compiler/CMakeLists.txt b/sycl-jit/jit-compiler/CMakeLists.txt index 956a5e2be895b..fd43ece06df65 100644 --- a/sycl-jit/jit-compiler/CMakeLists.txt +++ b/sycl-jit/jit-compiler/CMakeLists.txt @@ -38,9 +38,9 @@ if (WIN32) set(SYCL_JIT_RESOURCE_CXX_FLAGS /O2 /std:c++17 /W0) # Determine if we should use static (/MT) or dynamic (/MD) runtime - set(USE_STATIC_RUNTIME FALSE) + set(USE_STATIC_RUNTIME 0) if(CMAKE_MSVC_RUNTIME_LIBRARY AND NOT CMAKE_MSVC_RUNTIME_LIBRARY MATCHES "DLL") - set(USE_STATIC_RUNTIME TRUE) + set(USE_STATIC_RUNTIME 1) endif() list(APPEND SYCL_JIT_RESOURCE_CXX_FLAGS /M$$<$:d>)