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 ()

openSUSE Build Service is sponsored by