37 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| 
								 | 
							
								# 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)
							 |