aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
blob: eaaf6b080f38d6f9a733c9a8bbf0a6c470a0ef1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
PROJECT(FileSender)

INCLUDE(CheckIncludeFiles)
CHECK_INCLUDE_FILES(sys/sendfile.h HAVE_SYS_SENDFILE_H)

IF(HAVE_SYS_SENDFILE_H)
  ADD_COMPILE_DEFINITIONS(HAVE_SYS_SENDFILE_H)
ENDIF(HAVE_SYS_SENDFILE_H)

INCLUDE(CheckFunctionExists)
CHECK_FUNCTION_EXISTS(sendfile HAVE_SENDFILE)
IF(HAVE_SENDFILE)
  ADD_COMPILE_DEFINITIONS(HAVE_SENDFILE)
ENDIF(HAVE_SENDFILE)

CHECK_FUNCTION_EXISTS(socket HAVE_SOCKET)
IF(NOT HAVE_SOCKET)
  CHECK_LIBRARY_EXISTS(socket socket "" HAVE_SOCKET)
ENDIF(NOT HAVE_SOCKET)

INCLUDE(CheckStructHasMember)
CHECK_STRUCT_HAS_MEMBER("struct sf_hdtr" hdr_cnt sys/socket.h HAVE_STRUCT_SF_HDTR_HDR_CNT)
IF(HAVE_STRUCT_SF_HDTR_HDR_CNT)
  ADD_COMPILE_DEFINITIONS(HAVE_STRUCT_SF_HDTR_HDR_CNT)
ENDIF(HAVE_STRUCT_SF_HDTR_HDR_CNT)

ADD_EXECUTABLE(server server.c utils.c utils.h)
ADD_EXECUTABLE(client client.c utils.c utils.h)