set(CMAKE_SYSTEM_NAME Windows) set(CMAKE_SYSTEM_PROCESSOR AMD64) set(CMAKE_C_COMPILER clang) set(CMAKE_CXX_COMPILER clang++) set(triple x86_64-windows-msvc) set(CMAKE_C_COMPILER_TARGET ${triple}) set(CMAKE_CXX_COMPILER_TARGET ${triple}) set(CMAKE_LINKER lld-link) set(CMAKE_C_LINK_EXECUTABLE " -out: ") set(CMAKE_CXX_LINK_EXECUTABLE " -out: ") set(CMAKE_C_CREATE_SHARED_LIBRARY " -dll -out: -implib: ") set(CMAKE_CXX_CREATE_SHARED_LIBRARY " -dll -out: -implib: ") # Disable Unix-specific flags set(CMAKE_C_COMPILE_OPTIONS_PIC "") set(CMAKE_CXX_COMPILE_OPTIONS_PIC "") set(CMAKE_SHARED_LIBRARY_C_FLAGS "") set(CMAKE_SHARED_LIBRARY_CXX_FLAGS "") # Add -fuse-ld=lld to ensure clang uses lld set(CMAKE_C_FLAGS_INIT "-fuse-ld=lld") set(CMAKE_CXX_FLAGS_INIT "-fuse-ld=lld")