86 lines
3.0 KiB
CMake
86 lines
3.0 KiB
CMake
# Optional NetWare salvage/deleted-entry smoke-test helpers.
|
|
#
|
|
# The first helper is a layout contract test for the upcoming recycle-backed
|
|
# nwsalvage backend. It has no ncpfs dependency and does not require a running
|
|
# mars_nwe server.
|
|
|
|
set(SALVAGE_LAYOUT_SMOKE_SCRIPT
|
|
${CMAKE_CURRENT_BINARY_DIR}/salvage_layout_smoke.sh
|
|
)
|
|
|
|
add_custom_command(
|
|
OUTPUT ${SALVAGE_LAYOUT_SMOKE_SCRIPT}
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${CMAKE_CURRENT_SOURCE_DIR}/salvage_layout_smoke.sh
|
|
${SALVAGE_LAYOUT_SMOKE_SCRIPT}
|
|
COMMAND ${CMAKE_COMMAND} -E env chmod +x ${SALVAGE_LAYOUT_SMOKE_SCRIPT}
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/salvage_layout_smoke.sh
|
|
COMMENT "Copying salvage layout smoke helper"
|
|
VERBATIM
|
|
)
|
|
|
|
add_custom_target(salvage_layout_smoke ALL
|
|
DEPENDS ${SALVAGE_LAYOUT_SMOKE_SCRIPT}
|
|
)
|
|
|
|
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_CLEAN_FILES
|
|
${SALVAGE_LAYOUT_SMOKE_SCRIPT}
|
|
)
|
|
|
|
set(SALVAGE_SMOKE_SUITE_SCRIPT
|
|
${CMAKE_CURRENT_BINARY_DIR}/salvage_smoke_suite.sh
|
|
)
|
|
|
|
add_custom_command(
|
|
OUTPUT ${SALVAGE_SMOKE_SUITE_SCRIPT}
|
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
|
${CMAKE_CURRENT_SOURCE_DIR}/salvage_smoke_suite.sh
|
|
${SALVAGE_SMOKE_SUITE_SCRIPT}
|
|
COMMAND ${CMAKE_COMMAND} -E env chmod +x ${SALVAGE_SMOKE_SUITE_SCRIPT}
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/salvage_smoke_suite.sh
|
|
COMMENT "Copying salvage NCP smoke suite"
|
|
VERBATIM
|
|
)
|
|
|
|
add_custom_target(salvage_smoke_suite ALL
|
|
DEPENDS ${SALVAGE_SMOKE_SUITE_SCRIPT}
|
|
)
|
|
|
|
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_CLEAN_FILES
|
|
${SALVAGE_SMOKE_SUITE_SCRIPT}
|
|
)
|
|
|
|
find_path(SALVAGE_NCPFS_INCLUDE_DIR
|
|
NAMES ncp/nwcalls.h ncp/ncplib.h
|
|
)
|
|
|
|
find_library(SALVAGE_NCPFS_LIBRARY
|
|
NAMES ncp
|
|
)
|
|
|
|
if(SALVAGE_NCPFS_INCLUDE_DIR AND SALVAGE_NCPFS_LIBRARY)
|
|
add_executable(ncp_delete_smoke ncp_delete_smoke.c)
|
|
target_include_directories(ncp_delete_smoke PRIVATE ${SALVAGE_NCPFS_INCLUDE_DIR})
|
|
target_link_libraries(ncp_delete_smoke ${SALVAGE_NCPFS_LIBRARY})
|
|
|
|
add_executable(ncp_read_smoke ncp_read_smoke.c)
|
|
target_include_directories(ncp_read_smoke PRIVATE ${SALVAGE_NCPFS_INCLUDE_DIR})
|
|
target_link_libraries(ncp_read_smoke ${SALVAGE_NCPFS_LIBRARY})
|
|
|
|
add_executable(ncp_salvage_scan_smoke ncp_salvage_scan_smoke.c)
|
|
target_include_directories(ncp_salvage_scan_smoke PRIVATE ${SALVAGE_NCPFS_INCLUDE_DIR})
|
|
target_link_libraries(ncp_salvage_scan_smoke ${SALVAGE_NCPFS_LIBRARY})
|
|
|
|
add_executable(ncp_salvage_recover_smoke ncp_salvage_recover_smoke.c)
|
|
target_include_directories(ncp_salvage_recover_smoke PRIVATE ${SALVAGE_NCPFS_INCLUDE_DIR})
|
|
target_link_libraries(ncp_salvage_recover_smoke ${SALVAGE_NCPFS_LIBRARY})
|
|
|
|
add_executable(ncp_salvage_purge_smoke ncp_salvage_purge_smoke.c)
|
|
target_include_directories(ncp_salvage_purge_smoke PRIVATE ${SALVAGE_NCPFS_INCLUDE_DIR})
|
|
target_link_libraries(ncp_salvage_purge_smoke ${SALVAGE_NCPFS_LIBRARY})
|
|
else()
|
|
message(STATUS
|
|
"Skipping salvage NCP smoke helpers: ncpfs/libncp headers or library not found"
|
|
)
|
|
endif()
|