C++. Сборник рецептов | страница 41
. Цели объявляются с помощью вызова правил, таких как правило >exe
и правило >install
. Большая часть целей соответствует двоичным файлам или, более точно, набору связанных двоичных файлов, таких как отладочная и финальная (релиз) сборки приложения.
Правило >exe
используется для объявления исполняемой цели. Вызов этого правила имеет вид, показанный в примере 1.9.
Пример 1.9. Вызов правила exe
>exe имя-целевого-файла
> : исходные-файлы
> : требования
> : сборка-по-умолчанию
> : требования-к-использованию
> ;
Здесь >имя-целевого-файла
определяет имя исполняемого файла, >исходные-файлы
определяет список исходных файлов и библиотек, требования определяет свойства, которые должны применяться к цели независимо от каких-либо дополнительных свойств, указанных в командной строке или унаследованных от другого проекта, >сборка-по-умолчанию
определяет свойства, которые будут применены к цели, если не явно запрошено другое значение свойства, и >требования-к-использованию
определяет свойства, которые будут переданы всем остальным целям, зависящим от данной цели.
Свойства указываются в виде ><функция>значение
. Например, чтобы объявить исполняемый файл, который будет всегда собираться с поддержкой потоков, вы должны написать:
>exe hello
> : hello.cpp
> :
> ;
Некоторые часто используемые функции и их возможные значения перечислены в табл. 1.15.
Табл. 1.15. Часто используемые функции Boost.Build
Функция | Значение | Эффект |
---|---|---|
include | Path | Определяет путь для поиска заголовочных файлов |
define | name=[value] | Определяет макрос |
threading | >multi или >single | Включает или отключает поддержку потоков |
runtime-link | >static или >shared | Определяет тип компоновки с библиотекой времени выполнения¹ |
variant | >debug или >release | Запрашивает отладочную или окончательную сборку |
¹ См. рецепт 1.23.
Когда собирается целевой исполняемый файл, или цель, соответствующая статической или динамической библиотеке, файл, соответствующий этой цели, создается в директории, дочерней по отношению к директории, содержащей Jam-файл. Относительным путь этой директории зависит от инструментария и конфигурации сборки, но он всегда начинается с bin. Например, исполняемый файл из примера 1.8 может быть создан в директории bin/msvc/debug.
Для простоты я попросил вас создать Jam-файл из примера 1.8 в той же директории, в которой находится исходный файл