feat(build): align Windows static builds with vcpkg runtime settings

- Updated CMake configuration to align Windows static builds (MSVC, clang-cl) with vcpkg's /MT runtime.
- Added conditional linking for libprotobuf when YAZE_WITH_GRPC is enabled, enhancing modularity.
- Addressed potential macro conflicts by undefining SendMessage in the conversational agent service files.

Benefits:
- Improves compatibility and reliability of builds on Windows platforms.
- Enhances the flexibility of the build system by conditionally linking libraries based on configuration options.
This commit is contained in:
scawful
2025-10-14 00:12:08 -04:00
parent cafa50b355
commit 55f6ed93bc
4 changed files with 16 additions and 1 deletions

View File

@@ -22,6 +22,11 @@ else()
LANGUAGES CXX C)
endif()
# Align Windows static builds (MSVC, clang-cl) with vcpkg's /MT runtime
if(MSVC OR (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND WIN32))
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
endif()
# Enable ccache for faster rebuilds if available
find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)
@@ -163,4 +168,3 @@ add_custom_target(build_cleaner
COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_SOURCE_DIR} ${Python3_EXECUTABLE} scripts/build_cleaner.py --dry-run
COMMENT "Validate CMake source lists and includes"
)