3

I use cmake to build, test and install my project. My way is a little crude: I use a scripts like this to get an out-of-source build:

DIR=debug_build &&
rm -fr ./${DIR} &&
mkdir -p ${DIR} &&
cd ${DIR} &&
cmake -D CMAKE_BUILD_TYPE=Debug $@ .. &&
make 

I guess I could at least put it into makefile, but isnt it strange to use Makefile to run cmake to generate new Makefiles and run another make?

What is the proper way to do it? Does cmake have an option to avoid calling "cd"?

Recently it became even more complicated as I factoread out a library that I would like to compile, test and distribute separately. I want to avoid duplication of all the stuff I have in my top CMakeLists.txt.

How to do it properly with cmake?

4

3 に答える 3

1

いいえ、CMakeにはそのようなオプションはありません。私は通常、CMakeの呼び出しを制御するためのラッパーMakefileが必要です。

ここでの主な問題は、Makefile-generatorが、Visual Studioジェネレーターのように、makeの実行時に構成を指定することをサポートしていないことです。これについては機能リクエストが提出されていると思いますが、修正するのは非常に侵襲的な手順になります。

于 2009-08-05T10:44:10.380 に答える
1

これは、これを処理する最も一般的な形式のようです。私は通常、これを処理するためにバッチ スクリプト (UNIX ではシェル スクリプトを使用するか、Windows ではバッチ ファイルのみを使用) を見てきました (そして使用しました)。元のフォルダに戻ります。

于 2009-08-05T00:48:58.523 に答える
0

ビルド フォルダーが存在しない場合に自動的に作成する CMake GUI を使用することもできます。

于 2010-05-06T16:09:36.603 に答える