Skip to content

Commit 426ab1a

Browse files
committed
cmake: Add option to disable/enable tests and verification
Signed-off-by: Diogo Behrens <[email protected]>
1 parent c332564 commit 426ab1a

File tree

1 file changed

+38
-30
lines changed

1 file changed

+38
-30
lines changed

CMakeLists.txt

Lines changed: 38 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -23,37 +23,45 @@ install(DIRECTORY include/vsync DESTINATION include)
2323
install(FILES vmm.cat DESTINATION share/vsync/)
2424
install(TARGETS vatomic EXPORT ${PROJECT_TARGETS})
2525

26-
# Atomic templating
27-
add_subdirectory(template)
28-
add_subdirectory(tmplr)
29-
30-
# Basic format sanitization
31-
add_custom_target(
32-
sanitize-vatomic
33-
COMMAND ${PROJECT_SOURCE_DIR}/scripts/sanitize.sh include
34-
COMMAND ${PROJECT_SOURCE_DIR}/scripts/sanitize.sh test
35-
COMMAND ${PROJECT_SOURCE_DIR}/scripts/license-check.sh
36-
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
37-
38-
# CMake formating checks
39-
set(CMAKE_FMT_CMD ${PROJECT_SOURCE_DIR}/scripts/cmake-format.sh
40-
${CMAKE_SOURCE_DIR})
41-
set(CMAKE_STYLE_FILE ${PROJECT_SOURCE_DIR}/.cmake-format)
42-
add_custom_target(cmake-format-apply COMMAND env STYLE=${CMAKE_STYLE_FILE}
43-
SILENT=true ${CMAKE_FMT_CMD})
44-
# Clang formating checks
45-
set(CLANG_FMT_CMD ${PROJECT_SOURCE_DIR}/scripts/clang-format.sh
46-
${CMAKE_SOURCE_DIR})
47-
set(CLANG_STYLE_FILE ${PROJECT_SOURCE_DIR}/.clang-format)
48-
add_custom_target(clang-format-apply COMMAND env STYLE=${CLANG_STYLE_FILE}
49-
SILENT=true ${CLANG_FMT_CMD})
50-
add_dependencies(clang-format-apply sanitize-vatomic)
51-
52-
# General diff check for pipeline
53-
add_custom_target(diff-check COMMAND git --no-pager diff --exit-code)
54-
55-
# Enable testing and verification only if this is the top level project
26+
# Enable development targets only if this is the top level project
5627
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
28+
set(VATOMIC_DEV_DEFAULT ON)
29+
else()
30+
set(VATOMIC_DEV_DEFAULT OFF)
31+
endif()
32+
33+
option(VATOMIC_DEV "Enable development targets" ${VATOMIC_DEV_DEFAULT})
34+
35+
if(VATOMIC_DEV)
36+
# Atomic templating
37+
add_subdirectory(template)
38+
add_subdirectory(tmplr)
39+
40+
# Basic format sanitization
41+
add_custom_target(
42+
sanitize-vatomic
43+
COMMAND ${PROJECT_SOURCE_DIR}/scripts/sanitize.sh include
44+
COMMAND ${PROJECT_SOURCE_DIR}/scripts/sanitize.sh test
45+
COMMAND ${PROJECT_SOURCE_DIR}/scripts/license-check.sh
46+
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
47+
48+
# CMake formating checks
49+
set(CMAKE_FMT_CMD ${PROJECT_SOURCE_DIR}/scripts/cmake-format.sh
50+
${CMAKE_SOURCE_DIR})
51+
set(CMAKE_STYLE_FILE ${PROJECT_SOURCE_DIR}/.cmake-format)
52+
add_custom_target(cmake-format-apply COMMAND env STYLE=${CMAKE_STYLE_FILE}
53+
SILENT=true ${CMAKE_FMT_CMD})
54+
# Clang formating checks
55+
set(CLANG_FMT_CMD ${PROJECT_SOURCE_DIR}/scripts/clang-format.sh
56+
${CMAKE_SOURCE_DIR})
57+
set(CLANG_STYLE_FILE ${PROJECT_SOURCE_DIR}/.clang-format)
58+
add_custom_target(clang-format-apply COMMAND env STYLE=${CLANG_STYLE_FILE}
59+
SILENT=true ${CLANG_FMT_CMD})
60+
add_dependencies(clang-format-apply sanitize-vatomic)
61+
62+
# General diff check for pipeline
63+
add_custom_target(diff-check COMMAND git --no-pager diff --exit-code)
64+
5765
include(CTest)
5866
include(ProcessorCount)
5967
include(cmake/v_add_test.cmake)

0 commit comments

Comments
 (0)