cmake_minimum_required(VERSION 3.21 FATAL_ERROR) include("${CMAKE_CURRENT_LIST_DIR}/project-meta-info.in") project(waitui-project VERSION ${project_version} DESCRIPTION ${project_description} HOMEPAGE_URL ${project_homepage} LANGUAGES C ) set(CMAKE_C_STANDARD 17) list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") option(ENABLE_TEST_COVERAGE "Enable test coverage" OFF) if (CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME) set_property(GLOBAL PROPERTY USE_FOLDERS ON) include(CTest) endif () add_subdirectory(app) add_subdirectory(library/hashtable) add_subdirectory(library/list) add_subdirectory(library/log) add_subdirectory(library/str) if ((CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME OR MODERN_CMAKE_BUILD_TESTING) AND BUILD_TESTING) add_subdirectory(tests) if (ENABLE_TEST_COVERAGE) include(CodeCoverage) set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full") setup_target_for_coverage_lcov( NAME coverage EXECUTABLE ${CMAKE_CTEST_COMMAND} -T memcheck EXCLUDE "tests/*" LCOV_ARGS --rc lcov_branch_coverage=1 GENHTML_ARGS --rc genhtml_branch_coverage=1 ) endif () endif ()