Двоичный каталог SCons - PullRequest
       9

Двоичный каталог SCons

1 голос
/ 14 января 2011

Как двоичный / исполняемый каталог указан в SCons?Это легко сделать следующим образом:

Program( target = 'bin/helloworld', source = 'src/helloworld.cc' )

Проблема с этим подходом заключается в попытке сделать кроссплатформенную сборку.Вот пример, который работает:

StaticLibrary( target = 'helloworld', source = 'src/helloworldlib.cc' )

Результатом этого в системе Unix является библиотека с именем libhelloworld.a.Ниже приведен пример, где это не работает:

StaticLibrary( target = 'lib/helloworld', source = 'src/helloworldlib.cc' )

Выводом этой системы в Unix является файл helloworld.a в каталоге lib.Это вызывает проблемы, когда LIBS указан как ['helloworld'], что является кроссплатформенным способом сделать это.

Какое имя параметра нужно передать в StaticLibrary, SharedLibrary и Program для вывода двоичных файлов в каталогкроме базового каталога?

1 Ответ

1 голос
/ 14 января 2011

В руководстве предлагается использовать вариантный каталог и файл SConscript в исходном каталоге. В вашем примере поместите файл SConscript в каталог src:

StaticLibrary(target="helloworld", source="helloworldlib.cc")

и вызовите его из основного файла SConstruct:

SConscript("src/SConscript", variant_dir="lib")
...