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)
|
||||
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
|
||||
#
|
||||
|
|
|
@ -35,6 +35,31 @@ static bool LogErrorsAsMessages;
|
|||
#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
|
||||
///! a COM method that may have failed.
|
||||
|
|
Loading…
Reference in New Issue