<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/127130>127130</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Failure to build LLVM with MSVC on Windows from master branch
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          songkomkrit
      </td>
    </tr>
</table>

<pre>
    CMake is used to set the LLVM project configurations. The following information is for the default generator: Visual Studio 17 2022. Note that with the Ninja generator, the linker "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\Llvm\bin\lld-link.exe" runs out of memory.


# Projects

Bolt, Libclc, MLIR and Flang are disabled.

$LlvmProjects = ""
$LlvmProjects += "clang;clang-tools-extra;cross-project-tests;"
$LlvmProjects += "lld;lldb;openmp;polly;pstl"


# Configure Project and Generate Native Build System

cmake -G "Visual Studio 17 2022" -S "$HOME\Sorces\llvm-project\llvm" -DCMAKE_INSTALL_PREFIX="$HOME\Binaries\llvm" \`
 -DCMAKE_C_COMPILER="cl" \`
        -DCMAKE_CXX_COMPILER="cl" \`
        -DCMAKE_TOOLCHAIN_FILE="$Env:VCPKG_ROOT\scripts\buildsystems\vcpkg.cmake" \`
        -DCMAKE_BUILD_TYPE="Release" \`
        -DLLVM_ENABLE_PROJECTS="$LlvmProjects" \`
        -DLLVM_ENABLE_RUNTIMES="$pstl;offload" \`
        -DLLVM_TARGETS_TO_BUILD="all" \`
        -DLLVM_DYLIB_COMPONENTS="all" \`
        -Thost=x64 \`
        -DLLVM_ENABLE_PDB=OFF \`
        -DLLVM_BUILD_STATIC=OFF \`
        -DLLVM_BUILD_LLVM_C_DYLIB=ON \`
        -DLLVM_BUILD_32_BITS=OFF \`
        -DLLVM_ENABLE_THREADS=ON \`
        -DLLVM_ENABLE_LLD=ON \`
        -DLLVM_PARALLEL_COMPILE_JOBS="2" \`
        -DLLVM_PARALLEL_LINK_JOBS="1" \`
        -DLLVM_BUILD_DOCS=OFF \`
        -DLLVM_BUILD_EXAMPLES=ON \`
        -DLLVM_BUILD_TESTS=ON \`
        -DCLANG_INCLUDE_TESTS=OFF \`
        -DLLDB_INCLUDE_TESTS=OFF \`
        -DLLVM_CCACHE_BUILD=OFF \`
        -DLLVM_ENABLE_ASSERTIONS=ON \`
        -DLLVM_ENABLE_BINDINGS=ON \`
        -DLLVM_ENABLE_DOXYGEN=OFF \`
        -DLLVM_ENABLE_DOXYGEN_QT_HELP=OFF \`
        -DLLVM_ENABLE_EH=ON \`
        -DLLVM_ENABLE_EXPENSIVE_CHECKS=ON \`
        -DLLVM_ENABLE_FFI=ON \`
        -DLLVM_ENABLE_HTTPLIB=ON \`
        -DLLVM_ENABLE_MODULES=ON \`
        -DLLVM_ENABLE_RTTI=ON \`
        -DLLVM_ENABLE_SPHINX=ON \`
        -DLLVM_ENABLE_Z3_SOLVER=ON \`
        -DLLVM_ENABLE_ZLIB=ON \`
        -DLLVM_ENABLE_ZSTD=ON \`
        -DLLVM_INSTALL_UTILS=ON \`
        -DLLVM_OPTIMIZED_TABLEGEN=ON \`
        -DLLVM_USE_INTEL_JITEVENTS=OFF \`
        -DSPHINX_OUTPUT_HTML=ON \`
        -DSPHINX_OUTPUT_MAN=ON \`
        -DBENCHMARK_ENABLE_TESTING=ON \`
        -DBENCHMARK_ENABLE_EXCEPTIONS=ON \`
        -DBENCHMARK_ENABLE_LTO=ON


# Build Directory
$DevBuildDir = "E:\Objdir\Windows\llvm"
New-Item -ItemType Directory -Path $DevBuildDir
cd $DevBuildDir

# Build
\# No error produced
cmake --build . --config Release

# Install
\# Unsuccessful: libomp.dll not found
cmake --install . --config Release

# Error on OpenMP
CMake Error at projects/openmp/runtime/src/cmake_install.cmake:39 (file):
  file INSTALL cannot find
 "E:/Objdir/Windows/llvm/$(Configuration)/bin/Release/libomp.dll": File
 exists.

# Additional Information
When MLIR is added to the existing projects, a build error is thrown. It failed to build the CXX object projects\cross-project-te...buginfo-tests\llvm-prettyprinters\gdb\mlir-support.cpp.obj. This is probably because there may be a conflict between MLIR and cross-project-tests.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMV19zor73fjXxJqODQdp64QUGqOwi-FPaj7s3TICo2Q3ESUK7ffe_CaBtv6t1ZzpVw3Oe8xd4DlGK7WtKZ8CZA8cbkEYfhJwpUe9_i-q3ZHqQi_JthpfkN4VMwUbREmoBFdVQHyiMouclPErxixYaFqLesX0jiWaiViOYHijcCc7FK6v3kNU7Iav2mmHaCdkylHRHGq7hntZUEi0ksF34zFRDONzopmQCju8hshAawVhoCvWBaPjK9KE1j1n9i3wwRrg95qz-TSUECGFgu8DBKyn2klQwYJwq4OAlK6RQYqc_-wIONq6Ag7GoqqZm-g04-BkDB6dCcGMZ8ZcKODhnNXAw5-XQ-BrRPxQgBGVTKygaDcUOVrQS8m0ELLf_QzZcdaVS3clccG0ijlhe8MJ8W0bhGpK6hAEn9R4SSWHJFMk5LU9EaGIiOBFBYHsmTfN34SKa99cLwwfsefs51CaXIf2jJTFnUig17Ls41FRpBez5LUbOS2DPOS9zYM_FkdbVEdjzo-D8zXwqzXuGc_K4nw96KkOb6WPXOwpjotkLhfOG8RJu3pSmVWdbVGb6ho_G68XJMJUfbroyTBbJ0gcO3ghZtJ3m_KU6Jdf_bPEeXrrf_SyMN6kbRdlq7QfhFtjeJ5Y5q4lkZx5jCBwM7ixguWcKnOFkuQojf92ZF_wTDljTM3K7_WdsmiQRXrhhnAVh5J8D8-sXYLvPePX9MVsnSQocrArJjtrEmJvaqbZ05udLcfy9H7Xlu-Zl_hRGXpb-WPUe1pRToi7AzZ2e-bE7j_xstU6--TjdnIP6OCJfm66f4jRc-u-m7aDYc7HbcUHKK8apu370002WJl3AnTXhF4rX4r0fUThvK53EfnwK9BI-PQilge39uZt8lbBnpj4JgkuYroSb1E1DfAvVfsVdfAYbX4faKJuHbehXGPvY0sXad73NVbYeFrVVuwxZuWs3ivzoNJvZt2Te1wxdqfDZJArj7x_w4yv4LicvwV8k1GH8rbtcRf71hPqR9TfpRQyO3PgxC2McPXn-O-yCS2_-TzDTMezihX-eva8b4m42_joNk_hmT-Zh7IXx402cl2x_PPrxTc89Lvu_NFv40eom3l_c8uxvV368CZ_9DC98_P1mpEEQ3oIs0nT11fT3sGXiPX01BafnSZre9LhZLcJ4ewv10842SfTcPpi_Bv5D9D836fXb7fTKeUrD6HqCySoNl-FP38tSQ9n3_yL0aWPeY6kfZd_C1H_un3h_974rRJY8paunNFuky-gS5WfU0r3od-7HeLF019_PjyF_k4bx4z9h_S32V1fvkL_gUZq0uE9iopMJHpO00EK-dVLFoy_tucfkSRj5nf5L8l8lk8DB_7G6FK8fXujAcmP6Ogw1rWD7P3070ndiOFwRfYCfyY0oKf8--xia-e5g8zMWkEoppNHJZVPQ8l3SDNsXNhzB4bATz_D0_j2ThbXS5sV1pnuqVVMUVKldw41W5iwX1XFUcg5roeFONPVHD6yz_9KH34Ynapgcab1cAcvtBH93TvRJ4SuAgl7poUA2tWYVBShQsgAoaB1mvbtedNiuPYUAPewYpwBNTSssF0LzE_Z3ASxI3cbN2rDPLUNB3zIUnFqGgq5lAUATgB7wx3XDsKPAiHIUnDVM8F4b02jbbeW_8UL_MKXV6L0Eblkyw0M4DN8XFWC5_x1o3clypiApy27_MTtGy2E2m_fqYEhg19Ku40xBfZDitR7BUMMdYbwz7zCGBG-3UOStGD7TOPh_FfloNMqbvdmgenl-lrVU67ejZLWm0pzuyxw4uOJMDlVzPAqpR8XxOBL5L7OOMWUiOkqRk5y_wZwWpFFmo6KSwoqYE0jaNY6zQsOc6ld6yt5I9QuLwmhQzuxyak_JgM7G9_Z08mAjezw4zO4mUzq-Q5Y9ofb4gT7sHIuS3YNF73fTh7vp3YDNkIUcC41tNJ7cj60RLe6mE1pO7kursKY7CiYWrQjjI5PrSMj9gCnV0NkY3Y9ta8BJTrlqV1eEavoK26um0Y43kLO2QHmzV2Bi8bbbZxrNNKezgDBulpFzP9pltt0sl5tnbO6HfvLgTooKVkRpKmEuSV0cBo3ks4PWR9UNK0DBnulDk48KUb1P6qflAwVthGaQ-xReZuj_AwAA__-dfobP">