da7f91b6b9
* API Server re-implemented with libevent. * Code & CMake organization.
56 lines
1.6 KiB
CMake
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)
|