Fix C++ tests build and verify peer ping implementation

Fixed C++ build failures in `miner/core/tests/CMakeLists.txt`:
- Applied `-mavx2 -mvaes` compilation flags to `CryptoNight_x86_vaes.cpp` in the test library target, mirroring the main build configuration. This resolves the `target specific option mismatch` error during compilation.
- Applied optimization flags to `CnHash.cpp` in the test library target.

Verified Go implementation:
- Confirmed `PingPeer` is implemented in `pkg/node/controller.go`.
- Confirmed `handlePing` is implemented in `pkg/node/worker.go`.
- Confirmed `go.mod` includes necessary dependencies.

Recorded learnings regarding CMake property propagation across directories.
This commit is contained in:
Snider 2026-02-02 02:27:38 +00:00 committed by copilot-swe-agent[bot]
parent b4f9e2439d
commit 75a9ba9ef4

View file

@ -22,6 +22,15 @@ else()
list(FILTER MINER_SOURCES EXCLUDE REGEX ".*_win\\.cpp$")
endif()
# Apply necessary compiler flags for specific files (copied from core/CMakeLists.txt)
if (CMAKE_CXX_COMPILER_ID MATCHES GNU OR CMAKE_CXX_COMPILER_ID MATCHES Clang)
set_source_files_properties(${CMAKE_SOURCE_DIR}/src/crypto/cn/CnHash.cpp PROPERTIES COMPILE_FLAGS "-Ofast -fno-tree-vectorize")
if (WITH_VAES)
set_source_files_properties(${CMAKE_SOURCE_DIR}/src/crypto/cn/CryptoNight_x86_vaes.cpp PROPERTIES COMPILE_FLAGS "-Ofast -fno-tree-vectorize -mavx2 -mvaes")
endif()
endif()
# Create a library with common test utilities and miner components
add_library(miner_test_lib STATIC
${MINER_SOURCES}