プロジェクトのビルドシステムとして、プレーンメイクからCMakeに変更しています。プロジェクトは、それぞれ独自のツールチェーンを備えたさまざまな組み込みLinuxシステムで実行されることになっており、ターゲットごとにかなりの数の異なる構成オプションがあります(たとえば、さまざまなプリプロセッサ定義といくつかのソースが含まれる/除外されます)。デスクトップLinuxでも動作するはずであり、一部のGUIモジュールはWindowsで実行する必要があります。
現在、CMakeには、CMAKE_TOOLCHAIN_FILE
各組み込みプラットフォームのツールチェーンとコンパイラ固有のものを除外するために使用できるオプションがあります(デスクトップLinuxおよびWindowsでは必要ありません)。
CMakeWikiにリストされているもの以外のものをツールチェーンファイル内に置くのは良い考えではないと思います。
私は、cmake guiツールで編集できるいくつかのCMake変数を作成し、それを使用if/elseif
して適切な設定を決定することを考えています。
誰かがより良いまたはよりエレガントな提案を持っていますか?