74 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
| #Checks for all the C system headers found in all the files
 | |
| 
 | |
| include(CheckFunctionExists)
 | |
| include(CheckLibraryExists)
 | |
| include(CheckIncludeFiles)
 | |
| include(CheckCXXSourceCompiles)
 | |
| 
 | |
| # Check for libraries MaxScale depends on
 | |
| find_library(HAVE_LIBSSL NAMES ssl)
 | |
| if(NOT HAVE_LIBSSL)
 | |
|   message(FATAL_ERROR "Could not find libssl")
 | |
| endif()
 | |
| 
 | |
| find_library(HAVE_LIBCRYPT NAMES crypt)
 | |
| if(NOT HAVE_LIBCRYPT)
 | |
|   message(FATAL_ERROR "Could not find libcrypt")
 | |
| endif()
 | |
| 
 | |
| find_library(HAVE_LIBCRYPTO NAMES crypto)
 | |
| if(NOT HAVE_LIBCRYPTO)
 | |
|   message(FATAL_ERROR "Could not find libcrypto")
 | |
| endif()
 | |
| 
 | |
| find_library(HAVE_LIBZ NAMES z)
 | |
| if(NOT HAVE_LIBZ)
 | |
|   message(FATAL_ERROR "Could not find libz")
 | |
| endif()
 | |
| 
 | |
| find_library(HAVE_LIBM NAMES m)
 | |
| if(NOT HAVE_LIBM)
 | |
|   message(FATAL_ERROR "Could not find libm")
 | |
| endif()
 | |
| 
 | |
| find_library(HAVE_LIBRT NAMES rt)
 | |
| if(NOT HAVE_LIBRT)
 | |
|   message(FATAL_ERROR "Could not find librt")
 | |
| endif()
 | |
| 
 | |
| find_library(HAVE_LIBPTHREAD NAMES pthread)
 | |
| if(NOT HAVE_LIBPTHREAD)
 | |
|   message(FATAL_ERROR "Could not find libpthread")
 | |
| endif()
 | |
| 
 | |
| # run "ps -p 1 | grep systemd" to determine if this system uses systemd
 | |
| execute_process(
 | |
|     COMMAND "ps" "-p" "1"
 | |
|     COMMAND "grep" "systemd"
 | |
|     RESULT_VARIABLE NOT_SYSTEMD_IS_RUNNING
 | |
|     OUTPUT_VARIABLE PS_OUTPUT)
 | |
| 
 | |
| find_library(HAVE_SYSTEMD NAMES systemd)
 | |
| if(HAVE_SYSTEMD)
 | |
|     add_definitions(-DHAVE_SYSTEMD=1)
 | |
| elseif(NOT BUILD_SYSTEM_TESTS)
 | |
|     # If systemd is in use, require libsystemd-dev to be installed
 | |
|     if(NOT NOT_SYSTEMD_IS_RUNNING)
 | |
|         message(FATAL_ERROR "systemd is running: please install libsystemd-dev (DEB) or systemd-devel (RPM)")
 | |
|     endif()
 | |
| endif()
 | |
| 
 | |
| # The XSI version of strerror_r return an int and the GNU version a char*
 | |
| check_cxx_source_compiles("
 | |
|   #define _GNU_SOURCE 1
 | |
|   #include <string.h>\n
 | |
|   int main(){\n
 | |
|       char errbuf[200];\n
 | |
|       return strerror_r(13, errbuf, sizeof(errbuf)) == errbuf;\n
 | |
|   }\n"
 | |
|   HAVE_GLIBC)
 | |
| 
 | |
| if(HAVE_GLIBC)
 | |
|   add_definitions(-DHAVE_GLIBC=1)
 | |
| endif()
 | 
