From 26fc756774a20137a059770fcbe0b78c55176cdc Mon Sep 17 00:00:00 2001 From: CHP Date: Fri, 8 Nov 2019 23:37:58 +0100 Subject: [PATCH] ReleaseDebugConfigSupport --- release_build_files/CMakeLists.txt | 31 +++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/release_build_files/CMakeLists.txt b/release_build_files/CMakeLists.txt index ad8a1ec08e..24000f1c53 100644 --- a/release_build_files/CMakeLists.txt +++ b/release_build_files/CMakeLists.txt @@ -36,14 +36,11 @@ elseif(MSVC) else() set(MSVC_CPU x86) endif() - if(CMAKE_BUILD_TYPE EQUAL Release) - set(MSVC_CONFIG Release) - else() - set(MSVC_CONFIG Debug) - endif() set(MSVC_VS_VERSION VS2015) - set(FIREBASE_SDK_LIBDIR - ${FIREBASE_CPP_SDK_DIR}/libs/windows/${MSVC_VS_VERSION}/${MSVC_RUNTIME_MODE}/${MSVC_CPU}/${MSVC_CONFIG}) + set(FIREBASE_SDK_LIBDIR_DEBUG + ${FIREBASE_CPP_SDK_DIR}/libs/windows/${MSVC_VS_VERSION}/${MSVC_RUNTIME_MODE}/${MSVC_CPU}/Debug) + set(FIREBASE_SDK_LIBDIR_RELEASE + ${FIREBASE_CPP_SDK_DIR}/libs/windows/${MSVC_VS_VERSION}/${MSVC_RUNTIME_MODE}/${MSVC_CPU}/Release) else() # The Firebase libraries are not built with glibcxx11, so disable the ABI. set(DISABLE_CXX11 TRUE) @@ -60,10 +57,22 @@ function(add_firebase_target TARGET_NAME) set(LIBRARY_NAME "lib${TARGET_NAME}.a") endif() add_library(${TARGET_NAME} STATIC IMPORTED GLOBAL) - set_target_properties(${TARGET_NAME} PROPERTIES - IMPORTED_LOCATION "${FIREBASE_SDK_LIBDIR}/${LIBRARY_NAME}" - INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_LIST_DIR}/include" - ) + if(MSVC) + set_target_properties(${TARGET_NAME} PROPERTIES + IMPORTED_LOCATION_DEBUG "${FIREBASE_SDK_LIBDIR_DEBUG}/${LIBRARY_NAME}" + IMPORTED_LOCATION_RELEASE "${FIREBASE_SDK_LIBDIR_RELEASE}/${LIBRARY_NAME}" + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_LIST_DIR}/include" + ) + set_target_properties(${TARGET_NAME} PROPERTIES + MAP_IMPORTED_CONFIG_MINSIZEREL Release + MAP_IMPORTED_CONFIG_RELWITHDEBINFO Release + ) + else() + set_target_properties(${TARGET_NAME} PROPERTIES + IMPORTED_LOCATION "${FIREBASE_SDK_LIBDIR}/${LIBRARY_NAME}" + INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_LIST_DIR}/include" + ) + endif() if(${DISABLE_CXX11}) set_target_properties(${TARGET_NAME} PROPERTIES INTERFACE_COMPILE_DEFINITIONS "_GLIBCXX_USE_CXX11_ABI=0"