Build Instructions

Note๐Ÿ‡ฏ๐Ÿ‡ต ๆ—ฅๆœฌ่ชž็‰ˆ / Available in Japanese

ๆ—ฅๆœฌ่ชžใง่ชญใฟใŸใ„ๆ–นใฏ ใ“ใกใ‚‰ใฎใƒšใƒผใ‚ธ ใ‚’ใ”่ฆงใใ ใ•ใ„ใ€‚
Please see the Japanese version for reading in Japanese.

Caution

This page is intended for developers.

This section explains how to build the application.

The application is built using PyInstaller.

A pre-generated spec file is provided and should be used for building the application.
Please note that this process can take some time (approximately 10 minutes).

pyinstaller build.spec

For more details on PyInstaller usage, please refer to the official documentation.

ImportantDocumentation site deployment (GitHub Pages)

The documentation website is built and published via GitHub Actions:

  • Workflow file: .github/workflows/deploy-pages.yml
  • Trigger:
    • pull_request: Quarto build check only (no deploy)
    • push to main: Quarto build + GitHub Pages deploy

For first-time setup in the repository, an administrator needs to set: Settings โ†’ Pages โ†’ Source = GitHub Actions.

ImportantStable standalone builds (Windows/macOS/Linux)

Starting from v1.0.0, this repository provides a GitHub Actions release workflow:

  • Workflow file: .github/workflows/release-standalone.yml
  • Trigger:
    • pull_request / push to main: build verification only
    • tag push such as v1.0.0: build + GitHub Release publishing
  • Outputs:
    • LeafContourEFD-windows-x64.zip
    • LeafContourEFD-macos-arm64.tar.gz
    • LeafContourEFD-macos-x64.tar.gz
    • LeafContourEFD-ubuntu-x64.tar.gz

All generated assets are attached to the corresponding GitHub Release. The Release notes also include an auto-generated table showing the executable architecture detected from each archive.

TipRemoving Previous Builds

Before running PyInstaller, it is recommended to remove any existing build artifacts:

# PowerShell
Remove-Item -Recurse -Force build, dist

# Bash
rm -rf build dist

After Building

If the build completes successfully, the following directory structure will be generated at the project root:

project/
โ”œโ”€ build/
โ””โ”€ dist/
   โ””โ”€ LeafContourEFD/
      โ”œโ”€ LeafContourEFD(.exe)
      โ””โ”€ _internal/
         โ””โ”€ (library files)

The main executable is located under dist/LeafContourEFD/.

Caution

To improve stability, the application is built in onedir mode instead of onefile mode.
Therefore, the entire dist/LeafContourEFD/ folder must be distributed together.