华容道高性能计算引擎
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

82 lines
2.6 KiB

cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
project(klotski_test LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 23)
set(KLSK_TEST_DEPS klotski::core GTest::gtest_main bs::thread_pool)
# ------------------------------------------------------------------------------------ #
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
# ------------------------------------------------------------------------------------ #
add_library(test_helper
helper/internal/block_num.cc
helper/internal/concurrent.cc
helper/internal/parallel.cc
helper/internal/hash.cc
helper/internal/group.cc
helper/internal/mirror.cc
)
target_link_libraries(test_helper PRIVATE klotski_core bs::thread_pool md5sum::md5 xxHash::xxh3)
# ------------------------------------------------------------------------------------ #
set(KLSK_TEST_CASES_SRC
cases/ranges.cc
cases/ranges_union.cc
cases/basic_ranges.cc
cases/all_cases.cc
)
add_executable(test_klotski_cases ${KLSK_TEST_CASES_SRC})
target_link_libraries(test_klotski_cases PRIVATE ${KLSK_TEST_DEPS} test_helper)
add_test(NAME klotski_cases COMMAND test_klotski_cases)
# ------------------------------------------------------------------------------------ #
set(KLSK_TEST_GROUP_SRC
group/group_union.cc
group/group_legacy.cc
group/group_pro.cc
# group/helper/group_impl.cc
)
add_executable(test_klotski_group ${KLSK_TEST_GROUP_SRC})
target_link_libraries(test_klotski_group PRIVATE ${KLSK_TEST_DEPS} test_helper)
add_test(NAME klotski_group COMMAND test_klotski_group)
# ------------------------------------------------------------------------------------ #
set(KLSK_TEST_FFI_SRC
ffi/all_cases.cc
)
#add_executable(test_klotski_ffi ${KLSK_TEST_FFI_SRC})
#target_link_libraries(test_klotski_ffi PRIVATE ${KLSK_TEST_DEPS})
#add_test(NAME klotski_ffi COMMAND test_klotski_ffi)
# ------------------------------------------------------------------------------------ #
set(KLSK_TEST_CODEC_SRC
codec/raw_code.cc
codec/short_code.cc
codec/common_code.cc
)
add_executable(test_klotski_codec ${KLSK_TEST_CODEC_SRC})
target_link_libraries(test_klotski_codec PRIVATE ${KLSK_TEST_DEPS} test_helper)
add_test(NAME klotski_codec COMMAND test_klotski_codec)
# ------------------------------------------------------------------------------------ #
set(KLSK_TEST_MOVER_SRC
mover/mover.cc
)
add_executable(test_klotski_mover ${KLSK_TEST_MOVER_SRC})
target_link_libraries(test_klotski_mover PRIVATE ${KLSK_TEST_DEPS} test_helper)
add_test(NAME klotski_mover COMMAND test_klotski_mover)
# ------------------------------------------------------------------------------------ #