From 5d47d935d1d3319a7b31ed2dbca09c6c4e38bb6e Mon Sep 17 00:00:00 2001 From: Joel Holdsworth Date: Mon, 30 Oct 2023 17:58:36 +0000 Subject: [PATCH 1/6] Use variables directly in if() predicates, instead of variable expansion --- conan_provider.cmake | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/conan_provider.cmake b/conan_provider.cmake index 91d4e043..957f352a 100644 --- a/conan_provider.cmake +++ b/conan_provider.cmake @@ -5,20 +5,20 @@ function(detect_os OS OS_API_LEVEL OS_SDK OS_SUBSYSTEM OS_VERSION) # it could be cross compilation message(STATUS "CMake-Conan: cmake_system_name=${CMAKE_SYSTEM_NAME}") if(CMAKE_SYSTEM_NAME AND NOT CMAKE_SYSTEM_NAME STREQUAL "Generic") - if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") + if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") set(${OS} Macos PARENT_SCOPE) - elseif(${CMAKE_SYSTEM_NAME} STREQUAL "QNX") + elseif(CMAKE_SYSTEM_NAME STREQUAL "QNX") set(${OS} Neutrino PARENT_SCOPE) - elseif(${CMAKE_SYSTEM_NAME} STREQUAL "CYGWIN") + elseif(CMAKE_SYSTEM_NAME STREQUAL "CYGWIN") set(${OS} Windows PARENT_SCOPE) set(${OS_SUBSYSTEM} cygwin PARENT_SCOPE) - elseif(${CMAKE_SYSTEM_NAME} MATCHES "^MSYS") + elseif(CMAKE_SYSTEM_NAME MATCHES "^MSYS") set(${OS} Windows PARENT_SCOPE) set(${OS_SUBSYSTEM} msys2 PARENT_SCOPE) else() set(${OS} ${CMAKE_SYSTEM_NAME} PARENT_SCOPE) endif() - if(${CMAKE_SYSTEM_NAME} STREQUAL "Android") + if(CMAKE_SYSTEM_NAME STREQUAL "Android") string(REGEX MATCH "[0-9]+" _OS_API_LEVEL ${ANDROID_PLATFORM}) message(STATUS "CMake-Conan: android_platform=${ANDROID_PLATFORM}") set(${OS_API_LEVEL} ${_OS_API_LEVEL} PARENT_SCOPE) @@ -130,7 +130,7 @@ endmacro() function(detect_lib_cxx OS LIB_CXX) - if(${OS} STREQUAL "Android") + if(OS STREQUAL "Android") message(STATUS "CMake-Conan: android_stl=${ANDROID_STL}") set(${LIB_CXX} ${ANDROID_STL} PARENT_SCOPE) return() @@ -342,7 +342,7 @@ function(detect_host_profile output_file) # propagate compilers via profile append_compiler_executables_configuration() - if(${MYOS} STREQUAL "Android") + if(MYOS STREQUAL "Android") string(APPEND PROFILE "tools.android:ndk_path=${CMAKE_ANDROID_NDK}\n") endif() From da754b8cb394701364f46bcad4e8c9fede35e5e2 Mon Sep 17 00:00:00 2001 From: Joel Holdsworth Date: Wed, 6 Sep 2023 20:24:18 +0100 Subject: [PATCH 2/6] Fixed indentation --- conan_provider.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conan_provider.cmake b/conan_provider.cmake index 957f352a..0a9e9eab 100644 --- a/conan_provider.cmake +++ b/conan_provider.cmake @@ -523,8 +523,8 @@ endmacro() cmake_language( - SET_DEPENDENCY_PROVIDER conan_provide_dependency - SUPPORTED_METHODS FIND_PACKAGE + SET_DEPENDENCY_PROVIDER conan_provide_dependency + SUPPORTED_METHODS FIND_PACKAGE ) macro(conan_provide_dependency_check) From a292f5d71807411d75b652d63f2d74955dc7205a Mon Sep 17 00:00:00 2001 From: Joel Holdsworth Date: Mon, 30 Oct 2023 17:58:43 +0000 Subject: [PATCH 3/6] Ensure 2-empty lines between each function and macro --- conan_provider.cmake | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/conan_provider.cmake b/conan_provider.cmake index 0a9e9eab..d3df3d86 100644 --- a/conan_provider.cmake +++ b/conan_provider.cmake @@ -96,6 +96,7 @@ function(detect_cxx_standard CXX_STANDARD) endif() endfunction() + macro(detect_gnu_libstdcxx) # _CONAN_IS_GNU_LIBSTDCXX true if GNU libstdc++ check_cxx_source_compiles(" @@ -118,6 +119,7 @@ macro(detect_gnu_libstdcxx) unset (_CONAN_GNU_LIBSTDCXX_IS_CXX11_ABI) endmacro() + macro(detect_libcxx) # _CONAN_IS_LIBCXX true if LLVM libc++ check_cxx_source_compiles(" @@ -249,6 +251,7 @@ function(detect_compiler COMPILER COMPILER_VERSION COMPILER_RUNTIME COMPILER_RUN set(${COMPILER_RUNTIME_TYPE} ${_COMPILER_RUNTIME_TYPE} PARENT_SCOPE) endfunction() + function(detect_build_type BUILD_TYPE) get_property(_MULTICONFIG_GENERATOR GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) if(NOT _MULTICONFIG_GENERATOR) @@ -258,6 +261,7 @@ function(detect_build_type BUILD_TYPE) endif() endfunction() + macro(append_compiler_executables_configuration) set(_conan_c_compiler "") set(_conan_cpp_compiler "") @@ -441,6 +445,7 @@ function(conan_version_check) endif() endfunction() + macro(construct_profile_argument argument_variable profile_list) set(${argument_variable} "") if("${profile_list}" STREQUAL "CONAN_HOST_PROFILE") @@ -527,6 +532,7 @@ cmake_language( SUPPORTED_METHODS FIND_PACKAGE ) + macro(conan_provide_dependency_check) set(_CONAN_PROVIDE_DEPENDENCY_INVOKED FALSE) get_property(_CONAN_PROVIDE_DEPENDENCY_INVOKED GLOBAL PROPERTY CONAN_PROVIDE_DEPENDENCY_INVOKED) @@ -543,6 +549,7 @@ macro(conan_provide_dependency_check) unset(_CONAN_PROVIDE_DEPENDENCY_INVOKED) endmacro() + # Add a deferred call at the end of processing the top-level directory # to check if the dependency provider was invoked at all. cmake_language(DEFER DIRECTORY "${CMAKE_SOURCE_DIR}" CALL conan_provide_dependency_check) From 189d6beb7e0c817642c24f99b3215558cb24102a Mon Sep 17 00:00:00 2001 From: Joel Holdsworth Date: Mon, 30 Oct 2023 19:33:42 +0000 Subject: [PATCH 4/6] Removed trailing whitespace --- conan_provider.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conan_provider.cmake b/conan_provider.cmake index d3df3d86..d6117397 100644 --- a/conan_provider.cmake +++ b/conan_provider.cmake @@ -200,7 +200,7 @@ function(detect_compiler COMPILER COMPILER_VERSION COMPILER_RUNTIME COMPILER_RUN if(NOT CMAKE_MSVC_RUNTIME_LIBRARY IN_LIST _KNOWN_MSVC_RUNTIME_VALUES) message(FATAL_ERROR "CMake-Conan: unable to map MSVC runtime: ${CMAKE_MSVC_RUNTIME_LIBRARY} to Conan settings") endif() - + # Runtime is "dynamic" in all cases if it ends in DLL if(CMAKE_MSVC_RUNTIME_LIBRARY MATCHES ".*DLL$") set(_COMPILER_RUNTIME "dynamic") From 4c1b618d8a6c25646c992f83f9f647975c5a1568 Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 9 Nov 2023 14:12:23 +0000 Subject: [PATCH 5/6] Fix detect_lib_cxx invocation --- conan_provider.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conan_provider.cmake b/conan_provider.cmake index d6117397..8961acbe 100644 --- a/conan_provider.cmake +++ b/conan_provider.cmake @@ -289,7 +289,7 @@ function(detect_host_profile output_file) detect_arch(MYARCH) detect_compiler(MYCOMPILER MYCOMPILER_VERSION MYCOMPILER_RUNTIME MYCOMPILER_RUNTIME_TYPE) detect_cxx_standard(MYCXX_STANDARD) - detect_lib_cxx(MYOS MYLIB_CXX) + detect_lib_cxx(${MYOS} MYLIB_CXX) detect_build_type(MYBUILD_TYPE) set(PROFILE "") From a8575a963c4fe3fc8fe1e0e2afad71781c1c04ab Mon Sep 17 00:00:00 2001 From: Luis Caro Campos <3535649+jcar87@users.noreply.github.com> Date: Thu, 9 Nov 2023 14:17:08 +0000 Subject: [PATCH 6/6] detect_lib_cxx: don't take confusing variable input --- conan_provider.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/conan_provider.cmake b/conan_provider.cmake index 8961acbe..4216906c 100644 --- a/conan_provider.cmake +++ b/conan_provider.cmake @@ -131,8 +131,8 @@ macro(detect_libcxx) endmacro() -function(detect_lib_cxx OS LIB_CXX) - if(OS STREQUAL "Android") +function(detect_lib_cxx LIB_CXX) + if(CMAKE_SYSTEM_NAME STREQUAL "Android") message(STATUS "CMake-Conan: android_stl=${ANDROID_STL}") set(${LIB_CXX} ${ANDROID_STL} PARENT_SCOPE) return() @@ -289,7 +289,7 @@ function(detect_host_profile output_file) detect_arch(MYARCH) detect_compiler(MYCOMPILER MYCOMPILER_VERSION MYCOMPILER_RUNTIME MYCOMPILER_RUNTIME_TYPE) detect_cxx_standard(MYCXX_STANDARD) - detect_lib_cxx(${MYOS} MYLIB_CXX) + detect_lib_cxx(MYLIB_CXX) detect_build_type(MYBUILD_TYPE) set(PROFILE "")