The official document of CMake 2.8.12 dice di macro
Funzione vs. Macro in CMake
Quando viene richiamato, i comandi registrati nella macro sono di prima modificato sostituendo parametri formali ($ {} arg1) con gli argomenti passati, e poi invocato come comandi normali.
giro function
Quando viene invocato, i comandi registrati nella funzione sono primo modificata sostituendo parametri formali ($ {arg1}) con gli argomenti passati, e quindi invocati come comandi normali.
Ovviamente, due citazioni sono quasi lo stesso, ma mi confonde. Sostituisce i parametri all'inizio quando si chiama una funzione come la macro?
C'è almeno un'altra differenza importante, anche se abbastanza ovvia tra 'function' e' macro': la semantica di 'return()': quando usata in una 'macro', non si ritornerà dalla macro ma dalla funzione chiamante. –
I documenti di CMake sono orribili quando si tenta di capirli. – stanleyli