waitui/CMakeLists.txt
Rick Barenthin 150cca40af
All checks were successful
continuous-integration/drone/push Build is passing
test: add memcheck and fix memleaks in test
Reviewed-on: #13
PR #13
2022-07-27 21:28:25 +02:00

45 lines
1.2 KiB
CMake

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)
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 ()