Files
cinema-ticket-management-sy…/cmake/generation/CountLines.cmake
T

42 lines
1.8 KiB
CMake
Raw Normal View History

2026-07-12 14:34:52 +04:00
set(ROOT_DIR ${CMAKE_SOURCE_DIR})
file(GLOB_RECURSE HEADER_FILES "${ROOT_DIR}/*.h")
file(GLOB_RECURSE SOURCE_FILES "${ROOT_DIR}/*.cpp")
file(GLOB_RECURSE CMAKE_FILES "${ROOT_DIR}/*.cmake")
file(GLOB_RECURSE CMAKE_LISTS_FILES "${ROOT_DIR}/CMakeLists.txt")
set(MOC_FILTER ".*/moc_.*")
set(BUILD_DIR_FILTER ".*/build/.*")
list(FILTER HEADER_FILES EXCLUDE REGEX "${MOC_FILTER}")
list(FILTER HEADER_FILES EXCLUDE REGEX "${BUILD_DIR_FILTER}")
list(FILTER SOURCE_FILES EXCLUDE REGEX "${MOC_FILTER}")
list(FILTER SOURCE_FILES EXCLUDE REGEX "${BUILD_DIR_FILTER}")
list(FILTER CMAKE_FILES EXCLUDE REGEX "${BUILD_DIR_FILTER}")
list(FILTER CMAKE_LISTS_FILES EXCLUDE REGEX "${BUILD_DIR_FILTER}")
execute_process(COMMAND wc -l ${HEADER_FILES} OUTPUT_VARIABLE HEADER_COUNT ERROR_QUIET)
execute_process(COMMAND wc -l ${SOURCE_FILES} OUTPUT_VARIABLE SOURCE_COUNT ERROR_QUIET)
execute_process(COMMAND wc -l ${CMAKE_FILES} OUTPUT_VARIABLE CMAKE_COUNT ERROR_QUIET)
execute_process(COMMAND wc -l ${CMAKE_LISTS_FILES} OUTPUT_VARIABLE CMAKE_LISTS_COUNT ERROR_QUIET)
file(MAKE_DIRECTORY "${CMAKE_SOURCE_DIR}/artifacts")
set(HEADER_FILE "${CMAKE_SOURCE_DIR}/artifacts/header_lines_count.txt")
set(SOURCE_FILE "${CMAKE_SOURCE_DIR}/artifacts/source_lines_count.txt")
set(CMAKE_FILE "${CMAKE_SOURCE_DIR}/artifacts/cmake_lines_count.txt")
set(CMAKE_LISTS_FILE "${CMAKE_SOURCE_DIR}/artifacts/cmake_lists_lines_count.txt")
file(WRITE ${HEADER_FILE} "${HEADER_COUNT}")
file(WRITE ${SOURCE_FILE} "${SOURCE_COUNT}")
file(WRITE ${CMAKE_FILE} "${CMAKE_COUNT}")
file(WRITE ${CMAKE_LISTS_FILE} "${CMAKE_LISTS_COUNT}")
message(STATUS "Header line count written to: ${HEADER_FILE}")
message(STATUS "Source line count written to: ${SOURCE_FILE}")
message(STATUS "CMake line count written to: ${CMAKE_FILE}")
message(STATUS "CMakeLists.txt line count written to: ${CMAKE_LISTS_FILE}")