# How to skip conversion of /permissive into \<ConformanceMode\>

**URL:** https://discourse.cmake.org/t/how-to-skip-conversion-of-permissive-into-conformancemode/11193
**Category:** Usage
**Tags:** gen:vs
**Created:** [July 8, 2024, 3:05pm UTC](https://discourse.cmake.org/t/how-to-skip-conversion-of-permissive-into-conformancemode/11193 "2024-07-08T15:05:37Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Nekto](https://discourse.cmake.org/user_avatar/discourse.cmake.org/nekto/32/4737_2.png) [@Nekto](https://discourse.cmake.org/u/Nekto)
#### Post date: [July 8, 2024, 3:05pm UTC](https://discourse.cmake.org/t/how-to-skip-conversion-of-permissive-into-conformancemode/11193/1 "2024-07-08T15:05:37Z")

</div>

Hi,

C++20 in MSVC enables standard conformance. I would like to disable it for now. CMake properly converts /permissive flag into false in .vcxproj. And MSBuild adds /permissive flag to compilation. The problem is that order of /permissive and /std:c++20 affects the result.

> **[Compiler Explorer - C++](https://godbolt.org/z/KT6dsMfcf)**
>
> bool not(int w);

Is there any way to not convert flag into ConformanceMode and just add it to end of AdditionalOptions? I’ve tried target\_compile\_options and add\_compile\_options without any success.

---

<div class="post-metadata">

### Author: ![Nekto](https://discourse.cmake.org/user_avatar/discourse.cmake.org/nekto/32/4737_2.png) [@Nekto](https://discourse.cmake.org/u/Nekto)
#### Post date: [July 8, 2024, 3:54pm UTC](https://discourse.cmake.org/t/how-to-skip-conversion-of-permissive-into-conformancemode/11193/2 "2024-07-08T15:54:52Z")

</div>

I’ve created props file and adding it through VS\_USER\_PROPS. Are there any better ways?

```auto
if(MSVC_VERSION EQUAL 1929)
      set_target_properties(${ARG_TARGET} PROPERTIES VS_USER_PROPS ${CMAKE_BINARY_DIR}/vs2019_permissive_workaround.props)
endif()

```

```auto
<?xml version="1.0" encoding="utf-8"?>
<Project>
  <ImportGroup Label="PropertySheets">
    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
  </ImportGroup>
  <ItemDefinitionGroup>
    <ClCompile>
      <AdditionalOptions>%(AdditionalOptions) /permissive</AdditionalOptions>
    </ClCompile>
  </ItemDefinitionGroup>
</Project>

```
