polybar/cmake/04-targets.cmake

75 lines
2.0 KiB
CMake
Raw Normal View History

2016-11-03 12:06:33 +00:00
#
# Custom targets
#
# Target: uninstall {{{
configure_file(
${PROJECT_SOURCE_DIR}/cmake/templates/uninstall.cmake.in
2016-11-19 05:22:44 +00:00
${PROJECT_BINARY_DIR}/cmake/uninstall.cmake
2017-01-25 22:28:25 +00:00
ESCAPE_QUOTES @ONLY)
2016-11-03 12:06:33 +00:00
2017-01-25 22:28:25 +00:00
add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${PROJECT_BINARY_DIR}/cmake/uninstall.cmake)
2016-11-03 12:06:33 +00:00
# }}}
# folders where the clang tools should operate
set(CLANG_SEARCH_PATHS ${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/tests)
# Runs clang-format on all source files
add_custom_target(
clangformat
COMMAND ${PROJECT_SOURCE_DIR}/common/file-runner.py
--dirs ${CLANG_SEARCH_PATHS}
-- clang-format -style=file -i --verbose
)
# Dry-runs clang-format on all source files
# Useful for CI since it will exit with an error code
add_custom_target(
clangformat-dryrun
COMMAND ${PROJECT_SOURCE_DIR}/common/file-runner.py
--dirs ${CLANG_SEARCH_PATHS}
-- clang-format -style=file --dry-run -Werror --verbose
)
2016-11-03 12:06:33 +00:00
2016-11-25 10:49:37 +00:00
# Target: codecheck (clang-tidy) {{{
2016-11-03 12:06:33 +00:00
2016-11-25 10:49:37 +00:00
add_custom_target(codecheck)
2017-01-25 22:28:25 +00:00
add_custom_command(TARGET codecheck
COMMAND ${PROJECT_SOURCE_DIR}/common/clang-tidy.sh
${PROJECT_BINARY_DIR} ${CLANG_SEARCH_PATHS})
2016-11-03 12:06:33 +00:00
# }}}
2016-11-25 10:49:37 +00:00
# Target: codecheck-fix (clang-tidy + clang-format) {{{
add_custom_target(codecheck-fix)
2017-01-25 22:28:25 +00:00
add_custom_command(TARGET codecheck-fix
COMMAND ${PROJECT_SOURCE_DIR}/common/clang-tidy.sh
${PROJECT_BINARY_DIR} -fix ${CLANG_SEARCH_PATHS})
2016-11-03 12:06:33 +00:00
# }}}
2016-12-14 04:07:42 +00:00
# Target: memcheck (valgrind) {{{
add_custom_target(memcheck)
2017-01-25 22:28:25 +00:00
add_custom_command(TARGET memcheck
COMMAND valgrind
--leak-check=summary
--suppressions=${PROJECT_SOURCE_DIR}/.valgrind-suppressions
2017-01-25 22:28:25 +00:00
${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/${PROJECT_NAME}
example --config=${PROJECT_SOURCE_DIR}/doc/config)
add_custom_target(memcheck-full)
2017-01-25 22:28:25 +00:00
add_custom_command(TARGET memcheck-full
COMMAND valgrind
--leak-check=full
2016-12-14 04:07:42 +00:00
--track-origins=yes
--track-fds=yes
2016-12-14 04:07:42 +00:00
--suppressions=${PROJECT_SOURCE_DIR}/.valgrind-suppressions
2017-01-25 22:28:25 +00:00
${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}/${PROJECT_NAME}
example --config=${PROJECT_SOURCE_DIR}/doc/config)
2016-12-14 04:07:42 +00:00
# }}}