BUG: Fix issue #7533. Revise fix for issue #7058 to use pragma comment libs in the source file rather than using TARGET_LINK_LIBRARIES in CMakeLists.txt because of the complex ifdef logic used in correct copies of comdef.h.
This commit is contained in:
parent
25a5c34a62
commit
fdb0c8758a
@ -302,19 +302,6 @@ IF(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
|
|||||||
TARGET_LINK_LIBRARIES(CMakeLib rpcrt4)
|
TARGET_LINK_LIBRARIES(CMakeLib rpcrt4)
|
||||||
ENDIF(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
|
ENDIF(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
|
||||||
|
|
||||||
# With the Microsoft compiler (for _bstr_t support used from
|
|
||||||
# cmCallVisualStudioMacro) we need the comsupp lib. Needed when
|
|
||||||
# _MSC_VER and HAVE_COMDEF_H are defined...
|
|
||||||
#
|
|
||||||
IF(MSVC)
|
|
||||||
IF(MSVC60)
|
|
||||||
# comsuppd did not yet exist in VS6
|
|
||||||
TARGET_LINK_LIBRARIES(CMakeLib comsupp)
|
|
||||||
ELSE(MSVC60)
|
|
||||||
TARGET_LINK_LIBRARIES(CMakeLib optimized comsupp debug comsuppd)
|
|
||||||
ENDIF(MSVC60)
|
|
||||||
ENDIF(MSVC)
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# CTestLib
|
# CTestLib
|
||||||
#
|
#
|
||||||
|
@ -35,6 +35,31 @@ static bool LogErrorsAsMessages;
|
|||||||
#include <comdef.h>
|
#include <comdef.h>
|
||||||
|
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
// Copied from a correct comdef.h to avoid problems with deficient versions
|
||||||
|
// of comdef.h that exist in the wild... Fixes issue #7533.
|
||||||
|
//
|
||||||
|
#if ( _MSC_VER >= 1300 )
|
||||||
|
// VS7 and later:
|
||||||
|
#ifdef _NATIVE_WCHAR_T_DEFINED
|
||||||
|
# ifdef _DEBUG
|
||||||
|
# pragma comment(lib, "comsuppwd.lib")
|
||||||
|
# else
|
||||||
|
# pragma comment(lib, "comsuppw.lib")
|
||||||
|
# endif
|
||||||
|
#else
|
||||||
|
# ifdef _DEBUG
|
||||||
|
# pragma comment(lib, "comsuppd.lib")
|
||||||
|
# else
|
||||||
|
# pragma comment(lib, "comsupp.lib")
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
// VS6 only had comsupp.lib:
|
||||||
|
# pragma comment(lib, "comsupp.lib")
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
///! Use ReportHRESULT to make a cmSystemTools::Message after calling
|
///! Use ReportHRESULT to make a cmSystemTools::Message after calling
|
||||||
///! a COM method that may have failed.
|
///! a COM method that may have failed.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user