我需要处理在Windows中的CMake 3.x、Qt Creator 3.3.0、Qt 4.8.6和Visual Studio 2008(偶尔也会使用Debian中的Qt Creator + GCC)。
这条指令:
install(TARGETS ${PROJECT} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
因为将Debug和Release的 *.lib
文件混合存放在同一个目录下,所以不是很方便。 我希望将 libs
存储在相应的子文件夹中。
我尝试了从here中给出的以下指令:
install(TARGETS ${PROJECT} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/\${BUILD_TYPE})
对于Visual Studio,它是一个多配置解决方案,我们通过反斜杠'\'
传递${BUILD_TYPE}
以进行进一步传播,这种方法非常有效。
但是,如何在Qt Creator + MS C++编译器
中实现相同的输出呢?我应该将${CMAKE_BUILD_TYPE}
(例如)分配给Debug
(通过命令行界面),并使用特殊的自定义标志告诉CMake我们正在处理nmake / make吗?我的意思是有条件的安装指令,在Windows和Linux中都可以很好地工作,并且需要最小化CMake
的命令行参数上的差异。如果有标准解决方案,我不想重复发明轮子。