2025-12-22 15:23:54 +01:00
|
|
|
cmake_minimum_required(VERSION 3.20)
|
|
|
|
|
project(amduat_api LANGUAGES C)
|
|
|
|
|
|
|
|
|
|
set(CMAKE_C_STANDARD 11)
|
|
|
|
|
set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
|
|
|
set(CMAKE_C_EXTENSIONS OFF)
|
|
|
|
|
|
2026-01-23 23:30:29 +01:00
|
|
|
option(AMDUATD_ENABLE_UI "Build amduatd embedded UI" ON)
|
|
|
|
|
|
2025-12-22 15:23:54 +01:00
|
|
|
add_subdirectory(vendor/amduat)
|
|
|
|
|
|
2026-01-21 19:51:26 +01:00
|
|
|
add_library(amduat_federation
|
|
|
|
|
federation/coord.c
|
|
|
|
|
federation/transport_stub.c
|
|
|
|
|
federation/transport_unix.c
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_include_directories(amduat_federation
|
|
|
|
|
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
|
|
|
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/vendor/amduat/include
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_link_libraries(amduat_federation
|
|
|
|
|
PRIVATE amduat_asl amduat_enc amduat_util amduat_fed
|
|
|
|
|
)
|
|
|
|
|
|
2026-01-23 23:30:29 +01:00
|
|
|
set(amduatd_sources src/amduatd.c)
|
|
|
|
|
if(AMDUATD_ENABLE_UI)
|
|
|
|
|
list(APPEND amduatd_sources src/amduatd_ui.c)
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
add_executable(amduatd ${amduatd_sources})
|
2025-12-22 15:23:54 +01:00
|
|
|
|
|
|
|
|
target_include_directories(amduatd
|
|
|
|
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/vendor/amduat/src/internal
|
|
|
|
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/vendor/amduat/include
|
|
|
|
|
)
|
|
|
|
|
|
2026-01-23 23:30:29 +01:00
|
|
|
target_compile_definitions(amduatd
|
|
|
|
|
PRIVATE AMDUATD_ENABLE_UI=$<BOOL:${AMDUATD_ENABLE_UI}>
|
|
|
|
|
)
|
|
|
|
|
|
2025-12-22 15:23:54 +01:00
|
|
|
target_link_libraries(amduatd
|
2025-12-22 21:03:00 +01:00
|
|
|
PRIVATE amduat_tgk amduat_pel amduat_format amduat_asl_store_fs amduat_asl
|
2026-01-21 19:51:26 +01:00
|
|
|
amduat_enc amduat_hash_asl1 amduat_util amduat_federation
|
2025-12-22 15:23:54 +01:00
|
|
|
)
|
2026-01-23 19:35:01 +01:00
|
|
|
|
|
|
|
|
add_executable(amduat_pel_gc
|
|
|
|
|
src/amduat_pel_gc.c
|
|
|
|
|
src/asl_gc_fs.c
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
set_target_properties(amduat_pel_gc PROPERTIES OUTPUT_NAME "amduat-pel")
|
|
|
|
|
|
|
|
|
|
target_include_directories(amduat_pel_gc
|
|
|
|
|
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/vendor/amduat/include
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
target_link_libraries(amduat_pel_gc
|
|
|
|
|
PRIVATE amduat_asl_store_fs amduat_asl_record amduat_asl amduat_enc
|
|
|
|
|
amduat_hash_asl1 amduat_pel amduat_util
|
|
|
|
|
)
|