Местоположение исполняемого файла [дубликат]

Они практически одинаковы.

Первый раунд скобок вокруг функции, чтобы сделать его действительным выражением и вызывает его. Результат выражения не определен.

Второй выполняет функцию, а круглые скобки вокруг автоматического вызова делают это допустимым выражением. Он также оценивает неопределенные.

Я не думаю, что есть «правильный» способ сделать это, так как результат выражения тот же.

> function(){}()
SyntaxError: Unexpected token (
> (function(){})()
undefined
> (function(){return 'foo'})()
"foo"
> (function(){ return 'foo'}())
"foo"
0
задан Carneiro 2 November 2014 в 20:34
поделиться

2 ответа

add_custom_target(COMMAND $<TARGET_FILE:foo> ...)

См.:

http://www.cmake.org/cmake/help/v3.0/manual/cmake-generator-expressions.7.html

1
ответ дан steveire 22 August 2018 в 22:16
поделиться

На самом деле вам даже не требуется выражение генератора :) По крайней мере / w modern CMake :

Если COMMAND указывает исполняемое имя цели (созданное с помощью команды add_executable ()), она будет автоматически заменена местоположением исполняемого файла, созданного во время сборки.

add_executable(foo ...)
add_custom_target(COMMAND foo ...)
0
ответ дан zaufi 22 August 2018 в 22:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: