aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2022-11-06 13:18:47 +0200
committerIgor Pashev <pashev.igor@gmail.com>2022-11-06 22:33:19 +0200
commit1edc8b0525af34ad1030213a90086cd941056b8a (patch)
tree520bb986376af88e4df5dcb6dd167df597f3f538 /CMakeLists.txt
parentd1a20f427a13bdeaaa84f51095f3e92767bed388 (diff)
downloadtcp-1edc8b0525af34ad1030213a90086cd941056b8a.tar.gz
Support FreeBSD
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt33
1 files changed, 24 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 37185b2..eaaf6b0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,14 +1,29 @@
-CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
-PROJECT (FileSender)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
+PROJECT(FileSender)
-INCLUDE (CheckIncludeFiles)
-CHECK_INCLUDE_FILES (sys/sendfile.h HAVE_SYS_SENDFILE_H)
+INCLUDE(CheckIncludeFiles)
+CHECK_INCLUDE_FILES(sys/sendfile.h HAVE_SYS_SENDFILE_H)
-INCLUDE (CheckFunctionExists)
-CHECK_FUNCTION_EXISTS (socket HAVE_SOCKET)
+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)
+ CHECK_LIBRARY_EXISTS(socket socket "" HAVE_SOCKET)
ENDIF(NOT HAVE_SOCKET)
-ADD_EXECUTABLE (server server.c utils.c utils.h)
-ADD_EXECUTABLE (client client.c utils.c utils.h)
+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)