udpt/CMakeLists.txt
Naim A da7f91b6b9
Improvements to REST API (#33)
* API Server re-implemented with libevent.
* Code & CMake organization.
2017-10-31 01:42:56 +02:00

56 lines
1.6 KiB
CMake

project(udpt)
cmake_minimum_required(VERSION 3.2)
enable_testing()
set(CMAKE_BUILD_TYPE Release)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
file(GLOB src_files "src/*.c"
"src/*.cpp"
"src/db/*.cpp")
if(CMAKE_SYSTEM_NAME STREQUAL FreeBSD)
include_directories("/usr/include" "/usr/local/include")
endif()
find_library(PTHREADS NAMES "pthread")
find_library(SQLITE NAMES "sqlite3" "libsqlite" "libsqlite3")
find_library(BOOST_PROG_OPTS NAMES "boost_program_options")
find_library(BOOST_SYSTEM NAMES "boost_system")
find_library(LIBEVENT NAMES "event")
find_library(LIBEVENTP NAMES "event_pthreads")
find_library(GTEST NAMES "gtest")
LIST(APPEND LIBS ${PTHREADS} ${SQLITE} ${BOOST_PROG_OPTS} ${BOOST_SYSTEM} ${LIBEVENT} ${LIBEVENTP})
add_definitions(-Wall)
add_executable(udpt ${src_files})
target_link_libraries(udpt ${LIBS})
add_executable(udpt_tests EXCLUDE_FROM_ALL tests/main.cpp ${src_files})
target_compile_definitions(udpt_tests PRIVATE TEST=1)
target_link_libraries(udpt_tests ${GTEST} ${LIBS})
add_test(NAME udpt_tests COMMAND udpt_tests)
# Add version to code
execute_process(
COMMAND git log -1 --format="%h"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_COMMIT
OUTPUT_STRIP_TRAILING_WHITESPACE
)
configure_file(
${CMAKE_SOURCE_DIR}/src/version.h.in
${CMAKE_CURRENT_BINARY_DIR}/generated/version.h
)
include_directories(${CMAKE_CURRENT_BINARY_DIR}/generated)
add_custom_target(docs
COMMAND python -msphinx -M html . _build
COMMAND python -msphinx -M man . _build
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/docs
COMMENT Building docs)