diff --git a/libc/cmake/modules/LLVMLibCObjectRules.cmake b/libc/cmake/modules/LLVMLibCObjectRules.cmake --- a/libc/cmake/modules/LLVMLibCObjectRules.cmake +++ b/libc/cmake/modules/LLVMLibCObjectRules.cmake @@ -1,7 +1,12 @@ set(OBJECT_LIBRARY_TARGET_TYPE "OBJECT_LIBRARY") function(_get_common_compile_options output_var) - set(${output_var} -fpie ${LLVM_CXX_STD_default} -ffreestanding ${LIBC_COMPILE_OPTIONS_DEFAULT} ${ARGN} PARENT_SCOPE) + set(${output_var} ${LLVM_CXX_STD_default} ${LIBC_COMPILE_OPTIONS_DEFAULT} ${ARGN} PARENT_SCOPE) + if(${LIBC_TARGET_OS} STREQUAL "windows") + set(${output_var} /Qfreestanding PARENT_SCOPE) + else() + set(${output_var} -fpie -ffreestanding PARENT_SCOPE) + endif() endfunction() # Rule which is essentially a wrapper over add_library to compile a set of