CMake设置调试环境,用于不同版本的调试和发布

ufj5ltwl  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(168)

使用不同的库路径与CMake链接时

add_executable(MyTarget ${SOURCE_FILES} ${INCLUDE_FILES})

target_link_libraries(MyTarget LINK_PRIVATE debug ${SOME_LIBRARY_DIR}/debug/*.lib )
target_link_libraries(MyTarget LINK_PRIVATE optimized ${SOME_LIBRARY_DIR}/release/*.lib )

字符串
然后想用MSVC的编译器执行它,它不能启动,因为它找不到DLL。
DLL在${SOME_BINARY_DIR}/debug${SOME_BINARY_DIR}/release中。我试图将Release和Release的路径都添加到调试器属性(属性->环境->环境)中。但是,

set_target_properties(MyTarget PROPERTIES VS_DEBUGGER_ENVIRONMENT PATH=${SOME_BINARY_DIR}/debug)
set_target_properties(MyTarget PROPERTIES VS_DEBUGGER_ENVIRONMENT PATH=${SOME_BINARY_DIR}/release)


调试路径被释放路径覆盖。
我尝试了很多$<$<CONFIG:Debug>:Debug PATH=${SOME_BINARY_DIR}/debug>,但我的尝试都没有工作。有没有办法在VS编程器中用CMake设置不同的环境?

3phpmpom

3phpmpom1#

我自己解决了:

set_target_properties(MyTarget PROPERTIES
        VS_DEBUGGER_ENVIRONMENT 
"$<$<CONFIG:Debug>:PATH=${SOME_BINARY_DIR}/debug> \
 $<$<CONFIG:Release>:PATH=${SOME_BINARY_DIR}/release>"
    )

字符串

相关问题