Когда я вызываю конструктор Program(Target, Source, CXXFLAGS=CompileFlags)
, значение строки CompileFlags содержит -Wl,-rpath,lib:$ORIGIN/../lib
, в результате чего $ ORIGIN расширяется до пустой строки, в то время как она должна сохраняться как есть.
Я пытался убежать от знака доллара, добавив одинарные кавычки, ничего не помогло.
env['RPATH'] = Literal('lib:$ORIGIN/../lib')
тоже не работает: выдает
g++ -o main -Wl,-rpath=lib:/../lib
в командной строке, хотя на странице руководства написано «пути, добавленные в RPATH, никак не преобразуются с помощью scons» поэтому он должен работать даже без Literal (), я думаю.
Так, как я могу добавить флаг компилятора, содержащий $ TEXT, без SCons, пытающегося расширить его как переменную?
Спасибо.