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
}