Skip to content

Instantly share code, notes, and snippets.

@jpleau
Created April 19, 2015 03:05
Show Gist options
  • Save jpleau/842c338daf9e6e4de26b to your computer and use it in GitHub Desktop.
Save jpleau/842c338daf9e6e4de26b to your computer and use it in GitHub Desktop.
cmake_minimum_required(VERSION 3.0)
project (MONGOOSE C CXX)
include (GNUInstallDirs)
set (MONGOOSE_VERSION_MAJOR 5)
set (MONGOOSE_VERSION_MINOR 6)
set (MONGOOSE_VERSION
${MONGOOSE_VERSION_MAJOR}.${MONGOOSE_VERSION_MINOR})
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DMONGOOSE_ENABLE_THREADS -DNS_ENABLE_SSL -DNS_ENABLE_IPV6")
find_package (Threads REQUIRED)
find_package (OpenSSL REQUIRED)
add_library (mongoose_shared SHARED mongoose.c)
add_library (mongoose STATIC mongoose.c)
target_link_libraries (mongoose_shared ${OPENSSL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
target_link_libraries (mongoose ${OPENSSL_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
configure_file (
"${PROJECT_SOURCE_DIR}/debian/mongoose.pc.in"
"${CMAKE_BINARY_DIR}/mongoose.pc"
)
install (
FILES "${CMAKE_BINARY_DIR}/mongoose.pc"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
)
set_target_properties (
mongoose_shared PROPERTIES
OUTPUT_NAME mongoose VERSION ${MONGOOSE_VERSION}
SOVERSION ${MONGOOSE_VERSION_MAJOR}
)
install (
FILES mongoose.h
DESTINATION "include"
)
install (
TARGETS mongoose mongoose_shared
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
)
install (
DIRECTORY "examples"
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/libmongoose"
)
install (
DIRECTORY "docs"
DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/libmongoose"
FILES_MATCHING PATTERN "*"
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment