fri*_*zmg 7 cmake visual-studio-2008
我这里有一个vs2008项目.它的项目文件由CMake生成.我想要做的是独立定义Debug和Release目标的库和库目录,即释放发布目标的库和调试目标的调试库.
到目前为止,我不知道该怎么做.我知道我可以用CMAKE_CXX_FLAGS_DEBUG和CMAKE_CXX_FLAGS_RELEASE定义不同的编译器参数(或者命名构建目标),但我不知道如何为链接目录和库执行此操作.
创建具有所有定义的CMakeLists文件的同事尝试了它
IF( CMAKE_BUILD_TYPE MATCHES "Debug" )
Run Code Online (Sandbox Code Playgroud)
例如,但这不起作用.根据一些CMake wiki,变量CMAKE_BUILD_TYPE未在配置时定义,仅在运行时定义,具体取决于您正在运行的目标.
目前我有点死路一条,并会欣赏任何提示或方向:).
tib*_*bur 10
有一个target_link_libraries选项可以帮助您做到这一点.但是您需要将库名扩展为完整路径.
target_link_libraries(foo
debug c:/path/to/debug/lib/blah.lib
optimized c:/path/to/optimized/lib/blah.lib)
Run Code Online (Sandbox Code Playgroud)
如果您的库位置以CMake的方式命名(Debug/MinSizeRel/RelWithDebInfo/Release),则可以使用VS $(ConfigurationName)变量:
link_directories(c:/path/to/all/libs/$(ConfigurationName)/)
Run Code Online (Sandbox Code Playgroud)
请注意,$(ConfigurationName)它不是一个cmake变量:它只会在构建/链接步骤中由VS扩展.
| 归档时间: |
|
| 查看次数: |
10361 次 |
| 最近记录: |