У меня есть относительно сложный набор файлов OMake, предназначенных для кросс-компиляции на определенной платформе. Мой исходник на С++.
Я строю из Windows, и мне нужно передать компилятору включаемые каталоги, в именах которых есть пробелы. Строка include, которая вставляется в командную строку для компиляции файлов, создается строкой:
public.PREFIXED_INCLUDES = $`(addprefix $(INCLUDES_OPT), $(set $(absname $(INCLUDES))))
В какой-то другой момент в файлах OMake у меня есть строка вроде:
INCLUDES += $(dir "$(LIBRARY_LOCATION)/Path with spaces/include")
В середине командной строки это расширяется до:
-IC:\Library location with spaces\Path with spaces\include
Я хочу, чтобы он расширился до:
-I"C:\Library location with spaces\Path with spaces\include"
Я не хочу ничего менять, кроме строки «INCLUDES += ...", если это возможно, хотя изменить что-то еще в этом файле тоже можно. Я не хочу делать что-то вроде изменения определения PREFIXED_INCLUDES, поскольку оно находится в наборе файлов OMake, которые являются частью SDK, который может измениться под моим руководством. Это возможно? Если да, то как я могу это сделать? Если нет, то как я могу убедиться, что включения с пробелами в них заключены в кавычки, изменив небольшой код make-файла (надеюсь, одну строку)?