@@ -32,6 +32,32 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
3232
3333option (VIX_ENABLE_LTO "Enable LTO in Release builds" OFF )
3434
35+ # ----------------------------------------------------
36+ # CLI test isolation
37+ # ----------------------------------------------------
38+ option (VIX_CLI_BUILD_TESTS "Build Vix CLI tests" OFF )
39+
40+ if (VIX_CLI_BUILD_TESTS)
41+ set (BUILD_TESTING OFF CACHE BOOL "" FORCE )
42+
43+ set (ASYNC_BUILD_TESTS OFF CACHE BOOL "" FORCE )
44+ set (ASYNC_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE )
45+
46+ set (TEMPLATE_BUILD_TESTS OFF CACHE BOOL "" FORCE )
47+ set (TEMPLATE_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE )
48+ set (TEMPLATE_BUILD_BENCHMARKS OFF CACHE BOOL "" FORCE )
49+
50+ set (VIX_UTILS_BUILD_TESTS OFF CACHE BOOL "" FORCE )
51+ set (VIX_JSON_BUILD_TESTS OFF CACHE BOOL "" FORCE )
52+ set (VIX_CORE_BUILD_TESTS OFF CACHE BOOL "" FORCE )
53+ set (VIX_NET_BUILD_TESTS OFF CACHE BOOL "" FORCE )
54+ set (VIX_CRYPTO_BUILD_TESTS OFF CACHE BOOL "" FORCE )
55+ set (VIX_SYNC_BUILD_TESTS OFF CACHE BOOL "" FORCE )
56+ set (VIX_CACHE_BUILD_TESTS OFF CACHE BOOL "" FORCE )
57+ set (VIX_P2P_BUILD_TESTS OFF CACHE BOOL "" FORCE )
58+ set (VIX_AGENT_BUILD_TESTS OFF CACHE BOOL "" FORCE )
59+ endif ()
60+
3561file (GLOB_RECURSE CLI_SOURCES
3662 CONFIGURE_DEPENDS
3763 "${CMAKE_CURRENT_SOURCE_DIR} /src/*.cpp"
@@ -397,5 +423,14 @@ if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
397423 )
398424endif ()
399425
426+ # ----------------------------------------------------
427+ # Tests
428+ # ----------------------------------------------------
429+ if (VIX_CLI_BUILD_TESTS)
430+ set (BUILD_TESTING ON CACHE BOOL "" FORCE )
431+ enable_testing ()
432+ add_subdirectory (tests )
433+ endif ()
434+
400435message (STATUS "CLI module configured." )
401436message (STATUS "Executable will be: ${CMAKE_BINARY_DIR} /vix" )
0 commit comments