タグ付けされた質問 「cmake」

CMakeは、クロスプラットフォームのオープンソースビルドシステムジェネレーターです。いくつかの統合開発環境用のネイティブmakefile、忍者ビルド、プロジェクトファイルなどのビルドシステム用のファイルを生成します。

5
CMakeでのデバッグとリリース
GCCコンパイル済みプロジェクトでは、 各ターゲットタイプ(デバッグ/リリース)に対してCMakeを実行するにはどうすればよいですか? CMakeを使用してデバッグとリリースのC / C ++フラグを指定するにはどうすればよいですか? メインの実行可能ファイルがコンパイルされg++、1つのネストされたライブラリがコンパイルされることをどのように表現しgccますか?
434 c++  c  gcc  cmake 

21
CMake出力を消去するための「cmake clean」コマンドを探しています
同じようにmake clean削除メイクファイルが生成されたすべてのファイル、私はCMakeのと同じことをしたいと思います。すべてあまりにも頻繁に私は自分自身が手動のようなファイルを削除するディレクトリを経由見つけるcmake_install.cmakeとCMakeCache.txt、およびCMakeFilesフォルダ。 cmake cleanこれらのファイルをすべて自動的に削除するようなコマンドはありますか?理想的には、これは現在のディレクトリのCMakeLists.txtファイル内で定義されている再帰構造に従う必要があります。
419 cmake 


14
CMakeでC ++ 11をアクティブ化するにはどうすればよいですか?
CMakeで生成されたmakefileを実行してプログラムをコンパイルしようとすると、次のエラーが発生します。 範囲ベースのforループは、C ++ 98モードではサポートされていません。 にを追加add_definitions(-std=c++0x)してみましたがCMakeLists.txt、効果がありませんでした。 私もこれを試しました: if(CMAKE_COMPILER_IS_GNUCXX) add_definitions(-std=gnu++0x) endif() 私がするときg++ --version、私は得ます: g ++(Ubuntu / Linaro 4.6.1-9ubuntu3)4.6.1 私も試しましたがSET(CMAKE_CXX_FLAGS "-std=c++0x")、これも機能しません。 CMakeを使用してC ++ 11の機能をアクティブ化する方法がわかりません。
356 c++11  cmake 



5
GNU MakeでCMakeを使用する:正確なコマンドを確認するにはどうすればよいですか?
私は、GNU MakeでCMakeを使用しており、すべてのコマンドを正確に表示したいと思っています(たとえば、コンパイラーの実行方法、すべてのフラグなど)。 GNU makeには--debugがありますが、他に役立つオプションはそれほどありません。CMakeはデバッグ目的で生成されたMakefileに追加のフラグを提供しますか?
281 cmake  gnu-make 

9
CMakeを使用してGCCとClang / LLVMを切り替える
CMakeを使用してビルドしたプロジェクトがいくつかあり、GCCとClang / LLVMのどちらを使用してコンパイルするかを簡単に切り替えられるようにしたいと考えています。Clangを使用するには、次のように設定する必要があると思います(間違えた場合は修正してください)。 SET (CMAKE_C_COMPILER "/usr/bin/clang") SET (CMAKE_C_FLAGS "-Wall -std=c99") SET (CMAKE_C_FLAGS_DEBUG "-g") SET (CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG") SET (CMAKE_C_FLAGS_RELEASE "-O4 -DNDEBUG") SET (CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g") SET (CMAKE_CXX_COMPILER "/usr/bin/clang++") SET (CMAKE_CXX_FLAGS "-Wall") SET (CMAKE_CXX_FLAGS_DEBUG "-g") SET (CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG") SET (CMAKE_CXX_FLAGS_RELEASE "-O4 -DNDEBUG") SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g") SET (CMAKE_AR "/usr/bin/llvm-ar") SET …
269 cmake  llvm  clang 


5
CMakeでインクルードディレクトリを適切に追加する方法
1年ほど前に、CMakeのヘッダーの依存関係について質問しました。 最近問題が発生したのは、CMakeがこれらのヘッダーファイルをプロジェクトの外部にあると見なしていたことが問題であることに気付きました。少なくとも、Code :: Blocksプロジェクトを生成する場合、ヘッダーファイルはプロジェクト内に表示されません(ソースファイルは表示されます)。したがって、CMakeはこれらのヘッダーをプロジェクトの外部にあると見なし、依存関係でそれらを追跡しないように思えます。 CMakeチュートリアルでのクイック検索で、include_directories私が望んでいるようには見えないものを指摘しただけです... 特定のディレクトリに含まれるヘッダーが含まれ、それらのヘッダーが生成されたMakefileによって追跡される必要があることをCMakeに通知する適切な方法は何ですか?
243 c++  ubuntu  cmake 

3
CMake:スクリプト内のすべてのアクセス可能な変数を出力します
CMakeですべてのアクセス可能な変数を出力する方法があるかどうか疑問に思っています。--help-variablesオプションのように、CMake変数には興味がありません。私が定義した変数、または含まれているスクリプトによって定義された変数について話しています。 私は現在含まれています: INCLUDE (${CMAKE_ROOT}/Modules/CMakeBackwardCompatibilityCXX.cmake) そして、すべてのファイルを調べて、利用可能なものを読む必要がなく、ここにあるすべての変数を出力できることを望んでいました-知らない変数が役に立つかもしれません。学習と発見を助けるのは良いことです。厳密にデバッグ/開発用です。 これは、Lmakeaの現在のスコープにアクセスできるすべてのローカル変数を出力するの質問に似ていますが、CMakeの場合です。 誰かこれをやったことがありますか?
222 cmake 

5
CMakeファイルにリンカーまたはコンパイルフラグを追加するにはどうすればよいですか?
arm-linux-androideabi-g++コンパイラを使用しています。簡単な「Hello、World!」をコンパイルしようとすると うまくコンパイルするプログラム。そのコードに単純な例外処理を追加してテストすると、それも機能します(追加した後-fexceptionsは、デフォルトで無効になっていると思います)。 これはAndroidデバイス用であり、CMakeのみを使用し、は使用しませんndk-build。 例えば ​​- first.cpp #include <iostream> using namespace std; int main() { try { } catch (...) { } return 0; } ./arm-linux-androideadi-g++ -o first-test first.cpp -fexceptions 問題なく動作します... 問題 ... CMakeファイルでファイルをコンパイルしようとしています。 -fexceptionsフラグとして追加したい。私が試した set (CMAKE_EXE_LINKER_FLAGS -fexceptions ) or set (CMAKE_EXE_LINKER_FLAGS "fexceptions" ) そして set ( CMAKE_C_FLAGS "fexceptions") それでもエラーが表示されます。
220 c++  cmake 

3
cmakeおよびlibpthread
私は走っRHEL 5.1て使っていますgcc。 コンパイルとリンクcmakeに追加-pthreadするように指示するにはどうすればよいですか?
188 pthreads  cmake 

9
CMakeの出力を「bin」ディレクトリにするにはどうすればよいですか?
現在、プラグイン構造でプロジェクトを構築しています。CMakeを使用してプロジェクトをコンパイルしています。プラグインは別のディレクトリにコンパイルされます。私の問題は、CMakeがバイナリとプラグイン、動的ライブラリをコンパイルしてソースのディレクトリ構造に保存することです。CMakeでファイルを./binディレクトリなどに保存するにはどうすればよいですか?
187 c++  plugins  cmake 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.