From 2cb3c3df4099297b0a0554bb482e2de04fe86b5c Mon Sep 17 00:00:00 2001 From: sanine Date: Wed, 24 Aug 2022 00:02:17 -0500 Subject: add command-line arguments --- libs/cargs/cmake/CargsConfig.cmake.in | 5 +++++ libs/cargs/cmake/CreateTestList.cmake | 11 +++++++++++ libs/cargs/cmake/EnableWarnings.cmake | 19 +++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 libs/cargs/cmake/CargsConfig.cmake.in create mode 100644 libs/cargs/cmake/CreateTestList.cmake create mode 100755 libs/cargs/cmake/EnableWarnings.cmake (limited to 'libs/cargs/cmake') diff --git a/libs/cargs/cmake/CargsConfig.cmake.in b/libs/cargs/cmake/CargsConfig.cmake.in new file mode 100644 index 0000000..bb11824 --- /dev/null +++ b/libs/cargs/cmake/CargsConfig.cmake.in @@ -0,0 +1,5 @@ +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/CargsTargets.cmake") + +check_required_components(cargs) diff --git a/libs/cargs/cmake/CreateTestList.cmake b/libs/cargs/cmake/CreateTestList.cmake new file mode 100644 index 0000000..2dd46b3 --- /dev/null +++ b/libs/cargs/cmake/CreateTestList.cmake @@ -0,0 +1,11 @@ +function(create_test_list list_name file) + set("TEST_LIST_FILE_${list_name}" ${file} PARENT_SCOPE) + file(WRITE ${file} "#define UNIT_TESTS(XX) \\\n") + file(APPEND ${file} ${TEST_LIST_CONTENT_${list_name}}) + file(APPEND ${file} "\n") +endfunction() + +function(create_test list_name unit_name test_name) + set(TEST_LIST_CONTENT_${list_name} "${TEST_LIST_CONTENT_${list_name}} XX(${unit_name},${test_name}) \\\n" PARENT_SCOPE) + add_test(NAME "${unit_name}_${test_name}" COMMAND ${TEST_TARGET} ${unit_name} ${test_name}) +endfunction() \ No newline at end of file diff --git a/libs/cargs/cmake/EnableWarnings.cmake b/libs/cargs/cmake/EnableWarnings.cmake new file mode 100755 index 0000000..bfce52f --- /dev/null +++ b/libs/cargs/cmake/EnableWarnings.cmake @@ -0,0 +1,19 @@ +# enable warnings +function(enable_warnings target) + if(MSVC) + target_compile_definitions(${target} PRIVATE _CRT_SECURE_NO_WARNINGS) + target_compile_options(${target} PRIVATE /W4) + target_compile_options(${target} PRIVATE /WX) + elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang") + target_compile_options(${target} PRIVATE -Werror) + target_compile_options(${target} PRIVATE -Wall) + target_compile_options(${target} PRIVATE -Wextra) + target_compile_options(${target} PRIVATE -Wpedantic) + target_compile_options(${target} PRIVATE -Wno-gnu-zero-variadic-macro-arguments) + elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU") + target_compile_options(${target} PRIVATE -Wall) + target_compile_options(${target} PRIVATE -Werror) + target_compile_options(${target} PRIVATE -Wextra) + target_compile_options(${target} PRIVATE -Wpedantic) + endif() +endfunction() \ No newline at end of file -- cgit v1.2.1