File CMakeLists.txt of Package mingw32-mongoose
#
# CMakeLists.txt for mongoose
#
PROJECT(mongoose)
cmake_minimum_required(VERSION 2.4)
if(NOT DEFINED MONGOOSE_VERSION)
set(MONGOOSE_VERSION 6.18.0)
endif()
string(REPLACE "." ";" VERSION_LIST ${MONGOOSE_VERSION})
list(GET VERSION_LIST 0 MONGOOSE_MAJOR_VERSION)
list(GET VERSION_LIST 1 MONGOOSE_MINOR_VERSION)
list(GET VERSION_LIST 2 MONGOOSE_PATCH_VERSION)
message("MONGOOSE_VERSION = ${MONGOOSE_VERSION}")
#
# cmake2.6: backward compatibility to cmake 2.4
#
#if(COMMAND cmake_policy)
# cmake_policy(SET CMP0003 OLD)
# cmake_policy(SET CMP0005 OLD)
# if ( POLICY CMP0046 )
# cmake_policy(SET CMP0046 OLD)
# endif ( POLICY CMP0046 )
#endif(COMMAND cmake_policy
# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH})
# Library path (lib / lib64 )
#IF ( DEFINED LIB )
# SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIB}" )
#ELSE ( DEFINED LIB )
# IF (CMAKE_SIZEOF_VOID_P MATCHES "8")
# SET( LIB_SUFFIX "64" )
# ENDIF(CMAKE_SIZEOF_VOID_P MATCHES "8")
# SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" )
#ENDIF ( DEFINED LIB )
#MESSAGE(STATUS "Libraries will be installed in ${LIB_INSTALL_DIR}" )
#SET( BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin" )
#SET( INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/include" )
#IF( "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr")
# SET( SYSCONFDIR "/etc" )
#ELSE( "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr")
# SET( SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" )
#ENDIF( "${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr")
INCLUDE(FindOpenSSL)
IF(NOT OPENSSL_FOUND)
MESSAGE(ERROR " openssl-devel not installed" )
ENDIF(NOT OPENSSL_FOUND)
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR} ${OPENSSL_INCLUDE_DIR})
SET( mongoose_SOURCES mongoose.c)
SET( mongoose_HEADERS mongoose.h)
#Segfaults when enabled (maybe it's related to https://github.com/cesanta/mongoose/issues/1097)
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMG_ENABLE_IPV6=1")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMG_ENABLE_SSL=1")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMG_ENABLE_MQTT_BROKER=1")
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMG_ENABLE_COAP=1")
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMG_ENABLE_HTTP_CGI=1")
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMG_ENABLE_HTTP_SSI=1")
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMG_ENABLE_HTTP_SSI_EXEC=1")
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMG_ENABLE_HTTP_WEBDAV=1")
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMG_ENABLE_BROADCAST=1")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMG_ENABLE_GETADDRINFO=1")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMG_ENABLE_THREADS=1")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMG_ENABLE_CALLBACK_USERDATA=1")
ADD_LIBRARY( mongoose SHARED ${mongoose_SOURCES} )
TARGET_LINK_LIBRARIES( mongoose ${LIBXML2_LIBRARIES} )
TARGET_LINK_LIBRARIES( mongoose ${OPENSSL_LIBRARIES})
TARGET_LINK_LIBRARIES( mongoose ${CMAKE_THREAD_LIBS_INIT} )
TARGET_LINK_LIBRARIES( mongoose wsock32 ws2_32 )
SET_TARGET_PROPERTIES(mongoose PROPERTIES VERSION ${MONGOOSE_MAJOR_VERSION}.${MONGOOSE_MINOR_VERSION} SOVERSION ${MONGOOSE_MAJOR_VERSION}.${MONGOOSE_MINOR_VERSION})
INSTALL(TARGETS mongoose DESTINATION ${LIB_INSTALL_DIR})
INSTALL(FILES ${mongoose_HEADERS} DESTINATION ${INCLUDE_INSTALL_DIR})
set (PKGCONFIG_INSTALL_DIR ${LIB_INSTALL_DIR}/pkgconfig)
if (PKGCONFIG_INSTALL_DIR)
configure_file ("package.pc.in" "${PROJECT_BINARY_DIR}/libmongoose.pc" @ONLY)
install (FILES "${PROJECT_BINARY_DIR}/libmongoose.pc" DESTINATION "${PKGCONFIG_INSTALL_DIR}")
endif ()