labath created this revision. labath added reviewers: amccarth, tatyana-krasnukha, JDevlieghere. Herald added a subscriber: mgorny. Herald added a project: LLDB. labath requested review of this revision.
Raise awareness of the fact that some versions of swig and python (and build types) just don't mix. One day this will be a reason to require swig>=4.0, but this version is too hot off the press right now.. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D88967 Files: lldb/cmake/modules/FindPythonAndSwig.cmake Index: lldb/cmake/modules/FindPythonAndSwig.cmake =================================================================== --- lldb/cmake/modules/FindPythonAndSwig.cmake +++ lldb/cmake/modules/FindPythonAndSwig.cmake @@ -45,6 +45,17 @@ message(STATUS "SWIG 2 or later is required for Python support in LLDB but could not be found") endif() + get_property(MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) + if ("${Python3_VERSION}" VERSION_GREATER_EQUAL "3.7" AND + "${SWIG_VERSION}" VERSION_LESS "4.0" AND WIN32 AND ( + ${MULTI_CONFIG} OR (${uppercase_CMAKE_BUILD_TYPE} STREQUAL "DEBUG"))) + # Technically this can happen with non-Windows builds too, but we are not + # able to detect whether Python was built with assertions, and only Windows + # has the requirement that Debug LLDB must use Debug Python. + message(WARNING "Debug builds of LLDB are likely to be unusable due to " + "<https://github.com/swig/swig/issues/1321>. Please use SWIG >= 4.0.") + endif() + include(FindPackageHandleStandardArgs) find_package_handle_standard_args(PythonAndSwig FOUND_VAR
Index: lldb/cmake/modules/FindPythonAndSwig.cmake =================================================================== --- lldb/cmake/modules/FindPythonAndSwig.cmake +++ lldb/cmake/modules/FindPythonAndSwig.cmake @@ -45,6 +45,17 @@ message(STATUS "SWIG 2 or later is required for Python support in LLDB but could not be found") endif() + get_property(MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) + if ("${Python3_VERSION}" VERSION_GREATER_EQUAL "3.7" AND + "${SWIG_VERSION}" VERSION_LESS "4.0" AND WIN32 AND ( + ${MULTI_CONFIG} OR (${uppercase_CMAKE_BUILD_TYPE} STREQUAL "DEBUG"))) + # Technically this can happen with non-Windows builds too, but we are not + # able to detect whether Python was built with assertions, and only Windows + # has the requirement that Debug LLDB must use Debug Python. + message(WARNING "Debug builds of LLDB are likely to be unusable due to " + "<https://github.com/swig/swig/issues/1321>. Please use SWIG >= 4.0.") + endif() + include(FindPackageHandleStandardArgs) find_package_handle_standard_args(PythonAndSwig FOUND_VAR
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits