BareGit

Gate engine probe behind BUILD_TESTING

Author: MetroWind <chris.corsair@gmail.com>
Date: Wed Sep 23 15:05:14 2026 -0700
Commit: 97c23cfc27c108f37e71e85828b68cb0f450ed57

Changes

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 07d63cc..828eff1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.24)
 
 project(nethack_mcp VERSION 0.1.0 LANGUAGES C CXX)
 
+include(CTest)
+
 set(CMAKE_CXX_STANDARD 23)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 set(CMAKE_CXX_EXTENSIONS OFF)
@@ -155,20 +157,21 @@ if(NETHACK_BUILD_ENGINE)
 
     add_library(NetHack::libnethack ALIAS nethack_lib)
 
-    add_executable(nethack_engine_probe src/engine_probe.cpp)
-    target_compile_options(nethack_engine_probe PRIVATE
-        -Wall -Wextra -Wpedantic)
-    target_compile_definitions(nethack_engine_probe PRIVATE
-        NETHACK_PROBE_RUNTIME_DIR="${NETHACK_RUNTIME_DIR}")
-    target_include_directories(nethack_engine_probe PRIVATE
-        "${NETHACK_WORK_DIR}/include")
-    target_link_libraries(nethack_engine_probe PRIVATE nethack_lib)
-
-    enable_testing()
-    add_test(NAME nethack_engine_probe COMMAND nethack_engine_probe)
-    set_tests_properties(nethack_engine_probe PROPERTIES
-        WORKING_DIRECTORY "${NETHACK_RUNTIME_DIR}"
-        TIMEOUT 10)
+    if(BUILD_TESTING)
+        add_executable(nethack_engine_probe src/engine_probe.cpp)
+        target_compile_options(nethack_engine_probe PRIVATE
+            -Wall -Wextra -Wpedantic)
+        target_compile_definitions(nethack_engine_probe PRIVATE
+            NETHACK_PROBE_RUNTIME_DIR="${NETHACK_RUNTIME_DIR}")
+        target_include_directories(nethack_engine_probe PRIVATE
+            "${NETHACK_WORK_DIR}/include")
+        target_link_libraries(nethack_engine_probe PRIVATE nethack_lib)
+
+        add_test(NAME nethack_engine_probe COMMAND nethack_engine_probe)
+        set_tests_properties(nethack_engine_probe PROPERTIES
+            WORKING_DIRECTORY "${NETHACK_RUNTIME_DIR}"
+            TIMEOUT 10)
+    endif()
 else()
     set(NETHACK_RUNTIME_DIR "${CMAKE_CURRENT_BINARY_DIR}")
 endif()
diff --git a/README.md b/README.md
index f0fdc8d..27e0ec6 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,8 @@ cmake --build build -j24
 ```
 
 The produced engine library is `build/nethack-work/src/libnethack.a`.
+When `BUILD_TESTING` is enabled, CMake also builds `nethack_engine_probe` and
+registers its startup check with CTest. The Arch package disables it.
 
 HTML, JavaScript, CSS, and font assets are maintained as ordinary files in
 `web/`. A build step embeds them in a generated C++ translation unit, which is
diff --git a/packages/arch/PKGBUILD b/packages/arch/PKGBUILD
index fddf841..c625017 100644
--- a/packages/arch/PKGBUILD
+++ b/packages/arch/PKGBUILD
@@ -33,6 +33,7 @@ build() {
         -DCMAKE_BUILD_TYPE=None \
         -DCMAKE_INSTALL_PREFIX=/usr \
         -DNETHACK_BUILD_ENGINE=ON \
+        -DBUILD_TESTING=OFF \
         -Wno-dev
     cmake --build build
 }