作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 CMake 构建一个目标文件,但我似乎无法让 CMake 构建一个完整的可执行文件以外的东西。我基本上是在寻找以下编译的结果(结果将加载到 VxWorks 目标上并随后链接):
$(CC) $(CFLAGS) $(INC_DIRS) -c src/object.c
OUTPUT_NAME
目标的属性,但这似乎也无济于事。
最佳答案
这个答案是在 CMake mailing list 中给我的。它就像一个魅力:
看下面${CMAKE_SOURCE_DIR}/cpo
脚本:
#!/bin/sh
d=$1; shift
while [ "$1" != "--" ]; do
cp $1 $d/$(basename $1); shift
done
现在,查看以下 CMakeLists.txt:
CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
PROJECT(CPO C)
FILE(WRITE ${CMAKE_BINARY_DIR}/f.c "void f(void){}\n")
ADD_LIBRARY(f SHARED f.c)
SET_TARGET_PROPERTIES(f PROPERTIES RULE_LAUNCH_LINK
"${CMAKE_SOURCE_DIR}/cpo ${CMAKE_BINARY_DIR} <OBJECTS> --"
)
启动脚本“cpo”使目标“f”在
<OBJECTS>
占位符,所以它可以对对象进行操作
RULE_LAUNCH_LINK
仅限于
Makefile
发电机。
关于cmake - 如何从 CMake 构建目标仅生成目标文件 (*.o)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4765222/
我是一名优秀的程序员,十分优秀!