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

    <tr>
        <th>Summary</th>
        <td>
            BUG: build_native_tool does not pass on CMAKE_CXX_STANDARD
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          h-vetinari
      </td>
    </tr>
</table>

<pre>
    Trying to [build](https://github.com/conda-forge/mlir-feedstock/pull/32) mlir 16.0.0-rc1 in conda-forge, I'm running into the issue that MLIR now requires C++17 to build, but specifying `CMAKE_CXX_STANDARD` to the build does not get respected in cross-compilation.

>From what I can tell, this happens when invoking [`build_native_tool`](https://github.com/llvm/llvm-project/blob/llvmorg-16.0.0-rc1/llvm/cmake/modules/CrossCompile.cmake#L105), which then fails on any compiler that doesn't yet default to C++17.

```
[49/1416] Building native mlir-tblgen...
[1/47] Building CXX object tools/mlir-tblgen/CMakeFiles/mlir-tblgen.dir/DirectiveCommonGen.cpp.o
FAILED: tools/mlir-tblgen/CMakeFiles/mlir-tblgen.dir/DirectiveCommonGen.cpp.o 
$BUILD_PREFIX/bin/x86_64-apple-darwin13.4.0-clang++ -DMLIR_CUDA_CONVERSIONS_ENABLED=1 -DMLIR_ROCM_CONVERSIONS_ENABLED=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I$SRC_DIR/build/NATIVE/tools/mlir-tblgen -I$SRC_DIR/mlir/tools/mlir-tblgen -I$SRC_DIR/mlir/include -I$SRC_DIR/build/NATIVE/include -isystem $BUILD_PREFIX/include -O2 -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -Werror=mismatched-tags -O3 -DNDEBUG -isysroot /Applications/Xcode_13.2.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.0.sdk -mmacosx-version-min=11.0  -fno-exceptions -MD -MT tools/mlir-tblgen/CMakeFiles/mlir-tblgen.dir/DirectiveCommonGen.cpp.o -MF tools/mlir-tblgen/CMakeFiles/mlir-tblgen.dir/DirectiveCommonGen.cpp.o.d -o tools/mlir-tblgen/CMakeFiles/mlir-tblgen.dir/DirectiveCommonGen.cpp.o -c $SRC_DIR/mlir/tools/mlir-tblgen/DirectiveCommonGen.cpp
In file included from $SRC_DIR/mlir/tools/mlir-tblgen/DirectiveCommonGen.cpp:14:
In file included from $SRC_DIR/mlir/include/mlir/TableGen/GenInfo.h:12:
In file included from $SRC_DIR/mlir/include/mlir/Support/LLVM.h:24:
$BUILD_PREFIX/include/llvm/Support/Casting.h:266:32: error: no member named 'optional' in namespace 'std'
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVlFv2zgS_jX0C0FBomQ7fvCDLEWBsXFS2GmTN4MSRxIvFKklKae-X3-g5NTbdvd6xQUIEmQ48803HzmjYdaKRgGs0XyD5vmMDa7VZt2SEzihmBGzUvPz-smchWqw0xjNN-UgJEfzHNGb1rneojhFtEC0aIRrhzKodIdoUWnFGam1aQDRopPCkBqAW6erV0SLfpAS0SKmiK6wP8XRIgiDkJgqwkLh78IzvEV02WEzKOV5COU0di1gYe0A2LXM4d39do-VfsMG_hyEAYszRDeIbqKl5z2RphkuB4dtD5Wox5LQIsx26R-3x-zl5Xh4Sh_ydJ-jRYgvGcY4zDVYrLTDDThswMc74CNPo60lle56IZkTWgUozFGYTr8Lozv85ultccUUduCrzrBrhcUt63tQFr-1oLBQJ_06Eppv0CIc0x4Vc-IER6e1RIvwl5JLeXr_Q3qj_wWVQ7QopS4vVm0acpX5GlF17HW8Jc0HCRbRIvNlZWNVEFyO4_sonCO68gW8taJqvUAK10xIi7XCTJ3xJASY6U68bArRpcNncJhDzQbpvLLfruY7tXyN08_073yTrBAtoiRaoHmON14TL9Eky_hqiCtlAyoIgm8xvq5k-V1A9vKCden1wF5L-_4gp2Bf7o69QiGm2v-Ky4VBtMiFgcrnzHTXaXUHKqj6PtCXS06397c5itOPBceXimiy-by9z4-f9rfF9sVfqPCoX28Wx0VCWN9LIJyZN6GiOEiCkFSSqWYSGJPc98Ux-5ynx-zx4cvt_rB9fDgcbx_SzUg6j9599o_Z7r_4HI-HpzzzDr5Lno67NNs_Hq4HxeN-l_5svt_utlfrFtHksM-O-XbvC5l6snhIn7ZfbhEt_ka_H2P80W95ClXJgcMvc3_zE_ZsHXT4Z-G_uTxSTOpP2wyT-iSsKIUU7kyEkkKBJa3g3NN5BmO0QXHOmQPiRAd_sQ2qGZjhwAk7MSHZBUPBGybPTErv-tUZhsmz0mRQgwVOemZYBw4MJs9vRjgg1hmhGovJc8WsI38OzEd2wlqhGlILkJwIJZxgUvwbjHcUXS9FJRypmZSuNXpoWh-vT2CAE_smXNWS92Yd0ysNXyvoHXHnHkaTIidh3MAk4U57OhwkOCB_c2KHpgHriMc3wsv3PLEmlVYnMFZoNXGWwHy7EqE4KDdOU0_MMU46di6BDMoOfa-Nn72k5oI1SlsnKj-A5ZjsXd5O2I65qgVOHPP6PMaY5A_57ebz3XTFRmuHES3S3ssxJvMP6qXSHI5RHNAgCljf-_7VyoFy_jSHE0jdg39YnyRztTadt-9Y9Xh4CfqL6QfPQ_7H1SmKgjCw_BWTrmOVtl_JRQPSCeV7LQpCjEmtNJlE98Qw2eWY7J4-eMKQXfGxiAHHRH80yQr_jxPgH1GmSbpVuBYS8KWNOa791_n_xo7TKPHf49_McfG4Gp5YKeFuzHQHaqtqHbQenH4E-GHqG0SL-_svuxGYXln_46i7rghXgIxZJ1QzYSwWKE5jTxFfWi_FSuMOuhIMVqwDjhFd6vEZM4no0i9N3m57VoE_s44juvxhA5jxdcxX8YrNYB0tlvNlsgqT1axdh_wmSip-Q-N5zeI5Wy7KsFwkyWpV81Vd3czEmoY0Dmm4DOfzMFkFcbnkIYVFXME8TpYxSkLomJCBryzQppmNW-R6Ec6XyUyyEqQd12FK_TQeDxGlfjs263G3KofGoiSUwjp7RXHCSVhvPt95DX7a364rZM_suC79vHbOBiPXv73fjQT9ax0L-E8AAAD__9FZ3vI">