Файл цепочки инструментов CMake для пользовательской цепочки инструментов (опция компилятора -c имеет другое значение)
Я пытаюсь создать файл CMake toolchain для компилятора Tasking Aurix (ctc), в котором -c
Варианты имеют разное значение:
-c --iso=<year> ISO C standard (90, 99) (default: 99)
Можно ли опустить -c
параметр для рецептов объектных файлов или, может быть, можно настроить собственный шаблон для таких рецептов?
В настоящее время у меня есть отвратительный обходной путь, поэтому после CMake я вызываю скрипт, который редактирует сгенерированный make-файл и изменяет опцию -c
в -c 99
но желательно, чтобы я мог генерировать действительные make-файлы из CMake напрямую.
1 ответ
Решение
ОК, я смог найти решение. Чтобы добиться этого, мне пришлось переписать поведение по умолчанию, установив CMAKE_<LANG>_COMPILE_OBJECT
переменная, поэтому в моем случае ниже линии
set(target_compiler ${CMAKE_C_COMPILER})
set(CMAKE_C_FLAGS "-c 99")
set(CMAKE_C_COMPILE_OBJECT "${target_compiler} <INCLUDES> <FLAGS> -o <OBJECT> <SOURCE>")
решил мою проблему