-CMAKE_MINIMUM_REQUIRED(VERSION 3.25.1)
+cmake_minimum_required(VERSION 3.25.1)
-SET(CMAKE_BUILD_TYPE "Debug" CACHE STRING "build type")
+set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "build type")
-IF(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
- SET(CMAKE_C_FLAGS "-std=c99 -Wall -Wextra -pedantic -g -fsanitize=address")
+if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
+ set(CMAKE_C_FLAGS "-std=c99 -Wall -Wextra -pedantic -g -fsanitize=address")
else()
- SET(CMAKE_C_FLAGS "-std=c99 -Werror -Wextra -pedantic")
-ENDIF()
+ set(CMAKE_C_FLAGS "-std=c99 -Werror -Wextra -pedantic")
+endif()
-MESSAGE(STATUS "CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}")
+message(STATUS "CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}")
-PROJECT(feierabend-c)
+project(feierabend-c)
-ADD_SUBDIRECTORY(src)
-IF(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
- ADD_SUBDIRECTORY(tests)
-ENDIF()
\ No newline at end of file
+add_subdirectory(src)
+if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
+ add_subdirectory(tests)
+endif()
\ No newline at end of file
-CMAKE_MINIMUM_REQUIRED(VERSION 3.25.1)
+cmake_minimum_required(VERSION 3.25.1)
-PROJECT(feierabend VERSION 1.3.16)
+project(feierabend VERSION 1.3.16)
-FIND_PACKAGE(LibXml2 REQUIRED)
-MESSAGE(STATUS "find LibXml2: " ${LIBXML2_LIBRARY})
+find_package(LibXml2 REQUIRED)
+message(STATUS "find LibXml2: " ${LIBXML2_LIBRARY})
-IF(${LIBXML2_VERSION_STRING} VERSION_GREATER_EQUAL "2.15.0")
- MESSAGE(STATUS "define LIBXML2_15")
+if(${LIBXML2_VERSION_STRING} VERSION_GREATER_EQUAL "2.15.0")
+ message(STATUS "define LIBXML2_15")
add_compile_definitions(LIBXML2_15)
-ENDIF()
+endif()
-INCLUDE(GNUInstallDirs)
+message(STATUS "CMAKE_INSTALL_PREFIX " ${CMAKE_INSTALL_PREFIX})
+message(STATUS "CMAKE_INSTALL_BINDIR " ${CMAKE_INSTALL_BINDIR})
-MESSAGE(STATUS "CMAKE_INSTALL_PREFIX " ${CMAKE_INSTALL_PREFIX})
-MESSAGE(STATUS "CMAKE_INSTALL_BINDIR " ${CMAKE_INSTALL_BINDIR})
+set(SOLL_HOUR 8 CACHE STRING "soll Stunden")
+set(SOLL_MINUTES 0 CACHE STRING "soll Minuten")
-SET(SOLL_HOUR 8 CACHE STRING "soll Stunden")
-SET(SOLL_MINUTES 0 CACHE STRING "soll Minuten")
+message(STATUS "SOLL_HOUR: ${SOLL_HOUR}")
+message(STATUS "SOLL_MINUTES: ${SOLL_MINUTES}")
-MESSAGE(STATUS "SOLL_HOUR: ${SOLL_HOUR}")
-MESSAGE(STATUS "SOLL_MINUTES: ${SOLL_MINUTES}")
+configure_file(config.h.in config.h)
-CONFIGURE_FILE(config.h.in config.h)
+include_directories(${CMAKE_CURRENT_BINARY_DIR} ${LIBXML2_INCLUDE_DIR})
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR} ${LIBXML2_INCLUDE_DIR})
-
-ADD_EXECUTABLE(${PROJECT_NAME}
+add_executable(${PROJECT_NAME}
feierabend.c
validate.c
time_format.c
worktime.c
break.c)
-ADD_EXECUTABLE(${PROJECT_NAME}xml
+add_executable(${PROJECT_NAME}xml
feierabendxml.c
validate.c
xml.c
time_format.c
worktime.c
break.c)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME}xml
+target_link_libraries(${PROJECT_NAME}xml
${LIBXML2_LIBRARY})
-INSTALL(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}xml
+install(TARGETS ${PROJECT_NAME} ${PROJECT_NAME}xml
DESTINATION ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})
-SET(CPACK_GENERATOR "DEB")
-SET(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
-SET(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
-SET(CPACK_DEBIAN_PACKAGE_NAME ${PROJECT_NAME})
-SET(CPACK_DEBIAN_ARCHITECTURE ${CMAKE_HOST_SYSTEM_PROCESSOR})
-SET(CPACK_DEBIAN_FILE_NAME ${PROJECT_NAME}_${PROJECT_VERSION}-1_${CMAKE_HOST_SYSTEM_PROCESSOR}.deb)
-SET(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
-SET(CPACK_DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
-SET(CPACK_DEBIAN_PACKAGE_RELEASE 1)
-SET(CPACK_DEBIAN_PACKAGE_MAINTAINER "Bastian Dehn <hhaalo@arcor.de")
-SET(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
-SET(CPACK_DEBIAN_PACKAGE_SECTION "misc")
-SET(CPACK_DEBIAN_PACKAGE_DESCRIPTION "work time cli tool")
-
-INCLUDE(CPack)
+set(CPACK_GENERATOR "DEB")
+set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
+set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
+set(CPACK_DEBIAN_PACKAGE_NAME ${PROJECT_NAME})
+set(CPACK_DEBIAN_ARCHITECTURE ${CMAKE_HOST_SYSTEM_PROCESSOR})
+set(CPACK_DEBIAN_FILE_NAME ${PROJECT_NAME}_${PROJECT_VERSION}-1_${CMAKE_HOST_SYSTEM_PROCESSOR}.deb)
+set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
+set(CPACK_DEBIAN_PACKAGE_VERSION ${CPACK_PACKAGE_VERSION})
+set(CPACK_DEBIAN_PACKAGE_RELEASE 1)
+set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Bastian Dehn <hhaalo@arcor.de")
+set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
+set(CPACK_DEBIAN_PACKAGE_SECTION "misc")
+set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "work time cli tool")
+
+include(CPack)
-CMAKE_MINIMUM_REQUIRED(VERSION 3.25.1)
+cmake_minimum_required(VERSION 3.25.1)
-FIND_LIBRARY(CMOCKA cmocka REQUIRED)
-FIND_PROGRAM(CPPCHECK cppcheck REQUIRED)
+find_library(CMOCKA cmocka REQUIRED)
+find_program(CPPCHECK cppcheck REQUIRED)
-INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/src)
+include_directories(${CMAKE_BINARY_DIR}/src)
-ADD_EXECUTABLE(break_tests
+add_executable(break_tests
break_tests.c
../src/break.c)
-TARGET_LINK_LIBRARIES(break_tests
+target_link_libraries(break_tests
${CMOCKA})
-ADD_EXECUTABLE(worktime_tests
+add_executable(worktime_tests
worktime_tests.c
../src/worktime.c
../src/break.c)
-TARGET_LINK_LIBRARIES(worktime_tests
+target_link_libraries(worktime_tests
${CMOCKA})
-ADD_EXECUTABLE(time_format_tests
+add_executable(time_format_tests
time_format_tests.c
../src/time_format.c)
-TARGET_LINK_LIBRARIES(time_format_tests
+target_link_libraries(time_format_tests
${CMOCKA})
-ADD_EXECUTABLE(validate_tests
+add_executable(validate_tests
validate_tests.c
../src/validate.c)
-TARGET_LINK_LIBRARIES(validate_tests
+target_link_libraries(validate_tests
${CMOCKA})
-ADD_CUSTOM_TARGET(run_tests
+add_custom_target(run_tests
ALL ./break_tests
COMMAND ./worktime_tests
COMMAND ./time_format_tests
time_format_tests
validate_tests)
-ADD_CUSTOM_COMMAND(TARGET run_tests
+add_custom_command(TARGET run_tests
POST_BUILD
COMMAND ${CPPCHECK}
--check-level=exhaustive