|
|
@ -71,11 +71,14 @@ SET(WINSDKENV_DIR $ENV{WINSDK_DIR})
|
|
|
|
MACRO(FIND_WINSDK_VERSION_HEADERS)
|
|
|
|
MACRO(FIND_WINSDK_VERSION_HEADERS)
|
|
|
|
IF(WINSDK_DIR AND NOT WINSDK_VERSION)
|
|
|
|
IF(WINSDK_DIR AND NOT WINSDK_VERSION)
|
|
|
|
# Search version in headers
|
|
|
|
# Search version in headers
|
|
|
|
IF(EXISTS ${WINSDK_DIR}/include/Msi.h)
|
|
|
|
FIND_FILE(_MSI_FILE Msi.h
|
|
|
|
SET(_MSI_FILE ${WINSDK_DIR}/include/Msi.h)
|
|
|
|
PATHS
|
|
|
|
ENDIF(EXISTS ${WINSDK_DIR}/include/Msi.h)
|
|
|
|
${WINSDK_DIR}/Include/um
|
|
|
|
|
|
|
|
${WINSDK_DIR}/Include
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
IF(_MSI_FILE)
|
|
|
|
IF(_MSI_FILE)
|
|
|
|
|
|
|
|
|
|
|
|
# Look for Windows SDK 8.0
|
|
|
|
# Look for Windows SDK 8.0
|
|
|
|
FILE(STRINGS ${_MSI_FILE} _CONTENT REGEX "^#ifndef NTDDI_WIN8")
|
|
|
|
FILE(STRINGS ${_MSI_FILE} _CONTENT REGEX "^#ifndef NTDDI_WIN8")
|
|
|
|
|
|
|
|
|
|
|
@ -88,11 +91,11 @@ MACRO(FIND_WINSDK_VERSION_HEADERS)
|
|
|
|
FILE(STRINGS ${_MSI_FILE} _CONTENT REGEX "^#ifndef NTDDI_WIN7")
|
|
|
|
FILE(STRINGS ${_MSI_FILE} _CONTENT REGEX "^#ifndef NTDDI_WIN7")
|
|
|
|
|
|
|
|
|
|
|
|
IF(_CONTENT)
|
|
|
|
IF(_CONTENT)
|
|
|
|
IF(EXISTS ${WINSDK_DIR}/include/winsdkver.h)
|
|
|
|
FIND_FILE(_WINSDKVER_FILE winsdkver.h WinSDKVer.h
|
|
|
|
SET(_WINSDKVER_FILE ${WINSDK_DIR}/include/winsdkver.h)
|
|
|
|
PATHS
|
|
|
|
ELSEIF(EXISTS ${WINSDK_DIR}/include/WinSDKVer.h)
|
|
|
|
${WINSDK_DIR}/Include/um
|
|
|
|
SET(_WINSDKVER_FILE ${WINSDK_DIR}/include/WinSDKVer.h)
|
|
|
|
${WINSDK_DIR}/Include
|
|
|
|
ENDIF(EXISTS ${WINSDK_DIR}/include/winsdkver.h)
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
IF(_WINSDKVER_FILE)
|
|
|
|
IF(_WINSDKVER_FILE)
|
|
|
|
# Load WinSDKVer.h content
|
|
|
|
# Load WinSDKVer.h content
|
|
|
@ -162,9 +165,13 @@ MACRO(USE_CURRENT_WINSDK)
|
|
|
|
SET(WINSDK_VERSION_FULL "")
|
|
|
|
SET(WINSDK_VERSION_FULL "")
|
|
|
|
|
|
|
|
|
|
|
|
# Use WINSDK environment variable
|
|
|
|
# Use WINSDK environment variable
|
|
|
|
IF(WINSDKENV_DIR AND EXISTS ${WINSDKENV_DIR}/include/Windows.h)
|
|
|
|
IF(WINSDKENV_DIR)
|
|
|
|
SET(WINSDK_DIR ${WINSDKENV_DIR})
|
|
|
|
FIND_PATH(WINSDK_DIR Windows.h
|
|
|
|
ENDIF(WINSDKENV_DIR AND EXISTS ${WINSDKENV_DIR}/include/Windows.h)
|
|
|
|
HINTS
|
|
|
|
|
|
|
|
${WINSDKENV_DIR}/Include/um
|
|
|
|
|
|
|
|
${WINSDKENV_DIR}/Include
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
ENDIF(WINSDKENV_DIR)
|
|
|
|
|
|
|
|
|
|
|
|
# Use INCLUDE environment variable
|
|
|
|
# Use INCLUDE environment variable
|
|
|
|
IF(NOT WINSDK_DIR AND WINSDKCURRENT_VERSION_INCLUDE)
|
|
|
|
IF(NOT WINSDK_DIR AND WINSDKCURRENT_VERSION_INCLUDE)
|
|
|
@ -173,8 +180,8 @@ MACRO(USE_CURRENT_WINSDK)
|
|
|
|
|
|
|
|
|
|
|
|
# Look for Windows.h because there are several paths
|
|
|
|
# Look for Windows.h because there are several paths
|
|
|
|
IF(EXISTS ${_INCLUDE}/Windows.h)
|
|
|
|
IF(EXISTS ${_INCLUDE}/Windows.h)
|
|
|
|
STRING(REGEX REPLACE "/(include|INCLUDE|Include)" "" WINSDK_DIR ${_INCLUDE})
|
|
|
|
STRING(REGEX REPLACE "/(include|INCLUDE|Include)(.*)" "" WINSDK_DIR ${_INCLUDE})
|
|
|
|
MESSAGE(STATUS "Found Windows SDK environment variable in ${WINSDK_DIR}")
|
|
|
|
MESSAGE(STATUS "Found Windows SDK from include environment variable in ${WINSDK_DIR}")
|
|
|
|
BREAK()
|
|
|
|
BREAK()
|
|
|
|
ENDIF(EXISTS ${_INCLUDE}/Windows.h)
|
|
|
|
ENDIF(EXISTS ${_INCLUDE}/Windows.h)
|
|
|
|
ENDFOREACH(_INCLUDE)
|
|
|
|
ENDFOREACH(_INCLUDE)
|
|
|
|