相关疑难解决方法(0)

如何在cmake中打印目标的所有属性?

使用以下cmake scrpt:

get_cmake_property(_variableNames VARIABLES)
foreach (_variableName ${_variableNames})
    message(STATUS "${_variableName}=${${_variableName}}")
endforeach()
Run Code Online (Sandbox Code Playgroud)

我们可以打印CMake项目中的所有变量.然后我的问题是:是否有一个可以打印目标的所有属性的函数?

cmake

40
推荐指数
3
解决办法
2万
查看次数

从makefile到CMake的通用规则

我试图将流动的vanilla makefile行"转换"为CMake语法.

SRCS = $(wildcard *.foo)
OBJS = $(SRCS:.foo=.bar)

my_rule: $(OBJS)

%.bar: %.foo
    make_bar_from_foo  $@  $<
Run Code Online (Sandbox Code Playgroud)

工作丑陋的尝试

FILE(GLOB SRCS "*.foo")
SET(outFiles)
FOREACH(SRC ${SRCS})
    SET(OUTPUT_FILE_NAME "${SRC}.bar")

    ADD_CUSTOM_COMMAND(
      OUTPUT "${OUTPUT_FILE_NAME}"
      COMMAND make_bar_from_foo ${SRC} ${OUTPUT_FILE_NAME}
      DEPENDS "${SRC}")

    SET(outFiles ${outFiles} "${OUTPUT_FILE_NAME}")
ENDFOREACH(SRC)
ADD_CUSTOM_TARGET(my_rule ALL DEPENDS ${outFiles})
Run Code Online (Sandbox Code Playgroud)

我知道它会为每个文件生成一个命令而不是通用的.最简单/最干净的方法吗?

makefile cmake

9
推荐指数
1
解决办法
2455
查看次数

标签 统计

cmake ×2

makefile ×1