Provided by: fp-units-castle-game-engine_7.0~alpha.1+dfsg-8_amd64 bug

NAME

       castle-engine - build and package Castle Game Engine programs

DESCRIPTION

       castle-engine: Build and package Castle Game Engine programs.

   Call with the current directory set to your project, like this:
              castle-engine [OPTIONS]... COMMAND

       Possible commands:

   create-manifest:
              Creates simple CastleEngineManifest.xml with guessed values.

   compile:
              Compile  project.  By default compiles for the current OS / current CPU (linux / x86_64).  You can
              use --os / --cpu options to compile to some other OS / CPU.  You can use --target to compile for a
              collection of OS / CPU combination (like "iOS" or "Android").

   package:
              Package  the  application into the best archive format for given operating system (OS) / processor
              (CPU) / target.  The OS, CPU and "target" can be changed just like at "compile".

   install:
              Install the application created by previous "package" call.   Useful  when  OS  is  "android",  it
              installs  the apk package created by previous "package" call for Android. Useful for quick testing
              of your app on a device connected through USB.  Useful also for installing  compiled  web  browser
              plugin.

   run:
              Run  the  application.   On  some platforms, it requires installing the application first (e.g. on
              Android, where we install and run on a device connected through USB). So run the "install" command
              before.   On  other  platforms (e.g. standalone Windows, Linux, macOS...), it simply runs the last
              compiled application.  So just "compile" the application first.

   package-source:
              Package the source code of the application.

   clean:
              Clean leftover files from compilation and packaging.  Does not remove final packaging output.

   simple-compile:
              Compile the Object Pascal file (unit/program/library) given as a parameter. This does  not  handle
              the  Castle Game Engine projects defined by CastleEngineManifest.xml files.  It merely calls "fpc"
              with proper command-line options for units/programs/libraries using our engine.  Use this  instead
              of  "compile"  only  if there's some good reason you don't want to use CastleEngineManifest.xml to
              your project.

   auto-generate-textures:
              Create   GPU-compressed   versions    of    textures,    for    the    textures    mentioned    in
              <auto_compressed_textures> inside the file data/material_properties.xml.

   auto-generate-clean:
              Clear   "auto_compressed"   subdirectories,  that  should  contain  only  the  output  created  by
              "auto-generate-textures" target.

   generate-program:
              Generate lpr and lpi files to edit and run this project in Lazarus.  Depends on  game_units  being
              defined in the CastleEngineManifest.xml.

   editor:
              Run Castle Game Engine Editor within this project, with possible project-specific components.

   Available options are:
       -h / --help
              Print this help message and exit.

       -v / --version
              Print the version number and exit.

       -V / --verbose
              Verbose mode, output contains e.g. list of packaged files.

       --mode=debug|release
              Compilation  mode, used by "compile" and "package" commands. Also packaging mode on some platforms
              (right now, Android). By default "release".

       --assume-compiled
              Do not automatically do "clean" and "compile"  before  "package".  Instead  assume  that  compiled
              executable for given OS/CPU/mode is already present in the package directory.

       --fast Do  not "clean" before "package". Recompile only what changed. This is faster for development, but
              cannot guarantee that everything is recompiled in a release mode.

       --plugin
              Compile/package/install a browser plugin.

       --fpc-version-iphone-simulator VERSION
              When compiling for iPhone Simulator, we pass  -V<VERSION>  to  the  "fpc"  command-line.  This  is
              necessary  if  you  use  the  official  "FPC for iOS" package (see the "Getting Started - iOS.rtf"
              inside the "FPC for iOS" dmg for explanation). You can set this to "auto" (this is the default) to
              auto-detect  this  based on regular FPC version. Or you can set this to a particular version, like
              "3.0.5". Or you can set this to empty "" to  avoid  passing  any  -V<VERSION>  (suitable  for  FPC
              3.1.1).

       --compiler-option=PARAM
              Extra  parameter  for  "fpc"  command  line.  For  example  --compiler-option=-dUSE_MOUSE will add
              -dUSE_MOUSE.  You can use this parameter multiple times.

       --output=DIR
              Where to place the output executables, packages, and  the  "castle-engine-output"  directory  with
              temporary generated files.

       --project=DIR
              Where  to  search  for  the  project  (CastleEngineManifest.xml file). By default we search in the
              current  directory.   The   argument   can   either   be   a   directory,   or   a   filename   of
              CastleEngineManifest.xml file.

       --all  Use  by  "auto-generate-clean",  indicates  to clean everything auto-generated. By default we only
              clean unused files from "auto_generated" directories.

       --manifest-name=AlternativeManifest.xml
              Search    and    use    given    "AlternativeManifest.xml"    file     instead     of     standard
              "CastleEngineManifest.xml".    Useful  if  you  need  to  maintain  completely  different  project
              configurations for any reason.

       --target=<target>
              The target system for which we build/package.  Available <target> values:

       - "custom" (default): Build for a single OS and CPU
              combination, determined by the --os and --cpu options. These options, in turn, by default indicate
              the current (host) OS/CPU.

       - "ios": Build for all the platforms necessary for
              iOS applications. This includes both 32-bit and 64-bit iOS devices and iPhoneSimulator.

       - "android": Build for all the platforms necessary
              for Android applications. This includes both 32-bit and 64-bit Android devices.

       - "nintendo-switch": Build an application for
              Nintendo Switch.

       --os=<os>
              Set  the  target  operating  system  for  which  we  build/package.   This  is ignored if you used
              --target=<target>, with <target> being something else than "custom".  Available <os> values:

       linux  go32v2 win32 os2 freebsd beos netbsd amiga atari solaris qnx netware openbsd  wdosx  palmos  macos
              (classic  MacOS,  that  ended  with  MacOS  9) darwin (modern macOS 10.x, caled also Mac OS X) emx
              watcom morphos netwlibc win64 wince gba nds embedded symbian  haiku  iphonesim  aix  java  android
              nativent msdos wii aros dragonfly win16

       --cpu=<cpu>
              Set   the   target   processor   for  which  we  build/package.   This  is  ignored  if  you  used
              --target=<target>, with <target> being something else than "custom".  Available <cpu> values:

       i386   m68k powerpc sparc x86_64 arm powerpc64 avr armeb mips  mipsel  jvm  i8086  aarch64  (64-bit  ARM)
              sparc64 riscv32 riscv64

       Full documentation on https://github.com/castle-engine/castle-engine/wiki/Build-Tool

       castle-engine    version    7.0-alpha.1    (unstable).     Created    using    Castle   Game   Engine   (
       https://castle-engine.io/ ) version 7.0-alpha.1 (unstable).  Compiled with FPC 3.2.2  (Linux  /  x86_64),
       platform: Desktop.