hide example and test in default cmake build and ctest enabled

This commit is contained in:
Donghoon Park 2024-12-15 02:25:03 +00:00
parent a1705c0dff
commit 20f13361c5
2 changed files with 39 additions and 14 deletions

10
.vscode/settings.json vendored
View File

@ -1,14 +1,20 @@
{
"cmake.configureOnOpen": true,
"cmake.configureArgs": [
"-DBUILD_TESTS=ON",
"-DBUILD_EXAMPLES=ON"
],
"cmake.copyCompileCommands": "${workspaceFolder}/compile_commands.json",
"C_Cpp.intelliSenseEngine": "disabled",
"clangd.path": "clangd",
"editor.formatOnSave": true,
"editor.rulers": [120],
"editor.rulers": [
120
],
"[c]": {
"editor.defaultFormatter": "llvm-vs-code-extensions.vscode-clangd"
},
"[cpp]": {
"editor.defaultFormatter": "llvm-vs-code-extensions.vscode-clangd"
},
}
}

View File

@ -11,20 +11,39 @@ include_directories(tests examples/linux .)
# Define BUILD_SHARED_LIBS=ON to build a dynamic library instead
add_library(nanomodbus nanomodbus.c)
add_executable(nanomodbus_tests nanomodbus.c tests/nanomodbus_tests.c)
target_link_libraries(nanomodbus_tests pthread)
if(BUILD_EXAMPLES)
add_executable(client-tcp examples/linux/client-tcp.c)
target_link_libraries(client-tcp nanomodbus)
add_executable(server-tcp examples/linux/server-tcp.c)
target_link_libraries(server-tcp nanomodbus)
endif()
add_executable(server_disabled nanomodbus.c tests/server_disabled.c)
target_compile_definitions(server_disabled PUBLIC NMBS_SERVER_DISABLED)
if(BUILD_TESTS)
include(FetchContent)
add_executable(client_disabled nanomodbus.c tests/client_disabled.c)
target_compile_definitions(client_disabled PUBLIC NMBS_CLIENT_DISABLED)
FetchContent_Declare(
criterion
GIT_REPOSITORY https://github.com/Snaipe/Criterion.git
GIT_TAG v2.4.1
)
FetchContent_MakeAvailable(criterion)
add_executable(nanomodbus_tests nanomodbus.c tests/nanomodbus_tests.c)
target_link_libraries(nanomodbus_tests pthread)
add_executable(multi_server_rtu nanomodbus.c tests/multi_server_rtu.c)
target_compile_definitions(multi_server_rtu PUBLIC NMBS_DEBUG)
target_link_libraries(multi_server_rtu pthread)
add_executable(server_disabled nanomodbus.c tests/server_disabled.c)
target_compile_definitions(server_disabled PUBLIC NMBS_SERVER_DISABLED)
add_custom_target(tests DEPENDS nanomodbus_tests server_disabled client_disabled multi_server_rtu)
add_executable(client_disabled nanomodbus.c tests/client_disabled.c)
target_compile_definitions(client_disabled PUBLIC NMBS_CLIENT_DISABLED)
add_executable(client-tcp nanomodbus.c examples/linux/client-tcp.c)
add_executable(server-tcp nanomodbus.c examples/linux/server-tcp.c)
add_executable(multi_server_rtu nanomodbus.c tests/multi_server_rtu.c)
target_compile_definitions(multi_server_rtu PUBLIC NMBS_DEBUG)
target_link_libraries(multi_server_rtu pthread)
enable_testing()
add_test(NAME test_general COMMAND $<TARGET_FILE:nanomodbus_tests>)
add_test(NAME test_server_disabled COMMAND $<TARGET_FILE:server_disabled>)
add_test(NAME test_client_disabled COMMAND $<TARGET_FILE:client_disabled>)
add_test(NAME test_multi_server_rtu COMMAND $<TARGET_FILE:multi_server_rtu>)
endif()