小编Dan*_*Dan的帖子

如何正确地将标记的CMake列表(semicolon-sep)传递给set_target_properties?

CMake列表基本上只是以分号分隔的字符串,但如果将这样的变量传递给命令,它会扩展为多个参数 - 例如,

set(FLAGS f1 f2 f3)
# now FLAGS == 'f1;f2;f3'
add_custom_command(
  ...
  COMMAND my_cmd ${FLAGS}
  ...
)
Run Code Online (Sandbox Code Playgroud)

会正确地打电话my_cmd f1 f2 f3.

现在,如果我这样做

set_target_properties(
  myTarget PROPERTIES
  LINK_FLAGS  "${LD_FLAGS}"
)
Run Code Online (Sandbox Code Playgroud)

扩展没有发生,我最终得到一个包含分号的LD_FLAG - 无用,而不是将其扩展为以空格分隔的字符串.

有没有办法让它当我将列表传递给LINK_FLAGS属性(或任何属性)时,它会扩展为多个参数而不是一个?

谢谢,丹

cmake

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

在iTerm2/Terminal上的vim中的"M-"绑定不起作用

我注意到iTerm2提供了非常方便的功能,使用"Option key as + ESC"(或者作为meta,但显然已经过时了).

我尝试了它们两个,选项键在Bash(set -o emacs模式)和Emacs中按预期工作,但在Vim中没有.因此,我不能使用任何"M-"绑定.我发现的是:

  • 如果我将选项设置为"+ ESC",vim只能理解ESC +键,并且不知道我实际上是指Meta键.
  • 如果我将选项设置为"meta",则使用"option"修改的键的行为与没有修饰符的行为一样(不知道如何正式测试vim从我正在键入的键组合中理解的内容).

"M-"映射在MacVim(7.3.53)中完美运行,但这不是在控制台之外,而是在这个问题的范围内.

我对如何使这些映射在Vim,iTerm2或Terminal下运行感兴趣.

我的规格:

  • MAC OS X Lion 10.7.2
  • iTerm2 1.0.0.20111020
  • vim @ 7.3.107_0 + python26 [虽然是MacPorts]

vim iterm osx-lion

17
推荐指数
2
解决办法
7173
查看次数

使用vim中的正则表达式匹配带括号的块

我正在尝试匹配在使用动作时由vim找到的特定(和匹配之间的内容.)%

更具体地说,我正在寻找一个看起来像这个假设的正则表达式/someKeyword (\{pair}\(.*\))\{pair}/,如果有这样的修饰符\{pair},当应用于正则表达式中的两个正好两个字符时,使得第二个仅匹配,如果它是与第一个匹配的括号(%-明智的).

我正在寻找的模式应该匹配第一个括号的内部内容someKeyword(nb应该处理的代码总是正确括号),如下例所示:

对于子someKeyword ("aaa")匹配将匹配"aaa".同样someKeyword ("aaa)")会匹配"aaa)"someKeyword(("double-nested stuff"))匹配("double-nested stuff")

但在以下情况下:

(
  someKeyword("xyz"))
Run Code Online (Sandbox Code Playgroud)

它应该匹配的地方"xyz".

有没有办法在正则表达式中使用vim的匹配括号功能?如果没有,还有什么其他解决方案可以实现这一目标?

编辑1:匹配的内容可能跨越几行.

regex vim

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

用于动态创建两种记录类型之一的函数

我有这个OO情况,我试图在Ocaml中实现:两个类,X1并且X2,子类型X(X1 <: XX2 <: X),我想写一个动态返回X一个X1或将来的函数X2.

但是我听说它通常是很好的避免OCaml中类和使用的模块代替,所以我想代表我的问题是这样的(过于简化,但仍使点):两个模块X1X2,我想我的功能之间进行动态决定返回一个X1.t或一个X2.t.

module type X = sig
  type choice
  type t
  (* some methods we don't care about in this instance, like
     val modifySomething : t -> t *)
end

module Xbase = struct
  type choice = Smth | SmthElse
end

module X1 = (
struct
  include Xbase
  type t = { …
Run Code Online (Sandbox Code Playgroud)

ocaml

3
推荐指数
1
解决办法
457
查看次数

标签 统计

vim ×2

cmake ×1

iterm ×1

ocaml ×1

osx-lion ×1

regex ×1