implementing a way to recover civetweb as an external project

This commit is contained in:
kakwa 2016-09-07 20:59:10 +02:00
parent 577db115e5
commit a1195caac4
2 changed files with 33 additions and 6 deletions

3
.gitignore vendored
View File

@ -50,3 +50,6 @@ tests/cfg/pki/.rnd
# pid file
*.pid
# civetweb build directory
civetweb-prefix/

View File

@ -1,9 +1,13 @@
cmake_minimum_required (VERSION 2.6)
project (uts-server)
include(ExternalProject)
set(VERSION 0.1.0)
option(DEBUG "compile with debug symbol" OFF)
option(BUNDLE_CIVETWEB "bundle civetweb with uts-server" OFF)
if(DEBUG)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O0 -g")
set(CMAKE_BUILD_TYPE Debug)
@ -19,14 +23,34 @@ set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -DUTS_VERSION='\"${VERSION}\"'")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/")
find_package(libcivetweb REQUIRED)
MESSAGE( STATUS "Find Header Directory for libcivetweb: " ${LIBCIVETWEB_INCLUDE_DIR})
MESSAGE( STATUS "Find Dynamic Library for libcivetweb: " ${LIBCIVETWEB_LIBRARIES})
if(BUNDLE_CIVETWEB)
ExternalProject_Add( civetweb
GIT_REPOSITORY https://github.com/civetweb/civetweb
GIT_TAG v1.8
INSTALL_DIR /usr/local
CMAKE_ARGS .. -DCMAKE_INSTALL_PREFIX=/usr
-DCIVETWEB_DISABLE_CGI=ON
-DCIVETWEB_ENABLE_CXX=OFF
-DBUILD_SHARED_LIBS=OFF
-DCIVETWEB_DISABLE_CGI=ON
-DCIVETWEB_SERVE_NO_FILES=ON
-DBUILD_TESTING=OFF
INSTALL_COMMAND make install DESTDIR=${CMAKE_CURRENT_SOURCE_DIR}/vendor/
)
set(LIBCIVETWEB_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/vendor/usr/include")
set(LIBCIVETWEB_LIBRARIES "${CMAKE_CURRENT_SOURCE_DIR}/vendor/usr/lib/libcivetweb.a")
set (CMAKE_C_LINK_EXECUTABLE "${CMAKE_CXX_LINK_EXECUTABLE} -ldl -lpthread")
else(BUNDLE_CIVETWEB)
find_package(libcivetweb REQUIRED)
endif(BUNDLE_CIVETWEB)
find_package(OpenSSL REQUIRED)
MESSAGE( STATUS "OpenSSL include dir: ${OPENSSL_INCLUDE_DIR}")
MESSAGE( STATUS "OpenSSL libraries: ${OPENSSL_LIBRARIES}")
MESSAGE(STATUS "OpenSSL include dir: ${OPENSSL_INCLUDE_DIR}")
MESSAGE(STATUS "OpenSSL libraries: ${OPENSSL_LIBRARIES}")
MESSAGE( STATUS "Find Header Directory for libcivetweb: " ${LIBCIVETWEB_INCLUDE_DIR})
MESSAGE( STATUS "Find Dynamic Library for libcivetweb: " ${LIBCIVETWEB_LIBRARIES})
include_directories(
./inc/
${LIBCIVETWEB_INCLUDE_DIR}
@ -41,8 +65,8 @@ add_executable(uts-server
)
target_link_libraries(uts-server
${LIBCIVETWEB_LIBRARIES}
${OPENSSL_LIBRARIES}
${LIBCIVETWEB_LIBRARIES}
)
INSTALL(TARGETS uts-server