我有一个 C++ 项目,其中大部分是本机代码(核心库 + WINdows 服务)和一个用托管 C++ 编写的配置 GUI。我已经将该项目的大部分内容移植到了 CMake,但我坚持使用 CMake 构建托管 C++ 代码。
顶级目标如下所示:
# Native C++ static libraries.
add_library(sql STATIC ...)
add_library(w32 STATIC ...)
add_library(smdr STATIC ...)
# Native C++ programs depending on above libraries.
add_executable(logging-service ...)
target_link_libraries(logging-service sql w32 smdr)
# ... more native executables here...
# Managed C++ GUI application (doesn't link with any of the above).
add_executable(configuration-editor ...)
我在 CMake 文档中找不到任何相关信息,而且我在搜索结果中看到的大多数解决方案(例如邮件列表中的消息)都涉及调整CMAKE_CXX_FLAGS*
变量。但是,这会与其他 C++ 项目产生冲突。
您将如何设置构建脚本以具有两组 C++ 编译器标志,一组用于本机库,一组用于托管应用程序?