【发布时间】:2021-09-18 17:39:33
【问题描述】:
我有一个通过 CMake 配置的项目,我已将其导入 Eclipse,并且可以毫无问题地编译。
我想检查某些文件的大小,为此,我通过 Cmake 命令调用定义的大小实用程序,如下所示
add_custom_command(
TARGET myTarget
POST_BUILD
COMMENT "Unit sizes"
COMMAND ${CMAKE_SIZE_UTIL} "C:/LocalData/Projects/build_dir/debug/apps/myApp/code/CMakeFiles/units.dir/myUnit/src/*.o"
)
上面的命令工作正常,因为我提供了*.o 文件的硬编码路径
Unit sizes
text data bss dec hex filename
xxxx x xx xx xxx C:/LocalData/Projects/build_dir/debug/apps/myApp/code/CMakeFiles/units.dir/myUnit/src/a.o
xxx x xx xx xxx C:/LocalData/Projects/build_dir/debug/apps/myApp/code/CMakeFiles/units.dir/myUnit/src/b.o
但是,我想将 Cmake custom_command 中的硬编码路径替换为 Eclipse 中定义的包含此路径的变量myPath,即myPath=C:/LocalData/Projects/build_dir/debug/apps/myApp,这样会更灵活。
add_custom_command(
TARGET myTarget
POST_BUILD
COMMENT "Unit sizes"
COMMAND ${CMAKE_SIZE_UTIL} "${myPath}/code/CMakeFiles/units.dir/myUnit/src/*.o"
)
我能做到这一点吗?如果是这样,我该怎么做?
提前致谢
【问题讨论】:
-
你不应该使用环境变量...几乎可以肯定你想要
${CMAKE_CURRENT_BINARY_DIR} -
从头开始,你想要
$<TARGET_OBJECTS:...>。不要在 CMake 内部目录(如CMakeFiles)中闲逛。
标签: eclipse cmake eclipse-cdt