Build Script
The build script has been written in Python to enable easy cross-platform compatibility. While we did use make
initially, the outcomes we wanted for the build script to accomplish were becoming too complex. The build script currently accomplishes the following:
- Get the Git tag for the version number and get the latest commit hash to put into the compiled binary
- Parse command line arguments for building for different platforms, as well as optional flags
- Have the ability to easily build for all platforms, selected platforms, or automatically build for the user’s host platform
- Compile SCSS files to CSS using the Sass compiler
- Transfer resource files from the repo source to the TaskCollect resource directory
It is evident that achieving this using make
would take more effort compared to using Python, and would be more of a pain when it comes to ensuring it runs smoothly across different OSes. This is also why shell or PowerShell scripts were not chosen as they would only work on certain systems.