ObjectTalk Installation
The ObjectTalk package is written in C++ and can be compiled on MacOS, Linux and Windows. To simplify the build process, CMake is used to deal with cross-platform challenges. Right now, all platforms support the build process from the command line using very simple instructions. MacOS and Windows also support using visual development environments like Xcode and Visual Studio (Code).
ObjectTalk uses a large number of 3rd party Open Source packages. The CMake process automatically loads the correct versions, compiles them and links them into the ObjectTalk executable (simply named ot). No endless downloads, frustrations over each package's peculiarities or countless Google searches. The plan is to just support it out of the box.
Below are simple instructions for each of the supported platforms followed by some hints that apply to all platforms.
ObjectTalk is supported on Sequoia (MacOS 15), Sonoma (MacOS 14)and Ventura (MacOS 13). There are 4 simple requirements to get your machine ready for ObjectTalk development:
To build ObjectTalk, do the following from the command line:
ObjectTalk is supported on Linux. Given the large number of flavors, the core team only tests the build process on Ubuntu 22.04 Desktop. In practice, any distribution should work as it just depends on the availability of X-Windows, Wayland and Vulkan. Other flavors of Linux will likely work as well but we'll let the community provide the instructions.
To build the full version of ObjectTalk on Ubuntu 22.04 Desktop with GUI and IDE, run the following commands:
ObjectTalk is supported on Windows 10, 11, Server 2019 and Server 2022. There are 3 simple requirements to get your machine ready for ObjectTalk development:
To build ObjectTalk, do the following from the command line:
Once you have compiled ObjectTalk, you end up with a single executable in one of the build directories depending on the platform or the method used. This executable can be moved anywhere.
In principle, the ObjectTalk executable (ot) is a command line tool that takes parameters. Here is the help you get when you run ot -h:
Usage: ot [--help] [--version] [--child] [--log filename] [files]...
Positional arguments:
files files to process [nargs: 0 or more]
Optional arguments:
-h --help shows help message and exits
-v --version prints version information and exits
-c, --child run as an IDE child process (internal use only)
-l, --log filename specify a file to send log to
Startup logic:
If compiled with UI
If one file is specified on the command line
do the following based on file extension
.ot - compile and run script
.ots - run scene file
.otn - open nodes in IDE
.* - open file in IDE
Elseif more than one files is specified on the command line
Open all files in the IDE
Elseif no files are specified on the command line
Start IDE
Else
If one file is specified on the command line
If file is .ot
compile and run script
Else
Exit with error
Else
Exit with error