C++. Сборник рецептов | страница 41



. Цели объявляются с помощью вызова правил, таких как правило >exe и правило >install. Большая часть целей соответствует двоичным файлам или, более точно, набору связанных двоичных файлов, таких как отладочная и финальная (релиз) сборки приложения.

Правило >exe используется для объявления исполняемой цели. Вызов этого правила имеет вид, показанный в примере 1.9.

Пример 1.9. Вызов правила exe

>exe имя-целевого-файла

> : исходные-файлы

> : требования

> : сборка-по-умолчанию

> : требования-к-использованию

> ;

Здесь >имя-целевого-файла определяет имя исполняемого файла, >исходные-файлы определяет список исходных файлов и библиотек, требования определяет свойства, которые должны применяться к цели независимо от каких-либо дополнительных свойств, указанных в командной строке или унаследованных от другого проекта, >сборка-по-умолчанию определяет свойства, которые будут применены к цели, если не явно запрошено другое значение свойства, и >требования-к-использованию определяет свойства, которые будут переданы всем остальным целям, зависящим от данной цели.

Свойства указываются в виде ><функция>значение. Например, чтобы объявить исполняемый файл, который будет всегда собираться с поддержкой потоков, вы должны написать:

>exe hello

> : hello.cpp

> : multi

> ;

От вас не требуется писать двоеточия, разделяющие последовательные аргументы правила Boost.Build, если вы не указываете значения этих аргументов.

Некоторые часто используемые функции и их возможные значения перечислены в табл. 1.15.


Табл. 1.15. Часто используемые функции Boost.Build

ФункцияЗначениеЭффект
includePathОпределяет путь для поиска заголовочных файлов
definename=[value]Определяет макрос
threading>multi или >singleВключает или отключает поддержку потоков
runtime-link>static или >sharedОпределяет тип компоновки с библиотекой времени выполнения¹
variant>debug или >releaseЗапрашивает отладочную или окончательную сборку

¹ См. рецепт 1.23.

Когда собирается целевой исполняемый файл, или цель, соответствующая статической или динамической библиотеке, файл, соответствующий этой цели, создается в директории, дочерней по отношению к директории, содержащей Jam-файл. Относительным путь этой директории зависит от инструментария и конфигурации сборки, но он всегда начинается с bin. Например, исполняемый файл из примера 1.8 может быть создан в директории bin/msvc/debug.

Для простоты я попросил вас создать Jam-файл из примера 1.8 в той же директории, в которой находится исходный файл