title: Conan not respecting compiler.libcxx abi setting
body: <p>I have the following conan profile:</p>
  <pre><code>$ conan profile show default
  Configuration for profile default:
  
  [settings]
  os=Linux
  os_build=Linux
  arch=x86_64
  arch_build=x86_64
  compiler=gcc
  compiler.version=11
  compiler.cppstd=20
  compiler.libcxx=libstdc++
  build_type=Release
  [options]
  [conf]
  [build_requires]
  [env]
  </code></pre>
  <p>Note that <code>compiler.libcxx</code> is the old ABI (<code>libstdc++</code>) and not the new ABI (<code>libstdc++11</code>). This is intentional. Also I'm specifying <code>cppstd=20</code>.</p>
  <p>I then made a custom conanfile for <code>{fmt}</code>, which tries to package up fmt 9.0. That looks like, in its entirety:</p>
  <pre class="lang-py prettyprint-override"><code>from conans import ConanFile, CMake, tools
  from conan.tools.cmake import CMakeToolchain, cmake_layout
  
  class ConanFmt(ConanFile):
      name = &quot;fmt&quot;
      version = &quot;9.0.0&quot;
  
      settings = &quot;os&quot;, &quot;compiler&quot;, &quot;cppstd&quot;, &quot;build_type&quot;, &quot;arch&quot;
  
      def source(self):
          git = tools.Git(folder=&quot;fmt&quot;)
          git.clone(&quot;https://github.com/fmtlib/fmt.git&quot;, &quot;9.0.0&quot;, shallow=True)
  
      def layout(self):
          cmake_layout(self)
  
      def generate(self):
          tc = CMakeToolchain(self)
          tc.generate()
  
      def build(self):
          cmake = CMake(self)
          cmake.definitions[&quot;FMT_DOC&quot;] = False
          cmake.definitions[&quot;FMT_TEST&quot;] = False
          cmake.definitions[&quot;FMT_INSTALL&quot;] = True
          cmake.definitions[&quot;CMAKE_EXPORT_COMPILE_COMMANDS&quot;] = True
          cmake.configure(source_folder=&quot;fmt&quot;)
          cmake.build()
  
      def package(self):
          cmake = CMake(self)
          cmake.install()
  
      def package_info(self):
          self.cpp_info.libs = [&quot;fmt&quot;]
  </code></pre>
  <p>When I try to go ahead and package this up, like say:</p>
  <pre><code>$ conan create . demo/testing -s build_type=Release
  </code></pre>
  <p>This does actually go ahead and clone the <code>{fmt}</code> repo, and correctly build and package up the contents of the library.</p>
  <p>Except that:</p>
  <ul>
  <li>there is no <code>_GLIBCXX_USE_CXX11_ABI</code> definition set (despite what <a href="https://docs.conan.io/en/latest/howtos/manage_gcc_abi.html#manage-gcc-abi" rel="nofollow noreferrer">this page</a>) says.</li>
  <li><code>{fmt}</code> was compiled with C++11, not C++20</li>
  <li>... but it <em>was</em> built with <code>Release</code> (<code>-O3 -DNDEBUG</code>)</li>
  </ul>
  <p>Conan does appear to provide variables like <code>CONAN_CMAKE_CXX_STANDARD=20</code>, <code>CONAN_STD_CXX_FLAG=-std=c++2a</code>, and <code>CONAN_LIBCXX=libstdc++</code>. But <code>{fmt}</code>'s build doesn't actually use those, so that isn't very useful.</p>
  <p>How do I actually get conan to propagate through these fields properly? Is that something that must be explicitly specified in the <code>conanfile.py</code> (even if it's in the profile)?</p>