51 lines
1.4 KiB
CMake
Raw Permalink Normal View History

2026-05-06 13:37:19 -04:00
cmake_minimum_required(VERSION 3.14)
project(BlockchainModuleTests LANGUAGES CXX)
include(LogosTest)
# Unit tests (mocked logos_blockchain)
logos_test(
NAME blockchain_module_tests
MODULE_SOURCES
../src/logos_blockchain_module.cpp
TEST_SOURCES
main.cpp
test_blockchain.cpp
MOCK_C_SOURCES
mocks/mock_logos_blockchain.cpp
EXTRA_INCLUDES
stubs
)
# Integration tests (real logos_blockchain library)
find_library(LIBLOGOS_BLOCKCHAIN_PATH
NAMES liblogos_blockchain.so liblogos_blockchain.dylib
PATHS ${CMAKE_CURRENT_SOURCE_DIR}/../lib
NO_DEFAULT_PATH)
if(LIBLOGOS_BLOCKCHAIN_PATH)
message(STATUS "[BlockchainTests] logos_blockchain found: ${LIBLOGOS_BLOCKCHAIN_PATH} - building integration tests")
logos_test(
NAME blockchain_module_integration_tests
MODULE_SOURCES
../src/logos_blockchain_module.cpp
TEST_SOURCES
main.cpp
test_blockchain.cpp
EXTRA_INCLUDES
../lib
EXTRA_LINK_LIBS
${LIBLOGOS_BLOCKCHAIN_PATH}
)
get_filename_component(LIBLOGOS_BLOCKCHAIN_DIR "${LIBLOGOS_BLOCKCHAIN_PATH}" DIRECTORY)
set_target_properties(blockchain_module_integration_tests PROPERTIES
BUILD_RPATH "${LIBLOGOS_BLOCKCHAIN_DIR}"
)
else()
message(STATUS "[BlockchainTests] logos_blockchain not found in ../lib - skipping integration tests")
endif()