1
cmake_minimum_required(VERSION 2.6.3)
4
set(CMAKE_VERBOSE_MAKEFILE YES)
5
set(CMAKE_BUILD_TYPE RELEASE)
8
SET(USR_FOLDER "C:/DEVEL/UNIX" CACHE PATH "Path to libraries and includes")
9
SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES};${USR_FOLDER}/include)
10
INCLUDE_DIRECTORIES(${USR_FOLDER}/include)
12
find_library(ZLIB_LIBRARY NAMES zlib PATHS ${USR_FOLDER} PATH_SUFFIXES "lib")
14
MESSAGE(FATAL_ERROR "Could not find zlib")
17
find_library(LIBXML2_LIBRARY NAMES libxml2 PATHS ${USR_FOLDER} PATH_SUFFIXES "lib")
18
if (NOT LIBXML2_LIBRARY)
19
MESSAGE(FATAL_ERROR "Could not find LibXML2")
22
find_library(ICONV_LIBRARY NAMES libiconv PATHS ${USR_FOLDER} PATH_SUFFIXES "lib")
23
if (NOT ICONV_LIBRARY)
24
MESSAGE(FATAL_ERROR "Could not find iconv")
27
find_library(ENCA_LIBRARY NAMES libenca PATHS ${USR_FOLDER} PATH_SUFFIXES "lib")
32
find_library(LIBRCD_LIBRARY NAMES rcd PATHS ${USR_FOLDER} PATH_SUFFIXES "lib")
37
find_library(WSOCK_LIBRARY NAMES wsock32)
38
if (NOT WSOCK_LIBRARY)
39
MESSAGE(FATAL_ERROR "Could not find wsock library")
43
MESSAGE(FATAL_ERROR "Windows build only, use autoconf for POSIX-compliant systems")
48
INCLUDE(CheckIncludeFiles)
49
CHECK_INCLUDE_FILES (sys/types.h HAVE_SYS_TYPES_H)
50
CHECK_INCLUDE_FILES (sys/stat.h HAVE_SYS_STAT_H)
51
CHECK_INCLUDE_FILES (sys/file.h HAVE_SYS_FILE_H)
52
CHECK_INCLUDE_FILES (sys/time.h HAVE_SYS_TIME_H)
53
CHECK_INCLUDE_FILES (sys/select.h HAVE_SYS_SELECT_H)
54
CHECK_INCLUDE_FILES (sys/socket.h HAVE_SYS_SOCKET_H)
55
CHECK_INCLUDE_FILES (sys/wait.h HAVE_SYS_WAIT_H)
56
CHECK_INCLUDE_FILES (signal.h HAVE_SIGNAL_H)
57
CHECK_INCLUDE_FILES (sys/un.h HAVE_SYS_UN_H)
58
CHECK_INCLUDE_FILES (unistd.h HAVE_UNISTD_H)
59
CHECK_INCLUDE_FILES (pwd.h HAVE_PWD_H)
60
CHECK_INCLUDE_FILES (dlfcn.h HAVE_DLFCN_H)
61
CHECK_INCLUDE_FILES (fcntl.h HAVE_FCNTL_H)
62
CHECK_INCLUDE_FILES (iconv.h HAVE_ICONV_H)
63
CHECK_INCLUDE_FILES (inttypes.h HAVE_INTTYPES_H)
64
CHECK_INCLUDE_FILES (strings.h HAVE_STRINGS_H)
66
INCLUDE (CheckTypeSize)
67
CHECK_TYPE_SIZE(size_t SIZEOF_SIZE_T)
68
IF(NOT HAVE_SIZEOF_SIZE_T)
69
SET(size_t "unsigned int")
70
ENDIF(NOT HAVE_SIZEOF_SIZE_T)
72
CHECK_TYPE_SIZE(ssize_t SIZEOF_SSIZE_T)
73
IF(NOT HAVE_SIZEOF_SSIZE_T)
74
CHECK_TYPE_SIZE("long" SIZEOF_LONG)
75
CHECK_TYPE_SIZE("__int64" SIZEOF___INT64)
76
IF(SIZEOF_LONG EQUAL SIZEOF_SIZE_T)
78
ENDIF(SIZEOF_LONG EQUAL SIZEOF_SIZE_T)
79
IF(NOT ssize_t AND SIZEOF___INT64 EQUAL SIZEOF_SIZE_T)
81
ENDIF(NOT ssize_t AND SIZEOF___INT64 EQUAL SIZEOF_SIZE_T)
82
ENDIF(NOT HAVE_SIZEOF_SSIZE_T)
84
INCLUDE (CheckFunctionExists)
85
CHECK_FUNCTION_EXISTS(nanosleep HAVE_NANOSLEEP)
86
CHECK_FUNCTION_EXISTS(usleep HAVE_USLEEP)
87
CHECK_FUNCTION_EXISTS(flock HAVE_FLOCK)
88
CHECK_FUNCTION_EXISTS(lockf HAVE_LOCKF)
89
CHECK_FUNCTION_EXISTS(fsync HAVE_FSYNC)
90
CHECK_FUNCTION_EXISTS(strcasecmp HAVE_STRCASECMP)
91
CHECK_FUNCTION_EXISTS(strncasecmp HAVE_STRNCASECMP)
92
CHECK_FUNCTION_EXISTS(ftruncate HAVE_FTRUNCATE)
94
IF(NOT HAVE_STRCASECMP AND WIN32)
95
SET(strcasecmp _stricmp)
96
endif(NOT HAVE_STRCASECMP AND WIN32)
98
IF(NOT HAVE_STRNCASECMP AND WIN32)
99
SET(strncasecmp _strnicmp)
100
endif(NOT HAVE_STRNCASECMP AND WIN32)
102
IF(NOT HAVE_FTRUNCATE AND WIN32)
103
SET(ftruncate _chsize)
104
endif(NOT HAVE_FTRUNCATE AND WIN32)
106
INCLUDE (CheckLibraryExists)
107
INCLUDE (CheckSymbolExists)
109
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h)
111
add_subdirectory(src)
112
add_subdirectory(examples)