diff options
author | Manuel Bentele | 2021-03-04 08:47:43 +0100 |
---|---|---|
committer | Manuel Bentele | 2021-03-04 08:47:43 +0100 |
commit | 2b5631eaa444023043a18ff3985f5a0e7a11436a (patch) | |
tree | 4f27eaf01b80eea60d5f9b65023c8db2635ec8b5 /src | |
parent | [BUILD] Add build support for Github actions (diff) | |
download | dnbd3-2b5631eaa444023043a18ff3985f5a0e7a11436a.tar.gz dnbd3-2b5631eaa444023043a18ff3985f5a0e7a11436a.tar.xz dnbd3-2b5631eaa444023043a18ff3985f5a0e7a11436a.zip |
[BUILD] Add support in CMake to validate (lint) the source code
Diffstat (limited to 'src')
-rw-r--r-- | src/bench/CMakeLists.txt | 13 | ||||
-rw-r--r-- | src/client/CMakeLists.txt | 7 | ||||
-rw-r--r-- | src/fuse/CMakeLists.txt | 13 | ||||
-rw-r--r-- | src/kernel/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/server/CMakeLists.txt | 57 | ||||
-rw-r--r-- | src/shared/CMakeLists.txt | 20 |
6 files changed, 88 insertions, 30 deletions
diff --git a/src/bench/CMakeLists.txt b/src/bench/CMakeLists.txt index 4e2becf..24542a7 100644 --- a/src/bench/CMakeLists.txt +++ b/src/bench/CMakeLists.txt @@ -7,9 +7,16 @@ project(dnbd3-bench # add compile option to enable enhanced POSIX pthread features add_definitions(-D_GNU_SOURCE) -add_executable(dnbd3-bench ${CMAKE_CURRENT_SOURCE_DIR}/connection.c - ${CMAKE_CURRENT_SOURCE_DIR}/helper.c - ${CMAKE_CURRENT_SOURCE_DIR}/main.c) +set(DNBD3_BENCH_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/connection.c + ${CMAKE_CURRENT_SOURCE_DIR}/helper.c + ${CMAKE_CURRENT_SOURCE_DIR}/main.c) +set(DNBD3_BENCH_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/connection.h + ${CMAKE_CURRENT_SOURCE_DIR}/helper.h) + +add_executable(dnbd3-bench ${DNBD3_BENCH_SOURCE_FILES}) target_link_libraries(dnbd3-bench dnbd3-version dnbd3-shared ${CMAKE_THREAD_LIBS_INIT}) install(TARGETS dnbd3-bench RUNTIME DESTINATION bin COMPONENT bench) + +add_linter(dnbd3-bench-lint "${DNBD3_BENCH_SOURCE_FILES}" "${DNBD3_BENCH_HEADER_FILES}") +add_linter_fix(dnbd3-bench-lint-fix "${DNBD3_BENCH_SOURCE_FILES}" "${DNBD3_BENCH_HEADER_FILES}") diff --git a/src/client/CMakeLists.txt b/src/client/CMakeLists.txt index 29dcdb4..41f182e 100644 --- a/src/client/CMakeLists.txt +++ b/src/client/CMakeLists.txt @@ -7,7 +7,12 @@ project(dnbd3-client # add compile option to enable enhanced BSD netdb features add_definitions(-D_GNU_SOURCE) -add_executable(dnbd3-client ${CMAKE_CURRENT_SOURCE_DIR}/client.c) +set(DNBD3_CLIENT_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/client.c) + +add_executable(dnbd3-client ${DNBD3_CLIENT_SOURCE_FILES}) target_link_libraries(dnbd3-client dnbd3-version dnbd3-build dnbd3-shared) install(TARGETS dnbd3-client RUNTIME DESTINATION bin COMPONENT kernel) + +add_linter(dnbd3-client-lint "${DNBD3_CLIENT_SOURCE_FILES}") +add_linter_fix(dnbd3-client-lint-fix "${DNBD3_CLIENT_SOURCE_FILES}") diff --git a/src/fuse/CMakeLists.txt b/src/fuse/CMakeLists.txt index fba0ed1..e4c8de9 100644 --- a/src/fuse/CMakeLists.txt +++ b/src/fuse/CMakeLists.txt @@ -9,10 +9,17 @@ find_package(Fuse REQUIRED) # add compile option to enable enhanced POSIX pthread features add_definitions(-D_GNU_SOURCE) -add_executable(dnbd3-fuse ${CMAKE_CURRENT_SOURCE_DIR}/connection.c - ${CMAKE_CURRENT_SOURCE_DIR}/helper.c - ${CMAKE_CURRENT_SOURCE_DIR}/main.c) +set(DNBD3_FUSE_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/connection.c + ${CMAKE_CURRENT_SOURCE_DIR}/helper.c + ${CMAKE_CURRENT_SOURCE_DIR}/main.c) +set(DNBD3_FUSE_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/connection.h + ${CMAKE_CURRENT_SOURCE_DIR}/helper.h) + +add_executable(dnbd3-fuse ${DNBD3_FUSE_SOURCE_FILES}) target_include_directories(dnbd3-fuse PRIVATE ${FUSE_INCLUDE_DIRS}) target_link_libraries(dnbd3-fuse dnbd3-build dnbd3-version dnbd3-shared ${FUSE_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT}) install(TARGETS dnbd3-fuse RUNTIME DESTINATION bin COMPONENT fuse) + +add_linter(dnbd3-fuse-lint "${DNBD3_FUSE_SOURCE_FILES}" "${DNBD3_FUSE_HEADER_FILES}") +add_linter_fix(dnbd3-fuse-lint-fix "${DNBD3_FUSE_SOURCE_FILES}" "${DNBD3_FUSE_HEADER_FILES}") diff --git a/src/kernel/CMakeLists.txt b/src/kernel/CMakeLists.txt index 0f5a4bd..47efdd2 100644 --- a/src/kernel/CMakeLists.txt +++ b/src/kernel/CMakeLists.txt @@ -37,6 +37,7 @@ set(KERNEL_MODULE_DNBD3_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/blk.h ${CMAKE_CURRENT_SOURCE_DIR}/net.h ${CMAKE_CURRENT_SOURCE_DIR}/sysfs.h ${CMAKE_CURRENT_SOURCE_DIR}/utils.h) + add_kernel_module(dnbd3 "${KERNEL_BUILD_DIR}" "${KERNEL_INSTALL_DIR}" "CONFIG_BLK_DEV_DNBD3=m" @@ -46,3 +47,10 @@ add_kernel_module(dnbd3 "${KERNEL_BUILD_DIR}" # add dependency to generate project version header before dnbd3.ko is built add_dependencies(dnbd3 dnbd3-generate-version) + +add_kernel_linter(dnbd3-lint "${KERNEL_BUILD_DIR}" + "${KERNEL_MODULE_DNBD3_SOURCE_FILES}" + "${KERNEL_MODULE_DNBD3_HEADER_FILES}") +add_kernel_linter_fix(dnbd3-lint-fix "${KERNEL_BUILD_DIR}" + "${KERNEL_MODULE_DNBD3_SOURCE_FILES}" + "${KERNEL_MODULE_DNBD3_HEADER_FILES}") diff --git a/src/server/CMakeLists.txt b/src/server/CMakeLists.txt index a5bd660..915da74 100644 --- a/src/server/CMakeLists.txt +++ b/src/server/CMakeLists.txt @@ -40,23 +40,43 @@ if(DNBD3_SERVER_AFL) endif(AFL_C_COMPILER) endif(DNBD3_SERVER_AFL) -add_executable(dnbd3-server ${CMAKE_CURRENT_SOURCE_DIR}/altservers.c - ${CMAKE_CURRENT_SOURCE_DIR}/fileutil.c - ${CMAKE_CURRENT_SOURCE_DIR}/fuse.c - ${CMAKE_CURRENT_SOURCE_DIR}/globals.c - ${CMAKE_CURRENT_SOURCE_DIR}/helper.c - ${CMAKE_CURRENT_SOURCE_DIR}/image.c - ${CMAKE_CURRENT_SOURCE_DIR}/ini.c - ${CMAKE_CURRENT_SOURCE_DIR}/integrity.c - ${CMAKE_CURRENT_SOURCE_DIR}/locks.c - ${CMAKE_CURRENT_SOURCE_DIR}/net.c - ${CMAKE_CURRENT_SOURCE_DIR}/picohttpparser/picohttpparser.c - ${CMAKE_CURRENT_SOURCE_DIR}/reference.c - ${CMAKE_CURRENT_SOURCE_DIR}/rpc.c - ${CMAKE_CURRENT_SOURCE_DIR}/server.c - ${CMAKE_CURRENT_SOURCE_DIR}/threadpool.c - ${CMAKE_CURRENT_SOURCE_DIR}/uplink.c - ${CMAKE_CURRENT_SOURCE_DIR}/urldecode.c) +set(DNBD3_SERVER_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/altservers.c + ${CMAKE_CURRENT_SOURCE_DIR}/fileutil.c + ${CMAKE_CURRENT_SOURCE_DIR}/fuse.c + ${CMAKE_CURRENT_SOURCE_DIR}/globals.c + ${CMAKE_CURRENT_SOURCE_DIR}/helper.c + ${CMAKE_CURRENT_SOURCE_DIR}/image.c + ${CMAKE_CURRENT_SOURCE_DIR}/ini.c + ${CMAKE_CURRENT_SOURCE_DIR}/integrity.c + ${CMAKE_CURRENT_SOURCE_DIR}/locks.c + ${CMAKE_CURRENT_SOURCE_DIR}/net.c + ${CMAKE_CURRENT_SOURCE_DIR}/picohttpparser/picohttpparser.c + ${CMAKE_CURRENT_SOURCE_DIR}/reference.c + ${CMAKE_CURRENT_SOURCE_DIR}/rpc.c + ${CMAKE_CURRENT_SOURCE_DIR}/server.c + ${CMAKE_CURRENT_SOURCE_DIR}/threadpool.c + ${CMAKE_CURRENT_SOURCE_DIR}/uplink.c + ${CMAKE_CURRENT_SOURCE_DIR}/urldecode.c) +set(DNBD3_SERVER_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/altservers.h + ${CMAKE_CURRENT_SOURCE_DIR}/fileutil.h + ${CMAKE_CURRENT_SOURCE_DIR}/fuse.h + ${CMAKE_CURRENT_SOURCE_DIR}/globals.h + ${CMAKE_CURRENT_SOURCE_DIR}/helper.h + ${CMAKE_CURRENT_SOURCE_DIR}/image.h + ${CMAKE_CURRENT_SOURCE_DIR}/ini.h + ${CMAKE_CURRENT_SOURCE_DIR}/integrity.h + ${CMAKE_CURRENT_SOURCE_DIR}/locks.h + ${CMAKE_CURRENT_SOURCE_DIR}/net.h + ${CMAKE_CURRENT_SOURCE_DIR}/picohttpparser/picohttpparser.h + ${CMAKE_CURRENT_SOURCE_DIR}/reference.h + ${CMAKE_CURRENT_SOURCE_DIR}/reftypes.h + ${CMAKE_CURRENT_SOURCE_DIR}/rpc.h + ${CMAKE_CURRENT_SOURCE_DIR}/server.h + ${CMAKE_CURRENT_SOURCE_DIR}/threadpool.h + ${CMAKE_CURRENT_SOURCE_DIR}/uplink.h + ${CMAKE_CURRENT_SOURCE_DIR}/urldecode.h) + +add_executable(dnbd3-server ${DNBD3_SERVER_SOURCE_FILES}) target_include_directories(dnbd3-server PRIVATE ${JANSSON_INCLUDE_DIR}) target_link_libraries(dnbd3-server dnbd3-version dnbd3-build dnbd3-shared Libatomic::Libatomic ${CMAKE_THREAD_LIBS_INIT} ${JANSSON_LIBRARIES}) @@ -85,3 +105,6 @@ endif(DNBD3_SERVER_DEBUG_THREADS) install(TARGETS dnbd3-server RUNTIME DESTINATION bin COMPONENT server) + +add_linter(dnbd3-server-lint "${DNBD3_SERVER_SOURCE_FILES}" "${DNBD3_SERVER_HEADER_FILES}") +add_linter_fix(dnbd3-server-lint-fix "${DNBD3_SERVER_SOURCE_FILES}" "${DNBD3_SERVER_HEADER_FILES}") diff --git a/src/shared/CMakeLists.txt b/src/shared/CMakeLists.txt index 6356399..b280b77 100644 --- a/src/shared/CMakeLists.txt +++ b/src/shared/CMakeLists.txt @@ -7,10 +7,18 @@ project(dnbd3-shared # add compile option to get POLLRDHUP support for signals add_definitions(-D_GNU_SOURCE) -add_library(dnbd3-shared STATIC ${CMAKE_CURRENT_SOURCE_DIR}/crc32.c - ${CMAKE_CURRENT_SOURCE_DIR}/fdsignal.c - ${CMAKE_CURRENT_SOURCE_DIR}/log.c - ${CMAKE_CURRENT_SOURCE_DIR}/serialize.c - ${CMAKE_CURRENT_SOURCE_DIR}/sockhelper.c - ${CMAKE_CURRENT_SOURCE_DIR}/timing.c) +set(DNBD3_SHARED_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/crc32.c + ${CMAKE_CURRENT_SOURCE_DIR}/fdsignal.c + ${CMAKE_CURRENT_SOURCE_DIR}/log.c + ${CMAKE_CURRENT_SOURCE_DIR}/serialize.c + ${CMAKE_CURRENT_SOURCE_DIR}/sockhelper.c + ${CMAKE_CURRENT_SOURCE_DIR}/timing.c) +set(DNBD3_SHARED_HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/fdsignal.inc/eventfd.c + ${CMAKE_CURRENT_SOURCE_DIR}/fdsignal.inc/pipe64.c + ${CMAKE_CURRENT_SOURCE_DIR}/fdsignal.inc/pipe_malloc.c) + +add_library(dnbd3-shared STATIC ${DNBD3_SHARED_SOURCE_FILES}) target_include_directories(dnbd3-shared PUBLIC ${PROJECT_INCLUDE_DIR}) + +add_linter(dnbd3-shared-lint "${DNBD3_SHARED_SOURCE_FILES}" "${DNBD3_SHARED_HEADER_FILES}") +add_linter_fix(dnbd3-shared-lint-fix "${DNBD3_SHARED_SOURCE_FILES}" "${DNBD3_SHARED_HEADER_FILES}") |