Define HAVE_DIA_SDK on Windows when DIA is present.

This allows all CMake projects, as well as C++ code, to detect if
and when DIA SDK is available for use so that we can enable the
DIA-based PDB reader implementation.

Differential Revision: http://reviews.llvm.org/D7457
Reviewed By: Chandler Carruth

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@228669 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Zachary Turner 2015-02-10 05:04:25 +00:00
parent 3c5236ae68
commit e20fe230bd
3 changed files with 22 additions and 0 deletions

View File

@ -429,6 +429,22 @@ if( MSVC )
set(SHLIBEXT ".lib") set(SHLIBEXT ".lib")
set(stricmp "_stricmp") set(stricmp "_stricmp")
set(strdup "_strdup") set(strdup "_strdup")
# See if the DIA SDK is available and usable.
set(MSVC_DIA_SDK_DIR "$ENV{VSINSTALLDIR}DIA SDK")
# Due to a bug in MSVC 2013's installation software, it is possible
# for MSVC 2013 to write the DIA SDK into the Visual Studio 2012
# install directory. If this happens, the installation is corrupt
# and there's nothing we can do. It happens with enough frequency
# though that we should handle it. We do so by simply checking that
# the DIA SDK folder exists. Should this happen you will need to
# uninstall VS 2012 and then re-install VS 2013.
if (IS_DIRECTORY ${MSVC_DIA_SDK_DIR})
set(HAVE_DIA_SDK 1)
else()
set(HAVE_DIA_SDK 0)
endif()
endif( MSVC ) endif( MSVC )
if( PURE_WINDOWS ) if( PURE_WINDOWS )

View File

@ -55,6 +55,9 @@
don't. */ don't. */
#cmakedefine01 HAVE_DECL_STRERROR_S #cmakedefine01 HAVE_DECL_STRERROR_S
/* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */
#cmakedefine HAVE_DIA_SDK ${HAVE_DIA_SDK}
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/ */
#cmakedefine HAVE_DIRENT_H ${HAVE_DIRENT_H} #cmakedefine HAVE_DIRENT_H ${HAVE_DIRENT_H}

View File

@ -67,6 +67,9 @@
don't. */ don't. */
#undef HAVE_DECL_STRERROR_S #undef HAVE_DECL_STRERROR_S
/* Define to 1 if you have the DIA SDK installed, and to 0 if you don't. */
#undef HAVE_DIA_SDK
/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. /* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
*/ */
#undef HAVE_DIRENT_H #undef HAVE_DIRENT_H