Run build_and_run.sh
. This will install Tulsi.app inside $HOME/Applications
by default. See below for supported options:
-b
: Bazel binary that Tulsi should use to build and install the app (Default is bazel
)-d
: The folder where to install the Tulsi app into (Default is $HOME/Applications
)-x
: The Xcode version Tulsi should be built for (Default is 12.4
)Tulsi-generated Xcode projects use Bazel to build, not Xcode. Building in Xcode will cause it to only run a script; the script invokes Bazel to build the configured Bazel target and copies the artifacts to where Xcode expects them to be. This means that many common components of an Xcode project are handled differently than you may be used to. Notable differences:
bazel
invocations, some of which may affect Bazel caching. In order to maximize cache re-use when building from the command line, try using the user_build.py
script which is located in the generated xcodeproj at <xcodeproj>/.tulsi/Scripts/user_build.py
.Tulsi projects contain a few settings which control various behaviors during project generation and builds.
build
flags, customizable per compilation mode (dbg
and opt
)build
startup flags, also customizable per compilation modedbg
or opt
, no fastbuild
) used during project generation.dbg
, swap to opt
if you normally build Release builds in Xcode (i.e. profiling your app). Setting this improperly shouldn't break your project although it may potentially worsen generation and build performance.No
, swap to Yes
if your project contains Swift (even in its dependencies). Setting this improperly shouldn't break your project although it may potentially worsen generation and build performance.