| 1 | INCLUDE(CheckIncludeFiles) |
|---|
| 2 | INCLUDE(CheckFunctionExists) |
|---|
| 3 | INCLUDE(CheckVariableExists) |
|---|
| 4 | INCLUDE(CheckTypeSize) |
|---|
| 5 | INCLUDE(CheckLibraryExists) |
|---|
| 6 | INCLUDE(CMakeDetermineCCompiler) |
|---|
| 7 | INCLUDE(FindThreads) |
|---|
| 8 | INCLUDE(CPack) |
|---|
| 9 | INCLUDE(UsePkgConfig) |
|---|
| 10 | |
|---|
| 11 | INCLUDE(LighttpdMacros) |
|---|
| 12 | |
|---|
| 13 | ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES) |
|---|
| 14 | |
|---|
| 15 | OPTION(WITH_XATTR "with xattr-support for the stat-cache [default: off]") |
|---|
| 16 | OPTION(WITH_MYSQL "with mysql-support for the mod_sql_vhost [default: off]") |
|---|
| 17 | OPTION(WITH_POSTGRESQL "with postgress-support for the mod_sql_vhost [default: off]") |
|---|
| 18 | OPTION(WITH_OPENSSL "with openssl-support [default: off]") |
|---|
| 19 | OPTION(WITH_PCRE "with regex support [default: on]" ON) |
|---|
| 20 | OPTION(WITH_WEBDAV_PROPS "with property-support for mod_webdav [default: off]") |
|---|
| 21 | OPTION(WITH_BZIP "with bzip2-support for mod_compress [default: off]") |
|---|
| 22 | OPTION(WITH_ZLIB "with deflate-support for mod_compress [default: on]" ON) |
|---|
| 23 | OPTION(WITH_LDAP "with LDAP-support for the mod_auth [default: off]") |
|---|
| 24 | OPTION(WITH_LIBAIO "with libaio for the linux [default: off]") |
|---|
| 25 | OPTION(WITH_LIBFCGI "with libfcgi for fcgi-stat-accel [default: off]") |
|---|
| 26 | OPTION(WITH_LUA "with lua 5.1 for mod_magnet [default: off]") |
|---|
| 27 | OPTION(WITH_GLIB "with glib support for internal caches [default: on]" ON) |
|---|
| 28 | OPTION(BUILD_STATIC "build a static lighttpd with all modules added") |
|---|
| 29 | IF(BUILD_STATIC) |
|---|
| 30 | SET(LIGHTTPD_STATIC 1) |
|---|
| 31 | ELSE(BUILD_STATIC) |
|---|
| 32 | SET(CMAKE_SHARED_LIBRARY_PREFIX "") |
|---|
| 33 | ENDIF(BUILD_STATIC) |
|---|
| 34 | |
|---|
| 35 | IF(WITH_WEBDAV_PROPS) |
|---|
| 36 | SET(WITH_XML 1) |
|---|
| 37 | SET(WITH_SQLITE3 1) |
|---|
| 38 | SET(WITH_UUID 1) |
|---|
| 39 | ENDIF(WITH_WEBDAV_PROPS) |
|---|
| 40 | |
|---|
| 41 | CHECK_INCLUDE_FILES(sys/devpoll.h HAVE_SYS_DEVPOLL_H) |
|---|
| 42 | CHECK_INCLUDE_FILES(sys/epoll.h HAVE_SYS_EPOLL_H) |
|---|
| 43 | CHECK_INCLUDE_FILES(sys/event.h HAVE_SYS_EVENT_H) |
|---|
| 44 | CHECK_INCLUDE_FILES(sys/mman.h HAVE_SYS_MMAN_H) |
|---|
| 45 | CHECK_INCLUDE_FILES(sys/poll.h HAVE_SYS_POLL_H) |
|---|
| 46 | CHECK_INCLUDE_FILES(sys/port.h HAVE_SYS_PORT_H) |
|---|
| 47 | CHECK_INCLUDE_FILES(sys/prctl.h HAVE_SYS_PRCTL_H) |
|---|
| 48 | CHECK_INCLUDE_FILES(sys/resource.h HAVE_SYS_RESOURCE_H) |
|---|
| 49 | CHECK_INCLUDE_FILES(sys/sendfile.h HAVE_SYS_SENDFILE_H) |
|---|
| 50 | CHECK_INCLUDE_FILES(sys/select.h HAVE_SYS_SELECT_H) |
|---|
| 51 | CHECK_INCLUDE_FILES(sys/syslimits.h HAVE_SYS_SYSLIMITS_H) |
|---|
| 52 | CHECK_INCLUDE_FILES(sys/types.h HAVE_SYS_TYPES_H) |
|---|
| 53 | CHECK_INCLUDE_FILES(sys/uio.h HAVE_SYS_UIO_H) |
|---|
| 54 | CHECK_INCLUDE_FILES(sys/un.h HAVE_SYS_UN_H) |
|---|
| 55 | CHECK_INCLUDE_FILES(sys/wait.h HAVE_SYS_WAIT_H) |
|---|
| 56 | CHECK_INCLUDE_FILES(sys/time.h HAVE_SYS_TIME_H) |
|---|
| 57 | CHECK_INCLUDE_FILES(time.h HAVE_TIME_H) |
|---|
| 58 | CHECK_INCLUDE_FILES(unistd.h HAVE_UNISTD_H) |
|---|
| 59 | CHECK_INCLUDE_FILES(pthread.h HAVE_PTHREAD_H) |
|---|
| 60 | |
|---|
| 61 | |
|---|
| 62 | ## refactor me |
|---|
| 63 | MACRO(XCONFIG _package _include_DIR _link_DIR _link_FLAGS _cflags) |
|---|
| 64 | # reset the variables at the beginning |
|---|
| 65 | SET(${_include_DIR}) |
|---|
| 66 | SET(${_link_DIR}) |
|---|
| 67 | SET(${_link_FLAGS}) |
|---|
| 68 | SET(${_cflags}) |
|---|
| 69 | |
|---|
| 70 | FIND_PROGRAM(${_package}CONFIG_EXECUTABLE NAMES ${_package} PATHS /usr/local/bin ) |
|---|
| 71 | |
|---|
| 72 | # if pkg-config has been found |
|---|
| 73 | IF(${_package}CONFIG_EXECUTABLE) |
|---|
| 74 | SET(XCONFIG_EXECUTABLE "${${_package}CONFIG_EXECUTABLE}") |
|---|
| 75 | MESSAGE(STATUS "found ${_package}: ${XCONFIG_EXECUTABLE}") |
|---|
| 76 | |
|---|
| 77 | EXEC_PROGRAM(${XCONFIG_EXECUTABLE} ARGS --libs OUTPUT_VARIABLE __link_FLAGS) |
|---|
| 78 | STRING(REPLACE "\n" "" ${_link_FLAGS} ${__link_FLAGS}) |
|---|
| 79 | EXEC_PROGRAM(${XCONFIG_EXECUTABLE} ARGS --cflags OUTPUT_VARIABLE __cflags) |
|---|
| 80 | STRING(REPLACE "\n" "" ${_cflags} ${__cflags}) |
|---|
| 81 | |
|---|
| 82 | ELSE(${_package}CONFIG_EXECUTABLE) |
|---|
| 83 | MESSAGE(STATUS "found ${_package}: no") |
|---|
| 84 | ENDIF(${_package}CONFIG_EXECUTABLE) |
|---|
| 85 | ENDMACRO(XCONFIG _package _include_DIR _link_DIR _link_FLAGS _cflags) |
|---|
| 86 | |
|---|
| 87 | ##INCLUDE_DIRECTORIES(${GTHREAD_INCDIR}) |
|---|
| 88 | ADD_DEFINITIONS(${GTHREAD_CFLAGS}) |
|---|
| 89 | |
|---|
| 90 | IF(WITH_XATTR) |
|---|
| 91 | CHECK_INCLUDE_FILES(attr/attributes.h HAVE_ATTR_ATTRIBUTES_H) |
|---|
| 92 | ENDIF(WITH_XATTR) |
|---|
| 93 | |
|---|
| 94 | IF(WITH_MYSQL) |
|---|
| 95 | XCONFIG(mysql_config MYSQL_INCDIR MYSQL_LIBDIR MYSQL_LDFLAGS MYSQL_CFLAGS) |
|---|
| 96 | |
|---|
| 97 | SET(CMAKE_REQUIRED_INCLUDES /usr/include/mysql) |
|---|
| 98 | CHECK_INCLUDE_FILES(mysql.h HAVE_MYSQL_H) |
|---|
| 99 | SET(CMAKE_REQUIRED_INCLUDES) |
|---|
| 100 | IF(HAVE_MYSQL_H) |
|---|
| 101 | CHECK_LIBRARY_EXISTS(mysqlclient mysql_real_connect "" HAVE_LIBMYSQL) |
|---|
| 102 | ENDIF(HAVE_MYSQL_H) |
|---|
| 103 | ENDIF(WITH_MYSQL) |
|---|
| 104 | |
|---|
| 105 | IF(WITH_POSTGRESQL) |
|---|
| 106 | SET(CMAKE_REQUIRED_INCLUDES /usr/include/pgsql) |
|---|
| 107 | CHECK_INCLUDE_FILES(libpq-fe.h HAVE_LIBPQ_FE_H) |
|---|
| 108 | SET(CMAKE_REQUIRED_INCLUDES) |
|---|
| 109 | IF(HAVE_LIBPG_FE_H) |
|---|
| 110 | CHECK_LIBRARY_EXISTS(pq PQconnectdb "" HAVE_LIBPQ) |
|---|
| 111 | ENDIF(HAVE_LIBPG_FE_H) |
|---|
| 112 | ENDIF(WITH_POSTGRESQL) |
|---|
| 113 | |
|---|
| 114 | IF(WITH_OPENSSL) |
|---|
| 115 | CHECK_INCLUDE_FILES(openssl/ssl.h HAVE_OPENSSL_SSL_H) |
|---|
| 116 | IF(HAVE_OPENSSL_SSL_H) |
|---|
| 117 | CHECK_LIBRARY_EXISTS(crypto BIO_f_base64 "" HAVE_LIBCRYPTO) |
|---|
| 118 | IF(HAVE_LIBCRYPTO) |
|---|
| 119 | SET(OPENSSL_NO_KRB5 1) |
|---|
| 120 | CHECK_LIBRARY_EXISTS(ssl SSL_new "" HAVE_LIBSSL) |
|---|
| 121 | ENDIF(HAVE_LIBCRYPTO) |
|---|
| 122 | ENDIF(HAVE_OPENSSL_SSL_H) |
|---|
| 123 | ENDIF(WITH_OPENSSL) |
|---|
| 124 | |
|---|
| 125 | CHECK_INCLUDE_FILES(aio.h HAVE_AIO_H) |
|---|
| 126 | IF(WITH_BZIP) |
|---|
| 127 | CHECK_INCLUDE_FILES(bzlib.h HAVE_BZLIB_H) |
|---|
| 128 | CHECK_LIBRARY_EXISTS(bz2 BZ2_bzCompressInit "" HAVE_LIBBZ2) |
|---|
| 129 | ENDIF(WITH_BZIP) |
|---|
| 130 | |
|---|
| 131 | CHECK_INCLUDE_FILES(getopt.h HAVE_GETOPT_H) |
|---|
| 132 | CHECK_INCLUDE_FILES(inttypes.h HAVE_INTTYPES_H) |
|---|
| 133 | IF(WITH_LDAP) |
|---|
| 134 | CHECK_INCLUDE_FILES(ldap.h HAVE_LDAP_H) |
|---|
| 135 | CHECK_LIBRARY_EXISTS(ldap ldap_open "" HAVE_LIBLDAP) |
|---|
| 136 | ENDIF(WITH_LDAP) |
|---|
| 137 | |
|---|
| 138 | IF(WITH_LIBAIO) |
|---|
| 139 | CHECK_INCLUDE_FILES(libaio.h HAVE_LIBAIO_H) |
|---|
| 140 | CHECK_LIBRARY_EXISTS(aio io_getevents "" HAVE_LIBAIO) |
|---|
| 141 | ENDIF(WITH_LIBAIO) |
|---|
| 142 | |
|---|
| 143 | IF(WITH_XML) |
|---|
| 144 | XCONFIG(xml2-config XML2_INCDIR XML2_LIBDIR XML2_LDFLAGS XML2_CFLAGS) |
|---|
| 145 | IF(XML2_LDFLAGS OR XML2_CFLAGS) |
|---|
| 146 | MESSAGE(STATUS "found xml2 at: LDFLAGS: ${XML2_LDFLAGS} CFLAGS: ${XML2_CFLAGS}") |
|---|
| 147 | |
|---|
| 148 | ## if it is empty we'll get newline returned |
|---|
| 149 | SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${XML2_CFLAGS}") |
|---|
| 150 | |
|---|
| 151 | CHECK_INCLUDE_FILES(libxml/tree.h HAVE_LIBXML_H) |
|---|
| 152 | |
|---|
| 153 | SET(CMAKE_REQUIRED_FLAGS ${XML2_LDFLAGS}) |
|---|
| 154 | CHECK_LIBRARY_EXISTS(xml2 xmlParseChunk "" HAVE_LIBXML) |
|---|
| 155 | SET(CMAKE_REQUIRED_FLAGS) |
|---|
| 156 | ELSE(XML2_LDFLAGS OR XML2_CFLAGS) |
|---|
| 157 | CHECK_INCLUDE_FILES(libxml.h HAVE_LIBXML_H) |
|---|
| 158 | CHECK_LIBRARY_EXISTS(xml2 xmlParseChunk "" HAVE_LIBXML) |
|---|
| 159 | ENDIF(XML2_LDFLAGS OR XML2_CFLAGS) |
|---|
| 160 | |
|---|
| 161 | IF(NOT HAVE_LIBXML_H) |
|---|
| 162 | MESSAGE(FATAL_ERROR "libxml/tree.h couldn't be found") |
|---|
| 163 | ENDIF(NOT HAVE_LIBXML_H) |
|---|
| 164 | IF(NOT HAVE_LIBXML) |
|---|
| 165 | MESSAGE(FATAL_ERROR "libxml2 couldn't be found") |
|---|
| 166 | ENDIF(NOT HAVE_LIBXML) |
|---|
| 167 | |
|---|
| 168 | ENDIF(WITH_XML) |
|---|
| 169 | |
|---|
| 170 | IF(WITH_PCRE) |
|---|
| 171 | ## if we have pcre-config, use it |
|---|
| 172 | XCONFIG(pcre-config PCRE_INCDIR PCRE_LIBDIR PCRE_LDFLAGS PCRE_CFLAGS) |
|---|
| 173 | IF(PCRE_LDFLAGS OR PCRE_CFLAGS) |
|---|
| 174 | MESSAGE(STATUS "found pcre at: LDFLAGS: ${PCRE_LDFLAGS} CFLAGS: ${PCRE_CFLAGS}") |
|---|
| 175 | |
|---|
| 176 | IF(NOT PCRE_CFLAGS STREQUAL "\n") |
|---|
| 177 | ## if it is empty we'll get newline returned |
|---|
| 178 | SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${PCRE_CFLAGS}") |
|---|
| 179 | ENDIF(NOT PCRE_CFLAGS STREQUAL "\n") |
|---|
| 180 | |
|---|
| 181 | CHECK_INCLUDE_FILES(pcre.h HAVE_PCRE_H) |
|---|
| 182 | |
|---|
| 183 | SET(CMAKE_REQUIRED_FLAGS ${PCRE_LDFLAGS}) |
|---|
| 184 | CHECK_LIBRARY_EXISTS(pcre pcre_exec "" HAVE_LIBPCRE) |
|---|
| 185 | SET(CMAKE_REQUIRED_FLAGS) |
|---|
| 186 | |
|---|
| 187 | ELSE(PCRE_LDFLAGS OR PCRE_CFLAGS) |
|---|
| 188 | IF(NOT WIN32) |
|---|
| 189 | CHECK_INCLUDE_FILES(pcre.h HAVE_PCRE_H) |
|---|
| 190 | CHECK_LIBRARY_EXISTS(pcre pcre_exec "" HAVE_LIBPCRE) |
|---|
| 191 | SET(PCRE_LIBRARY pcre) |
|---|
| 192 | ELSE(NOT WIN32) |
|---|
| 193 | FIND_PATH(PCRE_INCLUDE_DIR pcre.h |
|---|
| 194 | /usr/local/include |
|---|
| 195 | /usr/include |
|---|
| 196 | ) |
|---|
| 197 | |
|---|
| 198 | SET(PCRE_NAMES pcre) |
|---|
| 199 | FIND_LIBRARY(PCRE_LIBRARY |
|---|
| 200 | NAMES ${PCRE_NAMES} |
|---|
| 201 | PATHS /usr/lib /usr/local/lib |
|---|
| 202 | ) |
|---|
| 203 | |
|---|
| 204 | IF(PCRE_INCLUDE_DIR AND PCRE_LIBRARY) |
|---|
| 205 | SET(CMAKE_REQUIRED_INCLUDES ${PCRE_INCLUDE_DIR}) |
|---|
| 206 | SET(CMAKE_REQUIRED_LIBRARIES ${PCRE_LIBRARY}) |
|---|
| 207 | CHECK_INCLUDE_FILES(pcre.h HAVE_PCRE_H) |
|---|
| 208 | CHECK_LIBRARY_EXISTS(pcre pcre_exec "" HAVE_LIBPCRE) |
|---|
| 209 | SET(CMAKE_REQUIRED_INCLUDES) |
|---|
| 210 | SET(CMAKE_REQUIRED_LIBRARIES) |
|---|
| 211 | INCLUDE_DIRECTORIES(${PCRE_INCLUDE_DIR}) |
|---|
| 212 | ENDIF(PCRE_INCLUDE_DIR AND PCRE_LIBRARY) |
|---|
| 213 | ENDIF(NOT WIN32) |
|---|
| 214 | ENDIF(PCRE_LDFLAGS OR PCRE_CFLAGS) |
|---|
| 215 | |
|---|
| 216 | IF(NOT HAVE_PCRE_H) |
|---|
| 217 | MESSAGE(FATAL_ERROR "pcre.h couldn't be found") |
|---|
| 218 | ENDIF(NOT HAVE_PCRE_H) |
|---|
| 219 | IF(NOT HAVE_LIBPCRE) |
|---|
| 220 | MESSAGE(FATAL_ERROR "libpcre couldn't be found") |
|---|
| 221 | ENDIF(NOT HAVE_LIBPCRE) |
|---|
| 222 | |
|---|
| 223 | ENDIF(WITH_PCRE) |
|---|
| 224 | |
|---|
| 225 | CHECK_INCLUDE_FILES(poll.h HAVE_POLL_H) |
|---|
| 226 | CHECK_INCLUDE_FILES(pwd.h HAVE_PWD_H) |
|---|
| 227 | |
|---|
| 228 | OPTION(WITH_SQLITE3 "with property-support [sqlite3] for mod_webdav [default: off]") |
|---|
| 229 | IF(WITH_SQLITE3) |
|---|
| 230 | CHECK_INCLUDE_FILES(sqlite3.h HAVE_SQLITE3_H) |
|---|
| 231 | CHECK_LIBRARY_EXISTS(sqlite3 sqlite3_reset "" HAVE_SQLITE3) |
|---|
| 232 | ENDIF(WITH_SQLITE3) |
|---|
| 233 | |
|---|
| 234 | IF(WITH_GLIB) |
|---|
| 235 | PKGCONFIG(gthread-2.0 GTHREAD_INCDIR GTHREAD_LIBDIR GTHREAD_LDFLAGS GTHREAD_CFLAGS) |
|---|
| 236 | MESSAGE(STATUS "found gthread-2.0 at: INCDIR: ${GTHREAD_INCDIR} LIBDIR: ${GTHREAD_LIBDIR} LDFLAGS: ${GTHREAD_LDFLAGS} CFLAGS: ${GTHREAD_CFLAGS}") |
|---|
| 237 | |
|---|
| 238 | SET(GLIB_INC_DIRS ${GTHREAD_INCDIR}/glib-2.0/ ${GTHREAD_LIBDIR}/glib-2.0/include/) |
|---|
| 239 | INCLUDE_DIRECTORIES(${GLIB_INC_DIRS}) |
|---|
| 240 | |
|---|
| 241 | SET(CMAKE_REQUIRED_INCLUDES ${GLIB_INC_DIRS}) |
|---|
| 242 | CHECK_INCLUDE_FILES(glib.h HAVE_GLIB_H) |
|---|
| 243 | SET(CMAKE_REQUIRED_INCLUDES) |
|---|
| 244 | ENDIF(WITH_GLIB) |
|---|
| 245 | |
|---|
| 246 | IF(WITH_LIBFCGI) |
|---|
| 247 | CHECK_INCLUDE_FILES(fastcgi.h HAVE_FASTCGI_H) |
|---|
| 248 | CHECK_INCLUDE_FILES(fastcgi/fastcgi.h HAVE_FASTCGI_FASTCGI_H) |
|---|
| 249 | IF(HAVE_FASTCGI_H OR HAVE_FASTCGI_FASTCGI_H) |
|---|
| 250 | CHECK_LIBRARY_EXISTS(fcgi FCGI_Accept "" HAVE_LIBFCGI) |
|---|
| 251 | ENDIF(HAVE_FASTCGI_H OR HAVE_FASTCGI_FASTCGI_H) |
|---|
| 252 | ENDIF(WITH_LIBFCGI) |
|---|
| 253 | |
|---|
| 254 | CHECK_INCLUDE_FILES(stddef.h HAVE_STDDEF_H) |
|---|
| 255 | CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H) |
|---|
| 256 | CHECK_INCLUDE_FILES(syslog.h HAVE_SYSLOG_H) |
|---|
| 257 | IF(WITH_UUID) |
|---|
| 258 | CHECK_INCLUDE_FILES(uuid/uuid.h HAVE_UUID_H) |
|---|
| 259 | CHECK_LIBRARY_EXISTS(uuid uuid_generate "" NEED_LIBUUID) |
|---|
| 260 | IF(NOT NEED_LIBUUID) |
|---|
| 261 | CHECK_FUNCTION_EXISTS(uuid_generate HAVE_LIBUUID) |
|---|
| 262 | ELSE(NOT NEED_LIBUUID) |
|---|
| 263 | SET(HAVE_LIBUUID 1) |
|---|
| 264 | ENDIF(NOT NEED_LIBUUID) |
|---|
| 265 | ENDIF(WITH_UUID) |
|---|
| 266 | |
|---|
| 267 | CHECK_INCLUDE_FILES(sys/inotify.h HAVE_SYS_INOTIFY_H) |
|---|
| 268 | IF(HAVE_SYS_INOTIFY_H) |
|---|
| 269 | CHECK_FUNCTION_EXISTS(inotify_init HAVE_INOTIFY_INIT) |
|---|
| 270 | ENDIF(HAVE_SYS_INOTIFY_H) |
|---|
| 271 | |
|---|
| 272 | IF(WITH_ZLIB) |
|---|
| 273 | IF(NOT WIN32) |
|---|
| 274 | CHECK_INCLUDE_FILES(zlib.h HAVE_ZLIB_H) |
|---|
| 275 | CHECK_LIBRARY_EXISTS(z deflate "" HAVE_LIBZ) |
|---|
| 276 | SET(ZLIB_LIBRARY z) |
|---|
| 277 | ELSE(NOT WIN32) |
|---|
| 278 | FIND_PATH(ZLIB_INCLUDE_DIR zlib.h |
|---|
| 279 | /usr/local/include |
|---|
| 280 | /usr/include |
|---|
| 281 | ) |
|---|
| 282 | |
|---|
| 283 | SET(ZLIB_NAMES z zlib zdll) |
|---|
| 284 | FIND_LIBRARY(ZLIB_LIBRARY |
|---|
| 285 | NAMES ${ZLIB_NAMES} |
|---|
| 286 | PATHS /usr/lib /usr/local/lib |
|---|
| 287 | ) |
|---|
| 288 | |
|---|
| 289 | |
|---|
| 290 | IF(ZLIB_INCLUDE_DIR AND ZLIB_LIBRARY) |
|---|
| 291 | SET(CMAKE_REQUIRED_INCLUDES ${ZLIB_INCLUDE_DIR}) |
|---|
| 292 | SET(CMAKE_REQUIRED_LIBRARIES ${ZLIB_LIBRARY}) |
|---|
| 293 | GET_FILENAME_COMPONENT(ZLIB_NAME ${ZLIB_LIBRARY} NAME) |
|---|
| 294 | CHECK_INCLUDE_FILES(zlib.h HAVE_ZLIB_H) |
|---|
| 295 | CHECK_LIBRARY_EXISTS(${ZLIB_NAME} deflate "" HAVE_LIBZ) |
|---|
| 296 | SET(CMAKE_REQUIRED_INCLUDES) |
|---|
| 297 | SET(CMAKE_REQUIRED_LIBRARIES) |
|---|
| 298 | INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR}) |
|---|
| 299 | |
|---|
| 300 | ENDIF(ZLIB_INCLUDE_DIR AND ZLIB_LIBRARY) |
|---|
| 301 | ENDIF(NOT WIN32) |
|---|
| 302 | ENDIF(WITH_ZLIB) |
|---|
| 303 | |
|---|
| 304 | IF(WITH_LUA) |
|---|
| 305 | PKGCONFIG(lua LUA_INCDIR LUA_LIBDIR LUA_LDFLAGS LUA_CFLAGS) |
|---|
| 306 | IF(NOT LUA_LDFLAGS) |
|---|
| 307 | PKGCONFIG(lua5.1 LUA_INCDIR LUA_LIBDIR LUA_LDFLAGS LUA_CFLAGS) |
|---|
| 308 | ENDIF(NOT LUA_LDFLAGS) |
|---|
| 309 | MESSAGE(STATUS "found lua at: INCDIR: ${LUA_INCDIR} LIBDIR: ${LUA_LIBDIR} LDFLAGS: ${LUA_LDFLAGS} CFLAGS: ${LUA_CFLAGS}") |
|---|
| 310 | IF(LUA_LDFLAGS) |
|---|
| 311 | SET(HAVE_LIBLUA 1 "Have liblua") |
|---|
| 312 | INCLUDE_DIRECTORIES(${LUA_INCDIR}) |
|---|
| 313 | ADD_DEFINITIONS(${LUA_CFLAGS}) |
|---|
| 314 | |
|---|
| 315 | SET(CMAKE_REQUIRED_INCLUDES ${LUA_INCDIR}) |
|---|
| 316 | SET(CMAKE_REQUIRED_FLAGS ${LUA_CFLAGS}) |
|---|
| 317 | CHECK_INCLUDE_FILES(lua.h HAVE_LUA_H) |
|---|
| 318 | SET(CMAKE_REQUIRED_INCLUDES) |
|---|
| 319 | SET(CMAKE_REQUIRED_FLAGS) |
|---|
| 320 | ELSE(LUA_LDFLAGS) |
|---|
| 321 | SET(HAVE_LIBLUA "" "Have liblua") |
|---|
| 322 | SET(HAVE_LUA_H "" "Have liblua header") |
|---|
| 323 | ENDIF(LUA_LDFLAGS) |
|---|
| 324 | ENDIF(WITH_LUA) |
|---|
| 325 | |
|---|
| 326 | CHECK_INCLUDE_FILES(crypt.h HAVE_CRYPT_H) |
|---|
| 327 | IF(NOT BUILD_STATIC) |
|---|
| 328 | CHECK_INCLUDE_FILES(dlfcn.h HAVE_DLFCN_H) |
|---|
| 329 | ENDIF(NOT BUILD_STATIC) |
|---|
| 330 | |
|---|
| 331 | SET(CMAKE_EXTRA_INCLUDE_FILES sys/socket.h) |
|---|
| 332 | CHECK_TYPE_SIZE(socklen_t HAVE_SOCKLEN_T) |
|---|
| 333 | SET(CMAKE_EXTRA_INCLUDE_FILES) |
|---|
| 334 | |
|---|
| 335 | CHECK_TYPE_SIZE(long SIZEOF_LONG) |
|---|
| 336 | CHECK_TYPE_SIZE(off_t SIZEOF_OFF_T) |
|---|
| 337 | |
|---|
| 338 | CHECK_FUNCTION_EXISTS(chroot HAVE_CHROOT) |
|---|
| 339 | CHECK_FUNCTION_EXISTS(crypt HAVE_CRYPT) |
|---|
| 340 | CHECK_FUNCTION_EXISTS(epoll_ctl HAVE_EPOLL_CTL) |
|---|
| 341 | CHECK_FUNCTION_EXISTS(fork HAVE_FORK) |
|---|
| 342 | CHECK_FUNCTION_EXISTS(getrlimit HAVE_GETRLIMIT) |
|---|
| 343 | CHECK_FUNCTION_EXISTS(getuid HAVE_GETUID) |
|---|
| 344 | CHECK_FUNCTION_EXISTS(gmtime_r HAVE_GMTIME_R) |
|---|
| 345 | CHECK_FUNCTION_EXISTS(inet_ntop HAVE_INET_NTOP) |
|---|
| 346 | CHECK_FUNCTION_EXISTS(kqueue HAVE_KQUEUE) |
|---|
| 347 | CHECK_FUNCTION_EXISTS(localtime_r HAVE_LOCALTIME_R) |
|---|
| 348 | CHECK_FUNCTION_EXISTS(lstat HAVE_LSTAT) |
|---|
| 349 | CHECK_FUNCTION_EXISTS(madvise HAVE_MADVISE) |
|---|
| 350 | CHECK_FUNCTION_EXISTS(memcpy HAVE_MEMCPY) |
|---|
| 351 | CHECK_FUNCTION_EXISTS(memset HAVE_MEMSET) |
|---|
| 352 | CHECK_FUNCTION_EXISTS(mmap HAVE_MMAP) |
|---|
| 353 | CHECK_FUNCTION_EXISTS(pathconf HAVE_PATHCONF) |
|---|
| 354 | CHECK_FUNCTION_EXISTS(poll HAVE_POLL) |
|---|
| 355 | CHECK_FUNCTION_EXISTS(port_create HAVE_PORT_CREATE) |
|---|
| 356 | CHECK_FUNCTION_EXISTS(prctl HAVE_PRCTL) |
|---|
| 357 | CHECK_FUNCTION_EXISTS(pread HAVE_PREAD) |
|---|
| 358 | CHECK_FUNCTION_EXISTS(posix_fadvise HAVE_POSIX_FADVISE) |
|---|
| 359 | CHECK_FUNCTION_EXISTS(select HAVE_SELECT) |
|---|
| 360 | CHECK_FUNCTION_EXISTS(sendfile HAVE_SENDFILE) |
|---|
| 361 | CHECK_FUNCTION_EXISTS(sendfile64 HAVE_SENDFILE64) |
|---|
| 362 | CHECK_FUNCTION_EXISTS(sendfilev HAVE_SENDFILEV) |
|---|
| 363 | CHECK_FUNCTION_EXISTS(sigaction HAVE_SIGACTION) |
|---|
| 364 | CHECK_FUNCTION_EXISTS(signal HAVE_SIGNAL) |
|---|
| 365 | CHECK_FUNCTION_EXISTS(sigtimedwait HAVE_SIGTIMEDWAIT) |
|---|
| 366 | CHECK_FUNCTION_EXISTS(strptime HAVE_STRPTIME) |
|---|
| 367 | CHECK_FUNCTION_EXISTS(syslog HAVE_SYSLOG) |
|---|
| 368 | CHECK_FUNCTION_EXISTS(writev HAVE_WRITEV) |
|---|
| 369 | CHECK_FUNCTION_EXISTS(inet_aton HAVE_INET_ATON) |
|---|
| 370 | CHECK_FUNCTION_EXISTS(inet_atop HAVE_IPV6) |
|---|
| 371 | |
|---|
| 372 | IF(HAVE_CRYPT_H) |
|---|
| 373 | ## check if we need libcrypt for crypt() |
|---|
| 374 | CHECK_LIBRARY_EXISTS(crypt crypt "" HAVE_LIBCRYPT) |
|---|
| 375 | ENDIF(HAVE_CRYPT_H) |
|---|
| 376 | |
|---|
| 377 | IF(HAVE_DLFCN_H) |
|---|
| 378 | CHECK_LIBRARY_EXISTS(dl dlopen "" HAVE_LIBDL) |
|---|
| 379 | ENDIF(HAVE_DLFCN_H) |
|---|
| 380 | |
|---|
| 381 | ADD_DEFINITIONS( |
|---|
| 382 | -DLIGHTTPD_VERSION_ID=10500 |
|---|
| 383 | -DPACKAGE_NAME="\\"${CMAKE_PROJECT_NAME}\\"" |
|---|
| 384 | -DPACKAGE_VERSION="\\"${CPACK_PACKAGE_VERSION}\\"" |
|---|
| 385 | ) |
|---|
| 386 | |
|---|
| 387 | IF(NOT SBINDIR) |
|---|
| 388 | SET(SBINDIR "sbin") |
|---|
| 389 | ENDIF(NOT SBINDIR) |
|---|
| 390 | |
|---|
| 391 | SET(LIGHTTPD_MODULES_DIR "lib${LIB_SUFFIX}/lighttpd") |
|---|
| 392 | IF(NOT WIN32) |
|---|
| 393 | ADD_DEFINITIONS( |
|---|
| 394 | -DLIBRARY_DIR="\\"${CMAKE_INSTALL_PREFIX}/${LIGHTTPD_MODULES_DIR}\\"" |
|---|
| 395 | ) |
|---|
| 396 | ELSE(NOT WIN32) |
|---|
| 397 | ## We use relative path in windows |
|---|
| 398 | ADD_DEFINITIONS( |
|---|
| 399 | -DLIBRARY_DIR="\\"lib\\"" |
|---|
| 400 | ) |
|---|
| 401 | ENDIF(NOT WIN32) |
|---|
| 402 | |
|---|
| 403 | ## Write out config.h |
|---|
| 404 | CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.h) |
|---|
| 405 | |
|---|
| 406 | ADD_DEFINITIONS(-DHAVE_CONFIG_H) |
|---|
| 407 | |
|---|
| 408 | INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) |
|---|
| 409 | |
|---|
| 410 | SET(COMMON_SRC |
|---|
| 411 | buffer.c log.c |
|---|
| 412 | keyvalue.c chunk.c |
|---|
| 413 | stream.c fdevent.c |
|---|
| 414 | stat_cache.c plugin.c joblist.c etag.c array.c |
|---|
| 415 | data_string.c data_count.c data_array.c |
|---|
| 416 | data_integer.c md5.c |
|---|
| 417 | fdevent_select.c fdevent_linux_rtsig.c |
|---|
| 418 | fdevent_poll.c fdevent_linux_sysepoll.c |
|---|
| 419 | fdevent_solaris_devpoll.c fdevent_freebsd_kqueue.c |
|---|
| 420 | data_config.c bitset.c |
|---|
| 421 | inet_ntop_cache.c crc32.c |
|---|
| 422 | connections-glue.c iosocket.c |
|---|
| 423 | configfile-glue.c |
|---|
| 424 | http-header-glue.c status_counter.c |
|---|
| 425 | network_writev.c |
|---|
| 426 | network_write.c |
|---|
| 427 | network_linux_sendfile.c |
|---|
| 428 | network_freebsd_sendfile.c |
|---|
| 429 | network_win32_send.c |
|---|
| 430 | network_solaris_sendfilev.c |
|---|
| 431 | network_openssl.c |
|---|
| 432 | network_linux_aio.c |
|---|
| 433 | network_posix_aio.c |
|---|
| 434 | network_gthread_aio.c |
|---|
| 435 | network_gthread_sendfile.c |
|---|
| 436 | http_resp.c |
|---|
| 437 | http_resp_parser.c |
|---|
| 438 | http_req.c |
|---|
| 439 | http_req_parser.c |
|---|
| 440 | http_req_range.c |
|---|
| 441 | http_req_range_parser.c |
|---|
| 442 | sys-files.c |
|---|
| 443 | sys-socket.c |
|---|
| 444 | filter.c |
|---|
| 445 | timing.c |
|---|
| 446 | ) |
|---|
| 447 | |
|---|
| 448 | IF(WIN32) |
|---|
| 449 | MESSAGE(STATUS "Adding local getopt implementation.") |
|---|
| 450 | SET(COMMON_SRC ${COMMON_SRC} xgetopt.c) |
|---|
| 451 | ENDIF(WIN32) |
|---|
| 452 | |
|---|
| 453 | ADD_EXECUTABLE(lemon lemon.c) |
|---|
| 454 | |
|---|
| 455 | ## Build parsers by using lemon... |
|---|
| 456 | LEMON_PARSER(configparser.y) |
|---|
| 457 | LEMON_PARSER(http_req_parser.y) |
|---|
| 458 | LEMON_PARSER(http_req_range_parser.y) |
|---|
| 459 | LEMON_PARSER(http_resp_parser.y) |
|---|
| 460 | LEMON_PARSER(mod_ssi_exprparser.y) |
|---|
| 461 | |
|---|
| 462 | SET(L_INSTALL_TARGETS) |
|---|
| 463 | |
|---|
| 464 | IF(HAVE_LIBFCGI) |
|---|
| 465 | ADD_EXECUTABLE(fcgi-stat-accel fcgi-stat-accel.c) |
|---|
| 466 | TARGET_LINK_LIBRARIES(fcgi-stat-accel fcgi) |
|---|
| 467 | SET_TARGET_PROPERTIES(fcgi-stat-accel PROPERTIES LINK_FLAGS "-pthread") |
|---|
| 468 | SET(L_INSTALL_TARGETS ${L_INSTALL_TARGETS} fcgi-stat-accel) |
|---|
| 469 | ENDIF(HAVE_LIBFCGI) |
|---|
| 470 | |
|---|
| 471 | ADD_EXECUTABLE(spawn-fcgi spawn-fcgi.c) |
|---|
| 472 | SET(L_INSTALL_TARGETS ${L_INSTALL_TARGETS} spawn-fcgi) |
|---|
| 473 | |
|---|
| 474 | ADD_EXECUTABLE(lighttpd |
|---|
| 475 | server.c |
|---|
| 476 | network.c |
|---|
| 477 | configfile.c |
|---|
| 478 | configparser.c |
|---|
| 479 | connections.c |
|---|
| 480 | proc_open.c |
|---|
| 481 | request.c |
|---|
| 482 | response.c |
|---|
| 483 | ${COMMON_SRC}) |
|---|
| 484 | SET(L_INSTALL_TARGETS ${L_INSTALL_TARGETS} lighttpd) |
|---|
| 485 | |
|---|
| 486 | |
|---|
| 487 | ADD_AND_INSTALL_LIBRARY(mod_access mod_access.c) |
|---|
| 488 | ADD_AND_INSTALL_LIBRARY(mod_alias mod_alias.c) |
|---|
| 489 | ADD_AND_INSTALL_LIBRARY(mod_dirlisting mod_dirlisting.c) |
|---|
| 490 | ADD_AND_INSTALL_LIBRARY(mod_staticfile mod_staticfile.c) |
|---|
| 491 | |
|---|
| 492 | ADD_AND_INSTALL_LIBRARY(mod_indexfile mod_indexfile.c) |
|---|
| 493 | ADD_AND_INSTALL_LIBRARY(mod_setenv mod_setenv.c) |
|---|
| 494 | ADD_AND_INSTALL_LIBRARY(mod_rrdtool mod_rrdtool.c) |
|---|
| 495 | ADD_AND_INSTALL_LIBRARY(mod_usertrack mod_usertrack.c) |
|---|
| 496 | ADD_AND_INSTALL_LIBRARY(mod_proxy_core "mod_proxy_core.c;mod_proxy_core_pool.c;mod_proxy_core_backend.c;mod_proxy_core_address.c;mod_proxy_core_backlog.c;mod_proxy_core_protocol.c;mod_proxy_core_rewrites.c") |
|---|
| 497 | ADD_AND_INSTALL_LIBRARY(mod_proxy_backend_http mod_proxy_backend_http.c) |
|---|
| 498 | ADD_AND_INSTALL_LIBRARY(mod_proxy_backend_fastcgi mod_proxy_backend_fastcgi.c) |
|---|
| 499 | ADD_AND_INSTALL_LIBRARY(mod_proxy_backend_scgi mod_proxy_backend_scgi.c) |
|---|
| 500 | ADD_AND_INSTALL_LIBRARY(mod_proxy_backend_ajp13 mod_proxy_backend_ajp13.c) |
|---|
| 501 | ADD_AND_INSTALL_LIBRARY(mod_userdir mod_userdir.c) |
|---|
| 502 | ADD_AND_INSTALL_LIBRARY(mod_secdownload mod_secure_download.c) |
|---|
| 503 | ADD_AND_INSTALL_LIBRARY(mod_accesslog mod_accesslog.c) |
|---|
| 504 | ADD_AND_INSTALL_LIBRARY(mod_simple_vhost mod_simple_vhost.c) |
|---|
| 505 | ADD_AND_INSTALL_LIBRARY(mod_evhost mod_evhost.c) |
|---|
| 506 | ADD_AND_INSTALL_LIBRARY(mod_expire mod_expire.c) |
|---|
| 507 | ADD_AND_INSTALL_LIBRARY(mod_status mod_status.c) |
|---|
| 508 | ADD_AND_INSTALL_LIBRARY(mod_compress mod_compress.c) |
|---|
| 509 | ADD_AND_INSTALL_LIBRARY(mod_redirect mod_redirect.c) |
|---|
| 510 | ADD_AND_INSTALL_LIBRARY(mod_rewrite mod_rewrite.c) |
|---|
| 511 | ADD_AND_INSTALL_LIBRARY(mod_auth "mod_auth.c;http_auth_digest.c;http_auth.c") |
|---|
| 512 | ADD_AND_INSTALL_LIBRARY(mod_sql_vhost_core mod_sql_vhost_core.c) |
|---|
| 513 | ADD_AND_INSTALL_LIBRARY(mod_mysql_vhost mod_mysql_vhost.c) |
|---|
| 514 | ADD_AND_INSTALL_LIBRARY(mod_postgresql_vhost mod_postgresql_vhost.c) |
|---|
| 515 | ADD_AND_INSTALL_LIBRARY(mod_trigger_b4_dl mod_trigger_b4_dl.c) |
|---|
| 516 | ADD_AND_INSTALL_LIBRARY(mod_uploadprogress mod_uploadprogress.c) |
|---|
| 517 | ADD_AND_INSTALL_LIBRARY(mod_evasive mod_evasive.c) |
|---|
| 518 | ADD_AND_INSTALL_LIBRARY(mod_ssi "mod_ssi_exprparser.c;mod_ssi_expr.c;mod_ssi.c") |
|---|
| 519 | ADD_AND_INSTALL_LIBRARY(mod_flv_streaming mod_flv_streaming.c) |
|---|
| 520 | ADD_AND_INSTALL_LIBRARY(mod_chunked mod_chunked.c) |
|---|
| 521 | ADD_AND_INSTALL_LIBRARY(mod_magnet "mod_magnet.c;mod_magnet_cache.c") |
|---|
| 522 | ADD_AND_INSTALL_LIBRARY(mod_deflate mod_deflate.c) |
|---|
| 523 | ADD_AND_INSTALL_LIBRARY(mod_webdav mod_webdav.c) |
|---|
| 524 | |
|---|
| 525 | IF(NOT WIN32) |
|---|
| 526 | ADD_AND_INSTALL_LIBRARY(mod_cgi mod_cgi.c) |
|---|
| 527 | ENDIF(NOT WIN32) |
|---|
| 528 | |
|---|
| 529 | IF(HAVE_PCRE_H) |
|---|
| 530 | TARGET_LINK_LIBRARIES(lighttpd ${PCRE_LIBRARY}) |
|---|
| 531 | TARGET_LINK_LIBRARIES(mod_rewrite ${PCRE_LIBRARY}) |
|---|
| 532 | TARGET_LINK_LIBRARIES(mod_dirlisting ${PCRE_LIBRARY}) |
|---|
| 533 | TARGET_LINK_LIBRARIES(mod_redirect ${PCRE_LIBRARY}) |
|---|
| 534 | TARGET_LINK_LIBRARIES(mod_ssi ${PCRE_LIBRARY}) |
|---|
| 535 | TARGET_LINK_LIBRARIES(mod_trigger_b4_dl ${PCRE_LIBRARY}) |
|---|
| 536 | TARGET_LINK_LIBRARIES(mod_proxy_core ${PCRE_LIBRARY}) |
|---|
| 537 | ENDIF(HAVE_PCRE_H) |
|---|
| 538 | |
|---|
| 539 | ADD_TARGET_PROPERTIES(mod_magnet LINK_FLAGS "${LUA_LDFLAGS}") |
|---|
| 540 | ADD_TARGET_PROPERTIES(mod_magnet COMPILE_FLAGS "${LUA_CFLAGS}") |
|---|
| 541 | |
|---|
| 542 | IF(HAVE_MYSQL_H AND HAVE_LIBMYSQL) |
|---|
| 543 | TARGET_LINK_LIBRARIES(mod_mysql_vhost mysqlclient) |
|---|
| 544 | INCLUDE_DIRECTORIES(/usr/include/mysql) |
|---|
| 545 | ENDIF(HAVE_MYSQL_H AND HAVE_LIBMYSQL) |
|---|
| 546 | |
|---|
| 547 | IF(HAVE_LIBPQ_FE_H AND HAVE_LIBPQ) |
|---|
| 548 | TARGET_LINK_LIBRARIES(mod_postgresql_vhost pq) |
|---|
| 549 | INCLUDE_DIRECTORIES(/usr/include/pgsql) |
|---|
| 550 | ENDIF(HAVE_LIBPQ_FE_H AND HAVE_LIBPQ) |
|---|
| 551 | |
|---|
| 552 | SET(L_MOD_WEBDAV) |
|---|
| 553 | IF(HAVE_SQLITE3_H) |
|---|
| 554 | SET(L_MOD_WEBDAV ${L_MOD_WEBDAV} sqlite3) |
|---|
| 555 | ENDIF(HAVE_SQLITE3_H) |
|---|
| 556 | IF(HAVE_LIBXML_H) |
|---|
| 557 | SET_TARGET_PROPERTIES(mod_webdav PROPERTIES LINK_FLAGS ${XML2_LDFLAGS}) |
|---|
| 558 | ENDIF(HAVE_LIBXML_H) |
|---|
| 559 | IF(HAVE_UUID_H) |
|---|
| 560 | IF(NEED_LIBUUID) |
|---|
| 561 | SET(L_MOD_WEBDAV ${L_MOD_WEBDAV} uuid) |
|---|
| 562 | ENDIF(NEED_LIBUUID) |
|---|
| 563 | ENDIF(HAVE_UUID_H) |
|---|
| 564 | |
|---|
| 565 | TARGET_LINK_LIBRARIES(mod_webdav ${L_MOD_WEBDAV}) |
|---|
| 566 | |
|---|
| 567 | SET(L_MOD_AUTH) |
|---|
| 568 | IF(HAVE_LIBCRYPT) |
|---|
| 569 | SET(L_MOD_AUTH ${L_MOD_AUTH} crypt) |
|---|
| 570 | ENDIF(HAVE_LIBCRYPT) |
|---|
| 571 | |
|---|
| 572 | IF(HAVE_LDAP_H) |
|---|
| 573 | SET(L_MOD_AUTH ${L_MOD_AUTH} ldap lber) |
|---|
| 574 | ENDIF(HAVE_LDAP_H) |
|---|
| 575 | TARGET_LINK_LIBRARIES(mod_auth ${L_MOD_AUTH}) |
|---|
| 576 | |
|---|
| 577 | IF(HAVE_ZLIB_H) |
|---|
| 578 | IF(HAVE_BZLIB_H) |
|---|
| 579 | TARGET_LINK_LIBRARIES(mod_compress ${ZLIB_LIBRARY} bz2) |
|---|
| 580 | TARGET_LINK_LIBRARIES(mod_deflate ${ZLIB_LIBRARY} bz2) |
|---|
| 581 | ELSE(HAVE_BZLIB_H) |
|---|
| 582 | TARGET_LINK_LIBRARIES(mod_compress ${ZLIB_LIBRARY}) |
|---|
| 583 | TARGET_LINK_LIBRARIES(mod_deflate ${ZLIB_LIBRARY}) |
|---|
| 584 | ENDIF(HAVE_BZLIB_H) |
|---|
| 585 | ENDIF(HAVE_ZLIB_H) |
|---|
| 586 | |
|---|
| 587 | IF(CMAKE_COMPILER_IS_GNUCC) |
|---|
| 588 | SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wall -g -Wshadow -W -pedantic") |
|---|
| 589 | SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2") |
|---|
| 590 | SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0") |
|---|
| 591 | SET(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_WITHDEBINFO} -O2") |
|---|
| 592 | ADD_DEFINITIONS(-D_GNU_SOURCE) |
|---|
| 593 | ENDIF(CMAKE_COMPILER_IS_GNUCC) |
|---|
| 594 | |
|---|
| 595 | ADD_TARGET_PROPERTIES(lighttpd LINK_FLAGS "${GTHREAD_LDFLAGS} ${XML2_LDFLAGS}") |
|---|
| 596 | IF(CMAKE_SYSTEM MATCHES "Linux") |
|---|
| 597 | ## on linux we need pthread and librt for posix-aio |
|---|
| 598 | ADD_TARGET_PROPERTIES(lighttpd LINK_FLAGS "-lrt") |
|---|
| 599 | ENDIF(CMAKE_SYSTEM MATCHES "Linux") |
|---|
| 600 | |
|---|
| 601 | ADD_TARGET_PROPERTIES(lighttpd COMPILE_FLAGS "${GTHREAD_CFLAGS}") |
|---|
| 602 | SET_TARGET_PROPERTIES(lighttpd PROPERTIES CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}) |
|---|
| 603 | |
|---|
| 604 | IF(WIN32) |
|---|
| 605 | SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNVALGRIND") |
|---|
| 606 | ADD_TARGET_PROPERTIES(lighttpd COMPILE_FLAGS "-DLI_DECLARE_EXPORTS") |
|---|
| 607 | TARGET_LINK_LIBRARIES(lighttpd ws2_32) |
|---|
| 608 | TARGET_LINK_LIBRARIES(mod_proxy_core ws2_32) |
|---|
| 609 | TARGET_LINK_LIBRARIES(mod_proxy_backend_ajp13 ws2_32) |
|---|
| 610 | TARGET_LINK_LIBRARIES(mod_proxy_backend_fastcgi ws2_32) |
|---|
| 611 | TARGET_LINK_LIBRARIES(mod_proxy_backend_scgi ws2_32) |
|---|
| 612 | TARGET_LINK_LIBRARIES(mod_ssi ws2_32) |
|---|
| 613 | # required for mingw gcc/ld |
|---|
| 614 | IF(WITH_GLIB) |
|---|
| 615 | TARGET_LINK_LIBRARIES(lighttpd glib-2.0 gthread-2.0) |
|---|
| 616 | ENDIF(WITH_GLIB) |
|---|
| 617 | |
|---|
| 618 | IF(MINGW) |
|---|
| 619 | TARGET_LINK_LIBRARIES(lighttpd msvcr70) |
|---|
| 620 | ADD_TARGET_PROPERTIES(lighttpd LINK_FLAGS "-Wl,-subsystem,console") |
|---|
| 621 | ENDIF(MINGW) |
|---|
| 622 | ENDIF(WIN32) |
|---|
| 623 | |
|---|
| 624 | IF(NOT BUILD_STATIC) |
|---|
| 625 | IF(HAVE_LIBDL) |
|---|
| 626 | TARGET_LINK_LIBRARIES(lighttpd dl) |
|---|
| 627 | ENDIF(HAVE_LIBDL) |
|---|
| 628 | ENDIF(NOT BUILD_STATIC) |
|---|
| 629 | |
|---|
| 630 | IF(HAVE_LIBAIO_H) |
|---|
| 631 | TARGET_LINK_LIBRARIES(lighttpd aio) |
|---|
| 632 | ENDIF(HAVE_LIBAIO_H) |
|---|
| 633 | |
|---|
| 634 | IF(HAVE_PCRE_H) |
|---|
| 635 | TARGET_LINK_LIBRARIES(lighttpd pcre) |
|---|
| 636 | ENDIF(HAVE_PCRE_H) |
|---|
| 637 | |
|---|
| 638 | IF(HAVE_LIBSSL AND HAVE_LIBCRYPTO) |
|---|
| 639 | TARGET_LINK_LIBRARIES(lighttpd ssl) |
|---|
| 640 | TARGET_LINK_LIBRARIES(lighttpd crypto) |
|---|
| 641 | ENDIF(HAVE_LIBSSL AND HAVE_LIBCRYPTO) |
|---|
| 642 | |
|---|
| 643 | IF(NOT WIN32) |
|---|
| 644 | INSTALL(TARGETS ${L_INSTALL_TARGETS} |
|---|
| 645 | RUNTIME DESTINATION ${SBINDIR} |
|---|
| 646 | LIBRARY DESTINATION ${LIGHTTPD_MODULES_DIR} |
|---|
| 647 | ARCHIVE DESTINATION ${LIGHTTPD_MODULES_DIR}/static) |
|---|
| 648 | ELSE(NOT WIN32) |
|---|
| 649 | ## HACK to make win32 to install our libraries in desired directory.. |
|---|
| 650 | INSTALL(TARGETS lighttpd |
|---|
| 651 | RUNTIME DESTINATION ${SBINDIR} |
|---|
| 652 | ARCHIVE DESTINATION lib/static) |
|---|
| 653 | LIST(REMOVE_ITEM L_INSTALL_TARGETS lighttpd) |
|---|
| 654 | INSTALL(TARGETS ${L_INSTALL_TARGETS} |
|---|
| 655 | RUNTIME DESTINATION ${SBINDIR}/lib |
|---|
| 656 | LIBRARY DESTINATION lib |
|---|
| 657 | ARCHIVE DESTINATION lib/static) |
|---|
| 658 | ENDIF(NOT WIN32) |
|---|