cxsoar / knossos

NuKnossos a complete rewrite of the old Knossos mod manager. Nebula also lives here since it's easier to manage both projects in a single monorepo. If you're looking for the old code, go to https://github.com/ngld/old-knossos.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Monorepo for Knossos and Nebula development

Most of the source code is in the packages subdirectory. It also contains further documentation for the various packages.

Build preparation

Windows

Before you compile this project, make sure you have Visual Studio 2019 or the Build Tools for Visual Studio 2019 installed. The latter only provide CLI tools which should be enough to build this project.

If you're still on Windows 7 or haven't updated Windows 10 in over a year, you'll also have to install the Golang toolchain.

Once you're set up, double-click the open_shell.bat file to open a terminal in this folder or open your favorite terminal and navigate here manually.
NOTE: I highly recommend installing Windows Terminal for a better terminal experience on Windows. If you don't like the Windows Store, you can also manually download and install the tool.

Continue with the general instructions below.

Linux

You'll need the following:

  • go (the package is sometimes called golang)
  • CMake
  • Docker (only for Nebula)
  • GCC
  • GTK 3
  • liblzma
  • libzstd
  • ninja (optional)
  • zlib

Once you've installed these dependencies, follow the general instructions and replace the task.ps1 command with ./task.sh.

macOS

You'll need the following:

  • liblzma installed through Homebrew (/usr/local/opt/xz/lib/liblzma.a)

Once you've installed these dependencies, follow the general instructions and replace the task.ps1 command with ./task.sh.

Build instructions

Enter task.ps1 configure -o to get a list of available options and their default values. The first time you run this command, the task.ps1 script will compile the build system before launching it. To modify the listed options, run task.ps1 configure option1=value option2=.... If you don't want to modify the options, just run task.ps1 configure without any further parameters. This will run a few platform checks necessary before we can run any build targets.

To get a list of available build targets, run task.ps1 -l. client-build and client-run are probably the most interesting. To build a target, run task.ps1 <target>. It's pretty similar to make: You can pass multiple targets, dependencies are automatically built whenever necessary. If a target's source files haven't changed since the last build, it will be skipped.

About

NuKnossos a complete rewrite of the old Knossos mod manager. Nebula also lives here since it's easier to manage both projects in a single monorepo. If you're looking for the old code, go to https://github.com/ngld/old-knossos.

License:Apache License 2.0


Languages

Language:Go 53.4%Language:TypeScript 17.4%Language:C++ 16.4%Language:CMake 3.8%Language:JavaScript 3.5%Language:Objective-C++ 2.5%Language:CSS 0.6%Language:Smarty 0.6%Language:HTML 0.5%Language:Shell 0.4%Language:PowerShell 0.3%Language:PLpgSQL 0.2%Language:C 0.1%Language:Batchfile 0.1%Language:SCSS 0.1%Language:EJS 0.1%