# CMakeLists files in this project can # refer to the root source directory of the project as ${HELLO_SOURCE_DIR} and # to the root binary directory of the project as ${HELLO_BINARY_DIR}. cmake_minimum_required (VERSION 3.0) project (domo) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/build/lib") set(EXECUTABLE_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/build/bin") # Options for libevent set(EVENT__LIBRARY_TYPE STATIC) set(EVENT__DISABLE_TESTS ON) set(EVENT__DISABLE_REGRESS ON) set(EVENT__DISABLE_SAMPLES ON) set(EVENT__DISABLE_BENCHMARK ON) set(EVENT__DOXYGEN OFF) # Options for nats.c set(NATS_BUILD_EXAMPLES OFF) set(NATS_BUILD_STREAMING OFF) set(NATS_BUILD_TLS_USE_OPENSSL_1_1_API ON) set(NATS_BUILD_WITH_TLS OFF) set(NATS_BUILD_LIB_SHARED OFF) # Options for json-c set(BUILD_SHARED_LIBS OFF) # Directory of the project. add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../qlibc ${CMAKE_CURRENT_BINARY_DIR}/qlibc) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../libevent ${CMAKE_CURRENT_BINARY_DIR}/libevent) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../nats.c ${CMAKE_CURRENT_BINARY_DIR}/nats.c) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../json-c ${CMAKE_CURRENT_BINARY_DIR}/json-c) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/lib) add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/src) add_custom_target (static_analysis COMMAND echo "Static Analysis ......" COMMAND ${CMAKE_SOURCE_DIR}/tools/static_analysis.sh ${CMAKE_SOURCE_DIR}/build ) add_custom_target (launch_test COMMAND valgrind --leak-check=full --trace-children=yes --malloc-fill=AE --free-fill=BD --track-origins=yes ${CMAKE_SOURCE_DIR}/build/bin/test_device ) add_custom_target (gcovr COMMAND gcovr -v --object-directory=${CMAKE_BINARY_DIR} -r ${CMAKE_SOURCE_DIR} ) add_custom_target (gcovr_html COMMAND gcovr -v --object-directory=${CMAKE_BINARY_DIR} -r ${CMAKE_SOURCE_DIR} -o ${CMAKE_BINARY_DIR}/domo-iot.html --html --html-details )