From cc59222aa07803575464913ea42fa603e0f163f7 Mon Sep 17 00:00:00 2001 From: wmayer Date: Wed, 31 Jul 2019 13:14:21 +0200 Subject: [PATCH] workaround for a weird behaviour of Shiboken2Config.cmake that may explicitly set CMAKE_BUILD_TYPE to Release --- CMakeLists.txt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 662b6db5f9f7..f758852ebe1c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1043,7 +1043,12 @@ if(NOT FREECAD_LIBPACK_USE OR FREECAD_LIBPACK_CHECKFILE_CLBUNDLER) find_package(PySide REQUIRED HINTS "${PYTHON_LIBRARY_DIR}/cmake") endif(DEFINED MACPORTS_PREFIX) + # Shiboken2Config.cmake may explicitly set CMAKE_BUILD_TYPE to Release which causes + # CMake to fail to create Makefiles for a debug build. + # So as a workaround we save and restore the value after checking for Shiboken2. + set (SAVE_BUILD_TYPE ${CMAKE_BUILD_TYPE}) find_package(Shiboken2 QUIET)# REQUIRED + set (CMAKE_BUILD_TYPE ${SAVE_BUILD_TYPE}) if (Shiboken2_FOUND) # Shiboken2 config file was found but it may use the wrong Python version # Try to get the matching config suffix and repeat finding the package @@ -1229,7 +1234,6 @@ if(MSVC) else(MSVC) set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DFC_DEBUG") #message(STATUS "DEBUG: ${CMAKE_CXX_FLAGS_DEBUG}") - message(STATUS "Build type: ${CMAKE_BUILD_TYPE}") endif(MSVC) if(MINGW) @@ -1282,6 +1286,9 @@ endif(CMAKE_COMPILER_IS_GNUCXX OR MINGW) message(STATUS "\n==============\n" "Summary report\n" "==============\n") +if (DEFINED CMAKE_BUILD_TYPE) + message(STATUS "Build type: ${CMAKE_BUILD_TYPE}") +endif() # Qt5 needs/sets PYTHON_CONFIG_SUFFIX regarding Shiboken message(STATUS "Python: [${PYTHON_EXECUTABLE}] [${PYTHON_CONFIG_SUFFIX}]")