小编use*_*235的帖子

cmake框架目标不复制标头或资源?

我正在尝试使用cmake创建 OS X 框架。这是我的CMakeLists.txt文件:

project( Foo)

cmake_minimum_required (VERSION 3.7)

add_library( Foo SHARED
foo.c
)

set_target_properties( Foo PROPERTIES
FRAMEWORK TRUE
RESOURCE "foo.md"
PUBLIC_HEADER "foo.h"
)
Run Code Online (Sandbox Code Playgroud)

当我运行时生成了( mkdir build ; cd build ; cmake .. ; make)一个Foo.framework,但标题和资源没有出现在其中。我缺少什么?(cmake版本3.7.1)


如何重现。保存上面的CMakeLists.txt。现在执行:

#!/bin/sh

echo "int version = 1;" > foo.c
touch foo.h
touch foo.md
( mkdir build ; cd build ; cmake .. ; make)
ls -R build/Foo.framework/
Run Code Online (Sandbox Code Playgroud)

macos frameworks cmake

7
推荐指数
1
解决办法
2260
查看次数

在 shell 脚本中抑制信号输出,如“Abort trap: 6”,以进行可能崩溃的测试

当程序崩溃时,从 bash 启动的程序会输出Abort trap: 6 ,很有帮助:

$ ./crash-if-correct > /dev/null 2>&1
Abort trap: 6
Run Code Online (Sandbox Code Playgroud)

对于应该崩溃的测试用例,这会创建看起来错误的输出。这如何能够压制?

我怀疑这不是 shell(在我的例子中是 bash),因为ack 'trap:'通过 bash 源没有发现任何内容。

简单的重现方法:

$ cat <<EOF > abort.c
main()
{
   abort();
}
EOF

$ cc -w -o abort abort.c
$ sh -c ./abort > /dev/null 2>&1
Abort trap: 6
Run Code Online (Sandbox Code Playgroud)

testing macos bash terminal signals

6
推荐指数
1
解决办法
2905
查看次数

标签 统计

macos ×2

bash ×1

cmake ×1

frameworks ×1

signals ×1

terminal ×1

testing ×1