Guest User

working toolchain

a guest
Sep 26th, 2025
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. # toolchain-clang-cl-xwin.cmake
  2. cmake_minimum_required(VERSION 3.20)
  3.  
  4. set(CMAKE_SYSTEM_NAME Windows)
  5. set(CMAKE_SYSTEM_PROCESSOR x86_64)
  6. set(CMAKE_LINKER lld-link)
  7.  
  8.  
  9. # Path to your extracted xwin sysroot
  10. set(XWIN_ROOT "/home/user/.xwin")
  11.  
  12. # Use clang-cl, but force Windows target triple
  13. set(CMAKE_C_COMPILER clang-cl)
  14. set(CMAKE_CXX_COMPILER clang-cl)
  15.  
  16. # Target triple
  17. set(TARGET_TRIPLE x86_64-pc-windows-msvc)
  18.  
  19. # Base flags (note: space-separated, not semicolon!)
  20. set(COMMON_INCLUDE_FLAGS
  21. "/imsvc${XWIN_ROOT}/crt/include "
  22. "/imsvc${XWIN_ROOT}/sdk/include/ucrt "
  23. "/imsvc${XWIN_ROOT}/sdk/include/um "
  24. "/imsvc${XWIN_ROOT}/sdk/include/shared "
  25. "/imsvc${XWIN_ROOT}/sdk/include/winrt"
  26. )
  27.  
  28. string(REPLACE ";" " " COMMON_INCLUDE_FLAGS "${COMMON_INCLUDE_FLAGS}")
  29.  
  30. set(CMAKE_C_FLAGS_INIT "--target=${TARGET_TRIPLE} -fuse-ld=lld ${COMMON_INCLUDE_FLAGS} /D_HAS_EXCEPTIONS=0")
  31. set(CMAKE_CXX_FLAGS_INIT "--target=${TARGET_TRIPLE} -fuse-ld=lld ${COMMON_INCLUDE_FLAGS} /D_HAS_EXCEPTIONS=0")
  32.  
  33. set(CMAKE_C_FLAGS_DEBUG "/MD /Zi /Od" CACHE STRING "" FORCE)
  34. set(CMAKE_CXX_FLAGS_DEBUG "/MD /Zi /Od" CACHE STRING "" FORCE)
  35.  
  36.  
  37. # Don’t let CMake inject /MDd (msvcrtd)
  38. set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDLL")
  39.  
  40. # Linker flags (for MSVC-style linker)
  41. set(CMAKE_EXE_LINKER_FLAGS_INIT
  42. "/libpath:${XWIN_ROOT}/crt/lib/x86_64 \
  43. /libpath:${XWIN_ROOT}/sdk/lib/ucrt/x86_64 \
  44. /libpath:${XWIN_ROOT}/sdk/lib/um/x86_64"
  45. )
  46.  
  47.  
  48. # Avoid picking host libs
  49. set(CMAKE_FIND_ROOT_PATH ${XWIN_ROOT})
  50. set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
  51. set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
  52. set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
  53. set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
Advertisement
Add Comment
Please, Sign In to add comment