Apply https://github.com/conan-io/cmake-conan/pull/258 (commit 3df8d20b401528629d0486e577b6c9b4e22b3ae4): Make "SETTINGS compiler.libcxx=libstdc++11" do the right thing (see https://github.com/conan-io/cmake-conan/issues/255)

This commit is contained in:
Sebastian Messmer 2020-06-30 20:13:12 -07:00
parent 9deca117f5
commit 3b0d46e01e

View File

@ -1,6 +1,8 @@
# Taken from https://github.com/conan-io/cmake-conan/blob/v0.15/conan.cmake # Taken from https://github.com/conan-io/cmake-conan/blob/v0.15/conan.cmake
# Changes: # Changes:
# - https://github.com/conan-io/cmake-conan/pull/259: Add a "Please install conan" sentence to the error message when conan wasn't found. # - https://github.com/conan-io/cmake-conan/pull/259 (commit 285082078488592d3ca6ec3b718fe54bf5804951): Add a "Please install conan" sentence to the error message when conan wasn't found.
# - https://github.com/conan-io/cmake-conan/pull/258 (commit 3df8d20b401528629d0486e577b6c9b4e22b3ae4): Make "SETTINGS compiler.libcxx=libstdc++11" do the right thing (see https://github.com/conan-io/cmake-conan/issues/255)
# The MIT License (MIT) # The MIT License (MIT)
@ -233,6 +235,13 @@ function(conan_cmake_settings result)
compiler.runtime compiler.libcxx compiler.toolset) compiler.runtime compiler.libcxx compiler.toolset)
endif() endif()
# remove any manually specified settings from the autodetected settings
foreach(ARG ${ARGUMENTS_SETTINGS})
string(REGEX MATCH "[^=]*" MANUAL_SETTING "${ARG}")
message(STATUS "Conan: ${MANUAL_SETTING} was added as an argument. Not using the autodetected one.")
list(REMOVE_ITEM ARGUMENTS_PROFILE_AUTO "${MANUAL_SETTING}")
endforeach()
# Automatic from CMake # Automatic from CMake
foreach(ARG ${ARGUMENTS_PROFILE_AUTO}) foreach(ARG ${ARGUMENTS_PROFILE_AUTO})
string(TOUPPER ${ARG} _arg_name) string(TOUPPER ${ARG} _arg_name)