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:
@@ -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"
|
||||
)
|
||||
|
||||
|
||||
@@ -40,6 +40,9 @@ target_link_libraries(yaze PRIVATE
|
||||
absl::flags
|
||||
absl::flags_parse
|
||||
)
|
||||
if(YAZE_WITH_GRPC AND TARGET libprotobuf)
|
||||
target_link_libraries(yaze PRIVATE libprotobuf)
|
||||
endif()
|
||||
|
||||
# Link test support library (yaze_editor needs TestManager)
|
||||
if(TARGET yaze_test_support)
|
||||
|
||||
@@ -27,6 +27,10 @@
|
||||
#include "cli/util/terminal_colors.h"
|
||||
#include "nlohmann/json.hpp"
|
||||
|
||||
#ifdef SendMessage
|
||||
#undef SendMessage
|
||||
#endif
|
||||
|
||||
ABSL_DECLARE_FLAG(std::string, ai_provider);
|
||||
|
||||
namespace yaze {
|
||||
|
||||
@@ -20,6 +20,10 @@
|
||||
#include "cli/service/agent/agent_pretraining.h"
|
||||
#endif
|
||||
|
||||
#ifdef SendMessage
|
||||
#undef SendMessage
|
||||
#endif
|
||||
|
||||
namespace yaze {
|
||||
|
||||
class Rom;
|
||||
|
||||
Reference in New Issue
Block a user