W dokumentacji CMake, możemy przeczytać:CUpewnij: kiedy używać add_definitions zamiast set_target_properties (Definicje docelowych właściwości COMPILE_DEFINITIONS)
Dodaje flagi linii poleceń kompilatora dla źródeł w bieżący katalog i poniżej.
COMPILE_DEFINITIONS property on directories
COMPILE_DEFINITIONS: definicje preprocesora do kompilacji źródeł katalogu użytkownika.
COMPILE_DEFINITIONS property on targets
COMPILE_DEFINITIONS: definicje preprocesora do kompilacji źródeł celowi.
COMPILE_DEFINITIONS property on source files
COMPILE_DEFINITIONS: definicje preprocesora do kompilacji pliku źródłowego.
COMPILE_DEFINITIONS
i add_definitions
funkcjonalność wydaje się zachodzić na siebie. COMPILE_DEFINITIONS
właściwość wydaje się bardziej elastyczna.
Wygląda na to, że właściwość COMPILE_DEFINITIONS robi wszystko co add_definitions, a nawet więcej.
Tak więc, w jakich przypadkach musi my add_definitions zadzwonić ponieważ nieruchomość COMPILE_DEFINITIONS nie może być używany?
Czy możesz wyjaśnić, w jaki sposób można to poznać? Czy jest to gdzieś w dokumentacji? Co trzeba przeczytać, aby zrozumieć tajemnice CMake'a? – Praxeolitic