Provided by: fp-units-castle-game-engine_7.0~alpha.2+dfsg1-2_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.

       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  files  to  edit  and   run   this   project   in   Lazarus:   lpr,   lpi,
              castleautogenerated   unit.    Depends   on   game_units   being   defined  in  the
              CastleEngineManifest.xml.

       editor

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

       editor-rebuild-if-needed

              Internal. 1st part of "editor" command.

       editor-run [--wait-for-process-exit PROCESS-ID]

              Internal. 2nd part of "editor" command.

       output

              Output some project information (from the manifest).  Next parameter determines the
              information:

              version version-code

   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 NPAPI plugin.  DEPRECATED.

       --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.

       --package-format=FORMAT
              Use with "package" command to customize the result.  Available FORMAT values:

       - default (platform specific; on most platforms
              creates a zip/tar.gz archive; on Android creates APK; on iOS creates Xcode project)
              - zip (pack all files into zip) - tar.gz (pack all files into tar.gz)  -  directory
              (put all files into a new subdirectory) - android-apk (only on Android: create APK)
              - android-app-bundle (only on Android: create AAB) -  ios-archive-ad-hoc  (only  on
              iOS:  archive using "ad-hoc" method to IPA file) - ios-archive-development (only on
              iOS: archive using "development" method)  -  ios-archive-app-store  (only  on  iOS:
              distributes the application to the TestFlight and the AppStore)

       --package-name-no-version
              Use  with "package" command. The resulting file/directory name will not contain the
              version number.

       --update-only-code
              Use with "package" command. Makes the packaging faster, as you guarantee that  only
              the Pascal code have changed since last packaging (so you did not change e.g. data/
              or CastleEngineManifest.xml).

       --ios-simulator
              Use with "package" command when --target=iOS.  Allows to run  the  project  on  iOS
              simulator.

       --all  Use   with   "auto-generate-clean"   command.   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.

       --wait-for-process-exit=PROCESS-ID
              Internal, useful with "editor-run".

       --gui-errors
              Show errors as GUI boxes. On Unix, requires "zenity" installed.

       --compiler=COMPILER
              Select compiler: "autodetect", "fpc", "delphi".

       --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 macosclassic (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 ios

       --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

       Full documentation on https://castle-engine.io/build_tool

       castle-engine version 7.0-alpha.2.  Using Castle Game Engine ( https://castle-engine.io/ )
       version 7.0-alpha.2.  Compiled with FPC 3.2.2.  Platform: Desktop, OS: Linux, CPU:  x86_64
       (this exe is using 64-bit architecture).