Как создать оптимизированную версию пакета Swift с помощью команды Swift Package Manager `swift build`

Я хочу скомпилировать свой быстрый код, написанный в новом формате Swift Package Manager, в высокооптимизированный двоичный код. В настоящее время это возможно с использованием swiftc -O somefile.swift. Но поскольку пакеты swift создаются с использованием команды swift build, я не могу передать параметр -O, поскольку он его не принимает. Итак, есть ли способ указать оптимизацию кода в процессе компиляции?


person Encore PTL    schedule 29.09.2016    source источник


Ответы (1)


Вы можете создать конфигурацию выпуска с помощью: swift build --configuration release.

Вы также можете увидеть использование инструмента через:

$ swift build --help
OVERVIEW: Build sources into binary products

USAGE: swift build [mode] [options]

MODES:
  -c, --configuration <value>   Build with configuration (debug|release) [default: debug]
  --clean [<mode>]              Delete artifacts (build|dist) [default: build]

OPTIONS:
      -C, --chdir <path>       Change working directory before any other operation
  --build-path <path>      Specify build/cache directory [default: ./.build]
  --color <mode>           Specify color mode (auto|always|never) [default: auto]
  -v, --verbose            Increase verbosity of informational output
  -Xcc <flag>              Pass flag through to all C compiler invocations
  -Xlinker <flag>          Pass flag through to all linker invocations
  -Xswiftc <flag>          Pass flag through to all Swift compiler invocations

NOTE: Use `swift package` to perform other functions on packages

в котором указан этот параметр.

См. справку в диспетчере пакетов. Чтобы получить больше информации.

person Daniel Dunbar    schedule 29.09.2016
comment
Спасибо за информацию. Удалось пройти параметр оптимизации, выполнив следующую команду swift build -Xswiftc -O - person Encore PTL; 29.09.2016
comment
Вы случайно не знаете, как заставить пакеты, загруженные в XCODE, использовать этот флаг -O? Всякий раз, когда я использую пакеты, они всегда строятся неоптимизированными. Даже если материнский проект настроен на оптимизацию - person Sentry.co; 23.07.2020
comment
Нашел решение. Все равно спасибо ✌️ - person Sentry.co; 24.07.2020
comment
Ссылка на "справку" мертва - person GoZoner; 27.04.2021