Repolode
SCons

SCons/scons

SConsは、再ビルドが必要な対象を判定し、ビルドに必要なコマンドを実行するPython製のソフトウェア構築ツールです。

スター
2,438
フォーク
364
未解決の Issue
647
最終コミット
4 日前

これは何?

SConsは、古くなったコンポーネントを特定して再ビルドに必要なコマンドを実行することで、ソフトウェアやドキュメントなどの成果物のビルドを統括します。ビルド設定ファイルは通常のPythonスクリプトなので、専用の構文ではなく、汎用プログラミング言語を使ってビルドロジックを記述できます。

C、C++、FORTRANの依存関係解析機能を標準搭載し、D、Java、Yacc、Lex、Qt、SWIG、TeX、LaTeX用のビルダーも備えています。ほかの言語やファイル形式向けに、カスタムスキャナーやビルダーを追加することもできます。変更の検出にはデフォルトで暗号学的ハッシュを使用し、オプションでタイムスタンプも選べます。また、並列ビルドと共有ビルドキャッシュに対応しています。

SConsはクロスプラットフォームビルドを想定して設計されており、LinuxをはじめとするPOSIXシステム、Windows、macOS、OS/2で動作します。pipでインストールでき、Python 3.9以降が必要です。

主な機能

  • 01カスタムDSLではなく、Pythonスクリプトでビルド設定を記述できます。
  • 02C、C++、FORTRANの依存関係解析を標準搭載し、スキャナーを拡張できます。
  • 03D、Java、Qt、SWIG、Yacc、Lex、TeX、LaTeX用のビルダーを標準搭載しています。
  • 04暗号学的ハッシュで変更を検出し、オプションでタイムスタンプ方式も利用できます。
  • 05並列ビルドと共有ビルドキャッシュに対応しています。
  • 06Windows、Linux、macOSをはじめとするPOSIXシステムなど、複数のプラットフォームに対応しています。

ユースケース

  • ヘッダーの依存関係を自動追跡する必要があるC/C++プロジェクトのビルド。
  • コード生成、コンパイル、ドキュメント作成をまとめて制御する単一のビルドスクリプトの作成。
  • WindowsとPOSIXシステムの両方で実行する必要があるクロスプラットフォームビルド。
  • SConsのビルド定義からVisual Studioのプロジェクトファイルを生成。

クイックスタート

  1. 1

    pipでSConsをインストールする

    python -m pip install --user scons
  2. 2

    SCons User Guideの最初の章を読む

使う前に知っておきたいこと

  • Python 3.9以降が必要です。
  • Windowsでは、scons実行ファイルのあるPythonのScriptsディレクトリをPATHに追加する必要がある場合があります。

トピック

よくある質問

scons とは?
SConsは、再ビルドが必要な対象を判定し、ビルドに必要なコマンドを実行するPython製のソフトウェア構築ツールです。 SConsは、古くなったコンポーネントを特定して再ビルドに必要なコマンドを実行することで、ソフトウェアやドキュメントなどの成果物のビルドを統括します。ビルド設定ファイルは通常のPythonスクリプトなので、専用の構文ではなく、汎用プログラミング言語を使ってビルドロジックを記述できます。
scons は無料で使えますか?ライセンスは?
scons は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
scons は今もメンテナンスされていますか?
活発にメンテナンス中。scons の最終コミットは 2026年11月3日 です。
scons は何に使えますか?
ヘッダーの依存関係を自動追跡する必要があるC/C++プロジェクトのビルド。 コード生成、コンパイル、ドキュメント作成をまとめて制御する単一のビルドスクリプトの作成。 WindowsとPOSIXシステムの両方で実行する必要があるクロスプラットフォームビルド。 SConsのビルド定義からVisual Studioのプロジェクトファイルを生成。
scons のインストール方法は?
pipでSConsをインストールする: python -m pip install --user scons SCons User Guideの最初の章を読む
scons はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/SCons/scons

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

Rust、C/C++、CUDA向けのコンパイラキャッシュ。worktreeやCI実行間で一致するビルド成果物を復元し、再ビルドを減らします。

開発ツール#build-cache#rust#compiler-cache
1371+10 今週73RustApache-2.0更新 5 時間前