cmake support: first cut from David Vaz work.i
This commit is contained in:
36
cmake/TestSTDC.cmake
Normal file
36
cmake/TestSTDC.cmake
Normal file
@@ -0,0 +1,36 @@
|
||||
# AC_HEADER_STDC is gross overkill since the current PLplot code only uses
|
||||
# this for whether or not atexit can be used. But implement the full suite
|
||||
# of AC_HEADER_STDC checks to keep the cmake version in synch with autotools
|
||||
# and just in case some PLplot developer assumes the complete check for
|
||||
# standard headers is done for a future programming change.
|
||||
#
|
||||
# From info autoconf....
|
||||
# Define STDC_HEADERS if the system has ANSI C header files.
|
||||
# Specifically, this macro checks for stdlib.h', stdarg.h',
|
||||
# string.h', and float.h'; if the system has those, it probably
|
||||
# has the rest of the ANSI C header files. This macro also checks
|
||||
# whether string.h' declares memchr' (and thus presumably the
|
||||
# other mem' functions), whether stdlib.h' declare free' (and
|
||||
# thus presumably malloc' and other related functions), and whether
|
||||
# the ctype.h' macros work on characters with the high bit set, as
|
||||
# ANSI C requires.
|
||||
|
||||
message(STATUS "Checking whether system has ANSI C header files")
|
||||
check_include_files("stdlib.h;stdarg.h;string.h;float.h" StandardHeadersExist)
|
||||
if(StandardHeadersExist)
|
||||
check_prototype_exists(memchr string.h memchrExists)
|
||||
if(memchrExists)
|
||||
check_prototype_exists(free stdlib.h freeExists)
|
||||
if(freeExists)
|
||||
include(TestForHighBitCharacters)
|
||||
if(CMAKE_HIGH_BIT_CHARACTERS)
|
||||
message(STATUS "ANSI C header files - found")
|
||||
set(STDC_HEADERS 1 CACHE INTERNAL "System has ANSI C header files")
|
||||
endif(CMAKE_HIGH_BIT_CHARACTERS)
|
||||
endif(freeExists)
|
||||
endif(memchrExists)
|
||||
endif(StandardHeadersExist)
|
||||
if(NOT STDC_HEADERS)
|
||||
message(STATUS "ANSI C header files - not found")
|
||||
set(STDC_HEADERS 0 CACHE INTERNAL "System has ANSI C header files")
|
||||
endif(NOT STDC_HEADERS)
|
Reference in New Issue
Block a user