diff options
author | Luke T. Shumaker <lukeshu@lukeshu.com> | 2024-10-12 17:53:05 -0600 |
---|---|---|
committer | Luke T. Shumaker <lukeshu@lukeshu.com> | 2024-10-12 17:53:05 -0600 |
commit | eb4e0bc7dd140b356a62071bf8e0427fc0cee816 (patch) | |
tree | c71d7daf1dfccf7e261c2fe22d7d5a0bd55bf34d /cmd/srv9p/CMakeLists.txt | |
parent | 7508de2e4ec10baf46c7cde6e7774051ac19e95a (diff) |
get read working correctly
Diffstat (limited to 'cmd/srv9p/CMakeLists.txt')
-rw-r--r-- | cmd/srv9p/CMakeLists.txt | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/cmd/srv9p/CMakeLists.txt b/cmd/srv9p/CMakeLists.txt index 8aadb28..e9d4097 100644 --- a/cmd/srv9p/CMakeLists.txt +++ b/cmd/srv9p/CMakeLists.txt @@ -3,10 +3,16 @@ # Copyright (C) 2024 Luke T. Shumaker <lukeshu@lukeshu.com> # SPDX-Licence-Identifier: AGPL-3.0-or-later +set(static_srcs + static/README.md + static/Documentation/x +) + add_executable(srv9p main.c - static.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 @@ -14,3 +20,32 @@ target_link_libraries(srv9p 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) |