我的 C++ 程序是使用 CMake 为多个操作系统(Win7、MacOS 和 Linux)编译的。
对于依赖于操作系统的东西,我正在做类似的事情:
if (${APPLE})
// Do MacOS dependent things here
elseif(${WIN32})
// Do Win dependent things here
elseif(${UNIX})
// Do Linux dependent things here
endif (${APPLE})
现在,我需要将我的程序与不同版本的库链接起来。继续同样的方式很快就会变得不切实际。
如何针对库的多个版本编译多个操作系统的程序,同时保持一切实用,以便轻松添加新的操作系统和/或库的新版本?
最终,一切都将与 Jenkins 集成,所以我不知道在 CMake 或 Jenkins 级别(或两者)工作是否更好。