summaryrefslogtreecommitdiff
path: root/lib9p/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'lib9p/CMakeLists.txt')
-rw-r--r--lib9p/CMakeLists.txt45
1 files changed, 39 insertions, 6 deletions
diff --git a/lib9p/CMakeLists.txt b/lib9p/CMakeLists.txt
index 543d01a..9ef8465 100644
--- a/lib9p/CMakeLists.txt
+++ b/lib9p/CMakeLists.txt
@@ -3,23 +3,36 @@
# Copyright (C) 2024-2025 Luke T. Shumaker <lukeshu@lukeshu.com>
# SPDX-License-Identifier: AGPL-3.0-or-later
+add_library(lib9p_core_headers INTERFACE)
+target_include_directories(lib9p_core_headers PUBLIC INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/core_include)
+target_link_libraries(lib9p_core_headers INTERFACE
+ libhw_generic_headers
+ libmisc_headers
+)
+
add_library(lib9p_core INTERFACE)
-target_include_directories(lib9p_core PUBLIC INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/core_include)
+target_link_libraries(lib9p_core INTERFACE lib9p_core_headers)
target_sources(lib9p_core INTERFACE
core.c
core_generated.c
- core_tables.c
)
target_link_libraries(lib9p_core INTERFACE
- libfmt
libhw_generic
libmisc
)
+add_library(lib9p_srv_headers INTERFACE)
+target_include_directories(lib9p_srv_headers PUBLIC INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/srv_include)
+target_link_libraries(lib9p_srv_headers INTERFACE
+ lib9p_core_headers
+ libcr_ipc_headers
+)
+
add_library(lib9p_srv INTERFACE)
-target_include_directories(lib9p_srv PUBLIC INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/srv_include)
+target_link_libraries(lib9p_srv INTERFACE lib9p_srv_headers)
target_sources(lib9p_srv INTERFACE
srv.c
+ srv_generated.c
)
target_link_libraries(lib9p_srv INTERFACE
lib9p_core
@@ -50,6 +63,26 @@ if (ENABLE_TESTS)
add_lib9p_executable("testclient-sess")
add_lib9p_test("./testclient-sess")
- add_lib_test(lib9p_core test_compile)
- target_include_directories(test_compile PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/tests/test_compile_config)
+ add_lib9p_executable("testclient-hangup")
+ add_lib9p_test("./testclient-hangup")
+
+ set(cfg_matrix
+ "CONFIG_9P_ENABLE_9P2000;[0;1]"
+ "CONFIG_9P_ENABLE_9P2000_u;[0;1]"
+ "CONFIG_9P_ENABLE_9P2000_e;[0;1]"
+ "CONFIG_9P_ENABLE_9P2000_L;[0;1]"
+ "CONFIG_9P_ENABLE_9P2000_p9p;[0;1]"
+ )
+ function(add_compile_test n defs)
+ add_library("test_compile${n}" STATIC "tests/test_compile.c"
+ core.c
+ core_generated.c
+ srv.c
+ srv_generated.c
+ )
+ target_link_libraries("test_compile${n}" PUBLIC lib9p_srv_headers)
+ target_include_directories("test_compile${n}" PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/tests/test_compile_config)
+ target_compile_definitions("test_compile${n}" PUBLIC "${defs}")
+ endfunction()
+ apply_matrix(add_compile_test "${cfg_matrix}")
endif()