Я пытаюсь настроить подмножество надстроек и правильно скомпилировать его с помощью bjam, однако я не получаю нужный результат. Я работаю на Windows, используя Boost 1.37.0.
Допустим, я хочу, чтобы библиотеки smart_ptr и файловая система были собраны / установлены. Я специально выбрал библиотеку только с заголовками и одну библиотеку, необходимую для компиляции библиотеки. Я хочу, чтобы они были встроены в структуру каталогов, аналогичную той, которую я получил бы, если бы я собрал полную установку надстройки с помощью bjam (т.е. без указания --with-libraryX), но, конечно, без всех библиотек, которые меня не интересуют .
Моим первым подходом было использование --with-filesystem --with-smart_ptr в bjam, однако казалось, что он не распознает smart_ptr (я безуспешно пробовал smartptr и smart-ptr). Я думаю, это потому, что это библиотека только для заголовков.
Когда я удалил его и имел только --with-filesystem, казалось, что он копирует ВСЕ заголовочные файлы библиотек в путь установки и создает только библиотеки для файловой системы. Я надеялся на поведение при сборке библиотек, но я получил тонны заголовочных файлов для библиотек, которые мне не интересны, установлен в моей директории boost.
Мой второй подход состоял в том, чтобы использовать bcp для копирования соответствующих проектов. Это сработало в том смысле, что я получил только те проекты, которые мне небезразличны (и их зависимости). Однако они не предоставили никаких файлов make для сборки скопированных библиотек. Это означает, что мне нужно настроить файлы проектов для всех библиотек, которые не являются только заголовками, и собрать их вручную.
Так что мой вопрос в основном, есть ли способ выборочного создания boost, который копирует только заголовки для библиотек, которые меня интересуют, и только создает файлы библиотек для библиотек не только для заголовков, которые меня интересуют (и boost библиотеки они зависят от курса)?
Вероятно, для этого есть тонны ручных / скриптовых решений, но если бы я мог запустить что-то, используя только bjam, это было бы для меня гораздо полезнее, поскольку добавление новых библиотек или обновление до новой версии Boost было бы очень простым.
EDIT:
Добавлена полная командная строка для первого подхода:
bjam install --prefix=c:\temp\boostsmall
--build-dir=C:\temp\boostsmalltemp --layout=system
--with-filesystem variant=debug link=static threading=multi
runtime-link=static
Изменено scoped_ptr на smart_ptr