src.dualinventive.com/dinet/sec-multi-proxy/libdi/3rdparty/mpack/CMakeLists.txt

60 lines
1.5 KiB
CMake

cmake_minimum_required(VERSION 2.6)
project(mpack)
include(CTest)
set(MPACK_MAJOR 0)
set(MPACK_MINOR 3)
# mpack features
set(MPACK_READER 1)
set(MPACK_EXPECT 1)
set(MPACK_NODE 1)
set(MPACK_WRITER 1)
# mpack dependencies
set(MPACK_STDLIB 1)
set(MPACK_STDIO 1)
set(MPACK_SETJMP 1)
# mpack miscellaneous
set(MPACK_STACK_SIZE 4096)
set(MPACK_BUFFER_SIZE 4096)
set(MPACK_NODE_ARRAY_STARTING_SIZE 32)
set(MPACK_NODE_MAX_DEPTH 2048)
# compiler options
set(CMAKE_C_FLAGS "-Wall -Wextra -Werror -std=c99")
include_directories(
"${CMAKE_CURRENT_SOURCE_DIR}/src"
"${CMAKE_BINARY_DIR}/src"
)
# miscellaneous
set(MPACK_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src/mpack")
set(MPACK_INC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/src" CACHE INTERNAL "mpack include directory")
set(MPACK_DOC_DIR "${CMAKE_CURRENT_BINARY_DIR}/docs")
# TODO disabled for now, load cmake packages
#find_package(Doxygen)
if(DOXYGEN_FOUND)
file(MAKE_DIRECTORY "${MPACK_DOC_DIR}")
configure_file (
"Doxyfile.in"
"${MPACK_DOC_DIR}/Doxyfile"
)
# Add ALL after doc to generate docs after compilation
add_custom_target(doc
${DOXYGEN_EXECUTABLE} ${MPACK_DOC_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_DOC_DIR}
COMMENT "Generating API documentation with Doxygen" VERBATIM
)
endif(DOXYGEN_FOUND)
# valgrind
find_program( MEMORYCHECK_COMMAND valgrind )
set( MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full" )
# include source and test folders
add_subdirectory("src")
add_subdirectory("test")