Fra*_*ser 47
您应该为此使用生成器表达式.
从文档for add_custom_command和生成器表达式的文档:
参数
COMMAND可以使用"发电机表达" ...在构建系统生成期间评估生成器表达式,以生成特定于每个构建配置的信息.
在这种情况下,假设您的库目标名为"MyLib",表示构建库的完整路径的生成器表达式将是:
$<TARGET_FILE:MyLib>
Run Code Online (Sandbox Code Playgroud)
bgo*_*odr 24
尝试:
get_property(fancy_lib_location TARGET fancy_lib PROPERTY LOCATION)
message (STATUS "fancy_lib_location == ${fancy_lib_location}")
Run Code Online (Sandbox Code Playgroud)
fancy_lib创建目标的位置在哪里add_library (fancy_lib SHARED ...).
我发现它直接与Makefile生成器一起工作,但是Visual Studio生成器还有很多工作要做,因为它的值fancy_lib_location不是你所期望的:
fancy_lib_location将包含对Visual-Studio特定$(OutDir)引用的嵌入式引用,您必须将其替换为CMAKE_BUILD_TYPECMake变量的值(它解析为类似的Debug,或者Release).CMAKE_DEBUG_POSTFIX变量,那么它将不包含在值中(这可能是也可能不是bug,我不知道).| 归档时间: |
|
| 查看次数: |
39026 次 |
| 最近记录: |