CMakeを使ってビルドシステムを管理するのはかなり新しくなっているので、愚かで悪い考えであれば教えてください。CMakeのプロジェクト名としてディレクトリを自動的に使用する
私は
project(...)
を行う際に、ディレクトリの名前が自動的にプロジェクト名となるように、私のcmakelists.txtファイルを設定できるようにしたいと思います。一つのプロジェクトのディレクトリ全体を別のプロジェクトの出発点としてコピーできるのが便利だと思うので、私はこれをしたいと思います。しかし、私はいつも何か意味のあるディレクトリに名前を変更しますが、cmakelists.txtファイルのproject(name)
行を変更することを忘れてしまい、同じ名前のビルド環境で複数のプロジェクトが開いてしまい混乱します。
ディレクトリ名にスペースが含まれていると、理想的にはアンダースコアで置き換えられます。
これを行うことはできますか?私が見ていない何らかの理由で悪い考えですか?
ためCMAKE_CURRENT_LIST_DIRがより適切だと思います。 リンクをご覧ください:http://stackoverflow.com/questions/15662497/in-cmake-what-is-the-difference-between-cmake-current-source-dir-and-cmake-curr – Maks
@Maks - A ['CMAKE_CURRENT_SOURCE_DIR'](https://cmake.org/cmake/help/v3.4/variable/CMAKE_CURRENT_SOURCE_DIR.html)は[' CMAKE_CURRENT_LIST_DIR']よりも適切です(https://cmake.org/ cmake/help/v3.4/variable/CMAKE_CURRENT_LIST_DIR.html)は、現在のプロジェクトに対してCMakeLists.txtが処理されているディレクトリを参照しているのに対し、 '... LIST_DIR'は' include'呼び出しで変更されます。 – Fraser
これは私が別の作業ツリーで2-3の異なるブランチをチェックアウトし、QtCreatorでそれらの間で切り替えたいとき(例えば、ソースと実行を比較/比較する)に役に立ちます。また、同じプロジェクト名を持つべきであるにもかかわらず、プロジェクト名に基づいてプログラムで別の場所にビルドをデポジットすることができます。ローカルでは、公式のプロジェクト名と私のディレクトリ名を連結するかもしれません... – sage