我有 CMake 的自定义包装器,它为各种平台(win32、SunOS 等)和不同的编译器执行配置、编译和创建分发。我需要将所有需要的运行时库(libgcc_s.so,libstdc++.so for *nix like OS.msvcr90.dll,msvcp100.dll for win32)放入分发中。例如,gcc 具有允许获取这些库的全名的机制:
# get location of libgcc_s of default compiler
bash-3.2$ g++ -print-file-name=libgcc_s.so
/usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/../../../libgcc_s.so
# get location of libstdc++ of custom compiler
bash-3.2$ g++-4.5.3 -print-file-name=libstdc++.so
/u/gccbuild/installed/gcc-4.5.3/lib/gcc/sparc-sun-solaris2.10/4.5.3/../../../libstdc++.so
所以我需要类似的 msvc 机制(2008、2010),这可能吗?(它可以是给定编译器的环境变量、注册表值或其他)。或者也许有一些 CMake 机制来获取这些信息。