1# 2# Licensed to the Apache Software Foundation (ASF) under one 3# or more contributor license agreements. See the NOTICE file 4# distributed with this work for additional information 5# regarding copyright ownership. The ASF licenses this file 6# to you under the Apache License, Version 2.0 (the 7# "License"); you may not use this file except in compliance 8# with the License. You may obtain a copy of the License at 9# 10# http://www.apache.org/licenses/LICENSE-2.0 11# 12# Unless required by applicable law or agreed to in writing, 13# software distributed under the License is distributed on an 14# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15# KIND, either express or implied. See the License for the 16# specific language governing permissions and limitations 17# under the License. 18# 19 20include(CheckFunctionExists) 21include(CheckIncludeFile) 22include(CheckIncludeFiles) 23include(CheckSymbolExists) 24 25if (Inttypes_FOUND) 26 # This allows the inttypes.h and stdint.h checks to succeed on platforms that 27 # do not natively provide there. 28 set (CMAKE_REQUIRED_INCLUDES ${INTTYPES_INCLUDE_DIRS}) 29endif () 30 31check_include_file(arpa/inet.h HAVE_ARPA_INET_H) 32check_include_file(fcntl.h HAVE_FCNTL_H) 33check_include_file(getopt.h HAVE_GETOPT_H) 34check_include_file(inttypes.h HAVE_INTTYPES_H) 35check_include_file(netdb.h HAVE_NETDB_H) 36check_include_file(netinet/in.h HAVE_NETINET_IN_H) 37check_include_file(signal.h HAVE_SIGNAL_H) 38check_include_file(stdint.h HAVE_STDINT_H) 39check_include_file(unistd.h HAVE_UNISTD_H) 40check_include_file(pthread.h HAVE_PTHREAD_H) 41check_include_file(sys/ioctl.h HAVE_SYS_IOCTL_H) 42check_include_file(sys/param.h HAVE_SYS_PARAM_H) 43check_include_file(sys/resource.h HAVE_SYS_RESOURCE_H) 44check_include_file(sys/socket.h HAVE_SYS_SOCKET_H) 45check_include_file(sys/stat.h HAVE_SYS_STAT_H) 46check_include_file(sys/time.h HAVE_SYS_TIME_H) 47check_include_file(sys/un.h HAVE_SYS_UN_H) 48check_include_file(poll.h HAVE_POLL_H) 49check_include_file(sys/poll.h HAVE_SYS_POLL_H) 50check_include_file(sys/select.h HAVE_SYS_SELECT_H) 51check_include_file(sched.h HAVE_SCHED_H) 52check_include_file(string.h HAVE_STRING_H) 53check_include_file(strings.h HAVE_STRINGS_H) 54 55check_function_exists(gethostbyname HAVE_GETHOSTBYNAME) 56check_function_exists(gethostbyname_r HAVE_GETHOSTBYNAME_R) 57check_function_exists(strerror_r HAVE_STRERROR_R) 58check_function_exists(sched_get_priority_max HAVE_SCHED_GET_PRIORITY_MAX) 59check_function_exists(sched_get_priority_min HAVE_SCHED_GET_PRIORITY_MIN) 60 61include(CheckCSourceCompiles) 62include(CheckCXXSourceCompiles) 63 64check_cxx_source_compiles( 65 " 66 #include <string.h> 67 int main(){char b;char *a = strerror_r(0, &b, 0); static_cast<void>(a); return(0);} 68 " 69 STRERROR_R_CHAR_P) 70 71 72set(PACKAGE ${PACKAGE_NAME}) 73set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}") 74set(VERSION ${thrift_VERSION}) 75 76# generate a config.h file 77configure_file("${CMAKE_CURRENT_SOURCE_DIR}/build/cmake/config.h.in" "${CMAKE_CURRENT_BINARY_DIR}/thrift/config.h") 78 79include_directories("${CMAKE_CURRENT_BINARY_DIR}") 80