diff options
| author | tanaka takashi <isazaka@gmail.com> | 2026-06-30 19:19:45 +0900 |
|---|---|---|
| committer | tanaka takashi <isazaka@gmail.com> | 2026-06-30 19:19:45 +0900 |
| commit | ac4dd6ad07d2d9048c3177dc4f3df42146268233 (patch) | |
| tree | c48c87bdcae3d742fd439d33e2fa52073222b0eb /src | |
| parent | 05c8e0a31a0d4192c590e833b24393208e1c751f (diff) | |
CMake設定変更
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e441c55..66ef748 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,14 +1,22 @@ -add_library(tiny-convmem-base STATIC base/allocator.c) -target_include_directories(tiny-convmem-base PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") -target_compile_features(tiny-convmem-base PUBLIC c_std_17) +# Interface source targets keep the shared grouping used by the tests while +# compiling the implementation directly into each consuming executable. This +# avoids producing intermediate base/sys .lib archives with Visual Studio. +add_library(tiny-convmem-base INTERFACE) +target_sources(tiny-convmem-base INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/base/allocator.c") +target_include_directories(tiny-convmem-base INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}") +target_compile_features(tiny-convmem-base INTERFACE c_std_17) -add_library(tiny-convmem-sys STATIC sys/system.c sys/encoding.c) -target_include_directories(tiny-convmem-sys PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}") -target_compile_features(tiny-convmem-sys PUBLIC c_std_17) -target_link_libraries(tiny-convmem-sys PUBLIC tiny-convmem-base) +add_library(tiny-convmem-sys INTERFACE) +target_sources(tiny-convmem-sys INTERFACE + "${CMAKE_CURRENT_SOURCE_DIR}/sys/system.c" + "${CMAKE_CURRENT_SOURCE_DIR}/sys/encoding.c" +) +target_include_directories(tiny-convmem-sys INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}") +target_compile_features(tiny-convmem-sys INTERFACE c_std_17) +target_link_libraries(tiny-convmem-sys INTERFACE tiny-convmem-base) if(WIN32) - target_link_libraries(tiny-convmem-sys PRIVATE bcrypt shell32) + target_link_libraries(tiny-convmem-sys INTERFACE bcrypt shell32) endif() add_executable(tiny-convmem-mcp @@ -38,7 +46,7 @@ target_link_libraries(tiny-convmem-mcp PRIVATE mcpc::mcpc tiny-convmem-sys) target_compile_features(tiny-convmem-mcp PRIVATE c_std_17) if(MSVC) - target_compile_options(tiny-convmem-base PRIVATE /utf-8 /W4) - target_compile_options(tiny-convmem-sys PRIVATE /utf-8 /W4) + target_compile_options(tiny-convmem-base INTERFACE /utf-8 /W4) + target_compile_options(tiny-convmem-sys INTERFACE /utf-8 /W4) target_compile_options(tiny-convmem-mcp PRIVATE /utf-8 /W4) endif() |
