# cmd/srv9p/CMakeLists.txt - Build script for srv9p test/dev executable # # Copyright (C) 2024 Luke T. Shumaker # SPDX-Licence-Identifier: AGPL-3.0-or-later set(static_srcs static/README.md static/Documentation/x ) add_executable(srv9p main.c static9p.c ) target_include_directories(srv9p PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) target_include_directories(srv9p PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/config) target_link_libraries(srv9p libcr libcr_ipc libnetio lib9p ) set(static_objs) foreach(static_src ${static_srcs}) add_custom_command( OUTPUT "${static_src}.obj" WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMMAND dirname -- ${CMAKE_CURRENT_BINARY_DIR}/${static_src}.obj | xargs mkdir -p -- COMMAND ${CMAKE_LINKER} -r -b binary -o ${CMAKE_CURRENT_BINARY_DIR}/${static_src}.obj ${static_src} DEPENDS "${static_src}" ) list(APPEND static_objs "${static_src}.obj") endforeach() set_source_files_properties(${static_objs} PROPERTIES EXTERNAL_OBJECT true GENERATED true ) set_source_files_properties(static.h PROPERTIES GENERATED true ) add_custom_command( OUTPUT static.h DEPENDS ${static_objs} static.h.gen COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/static.h.gen ${static_objs} >static.h ) target_sources(srv9p PRIVATE ${static_objs} static.h)