Commit 6348ea9d authored by Andreas Schuh's avatar Andreas Schuh

fix: Check HAVE_STDINT_H or HAVE_INTTYPES_H for older MSVC versions

parent 3d5bc48d
...@@ -224,12 +224,22 @@ endif () ...@@ -224,12 +224,22 @@ endif ()
if (MSVC) if (MSVC)
set (HAVE_SYS_TYPES_H 1) set (HAVE_SYS_TYPES_H 1)
set (HAVE_STDINT_H 1)
set (HAVE_STDDEF_H 1) # used by CheckTypeSize module set (HAVE_STDDEF_H 1) # used by CheckTypeSize module
set (HAVE_INTTYPES_H 0)
set (HAVE_UNISTD_H 0) set (HAVE_UNISTD_H 0)
set (HAVE_SYS_STAT_H 1) set (HAVE_SYS_STAT_H 1)
set (HAVE_SHLWAPI_H 1) set (HAVE_SHLWAPI_H 1)
if (MSVC_VERSION VERSION_LESS 1600)
check_include_file_cxx ("stdint.h" HAVE_STDINT_H)
bool_to_int (HAVE_STDINT_H) # used in #if directive
else ()
set (HAVE_STDINT_H 1)
endif ()
if (MSVC_VERSION VERSION_LESS 1800)
check_include_file_cxx ("inttypes.h" HAVE_INTTYPES_H)
bool_to_int (HAVE_INTTYPES_H) # used in #if directive
else ()
set (HAVE_INTTYPES_H 1)
endif ()
else () else ()
foreach (fname IN ITEMS unistd stdint inttypes sys/types sys/stat fnmatch) foreach (fname IN ITEMS unistd stdint inttypes sys/types sys/stat fnmatch)
string (TOUPPER "${fname}" FNAME) string (TOUPPER "${fname}" FNAME)
...@@ -238,13 +248,13 @@ else () ...@@ -238,13 +248,13 @@ else ()
check_include_file_cxx ("${fname}.h" HAVE_${FNAME}_H) check_include_file_cxx ("${fname}.h" HAVE_${FNAME}_H)
endif () endif ()
endforeach () endforeach ()
if (NOT HAVE_FNMATCH_H AND OS_WINDOWS)
check_include_file_cxx ("shlwapi.h" HAVE_SHLWAPI_H)
endif ()
# the following are used in #if directives not #ifdef # the following are used in #if directives not #ifdef
bool_to_int (HAVE_STDINT_H) bool_to_int (HAVE_STDINT_H)
bool_to_int (HAVE_SYS_TYPES_H) bool_to_int (HAVE_SYS_TYPES_H)
bool_to_int (HAVE_INTTYPES_H) bool_to_int (HAVE_INTTYPES_H)
if (NOT HAVE_FNMATCH_H AND OS_WINDOWS)
check_include_file_cxx ("shlwapi.h" HAVE_SHLWAPI_H)
endif ()
endif () endif ()
gflags_define (STRING INTTYPES_FORMAT "Format of integer types: \"C99\" (uint32_t), \"BSD\" (u_int32_t), \"VC7\" (__int32)" "") gflags_define (STRING INTTYPES_FORMAT "Format of integer types: \"C99\" (uint32_t), \"BSD\" (u_int32_t), \"VC7\" (__int32)" "")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment