cmake


CMakeはプラットフォームにまたがる自動化構築システムであり、CMakeListsという名前を使用する.txtのファイルは構築プロセスを記述し、UnixのMakefileやWindows Visual C++のprojects/workspacesなどの標準的な構築ファイルを生成することができる.ファイルCMakeLists.txtは手書きで書く必要がありますが、スクリプトを書くことで半自動的に生成することもできます.CMakeはautoconfigよりも簡潔な構文を提供します.CMakeを使用してlinuxプラットフォームでMakefileを生成してコンパイルする手順は、次のとおりです.
  • CmakeLists.txt
  • cmake PATH ccmake PATH Makefile ( PATH CMakeLists.txt )
  • make

  • install CMake
    私はCMakeを使ってプラットフォーム間の特性に注目していません.64ビットLinux C++server分野に集中しているからです.sudo apt-get install cmake chenshu@chenshu-ubuntu:~$ cmake —version cmake version 2.8.3
    HelloWorldエンジニアリング
    mkdir-p examples/helloworld cd examples/helloworld mainを作成します.cppファイル、コードは以下の通り:include int main() { printf("Hello World from Main!"); return 0; } CMakeListsを作成する.txtファイルは、PROJECT SET(SRC_LIST main.cpp)MESSAGE(STATUS"This is BINARY dir"${HELLO_BINARY_DIR})MESSAGE(STATUS"This is is SOURCE dir"${HELLO_SOURCE_DIR})ADD_EXECUTABLE(hello${SRC_LIST})は、同じディレクトリの下でcmakeを実行する.chenshu@chenshu-ubuntu:~/Ubuntu One/c++/cmake/examples/helloworld$ cmake . — The C compiler identification is GNU — The CXX compiler identification is GNU — Check for working C compiler:/usr/bin/gcc — Check for working C compiler:/usr/bin/gcc — works — Detecting C compiler ABI info — Detecting C compiler ABI info - done — Check for working CXX compiler:/usr/bin/c++ — Check for working CXX compiler:/usr/bin/c++ — works — Detecting CXX compiler ABI info — Detecting CXX compiler ABI info - done — This is BINARY dir/home/chenshu/Ubuntu One/c++/cmake/examples/helloworld — This is SOURCE dir/home/chenshu/Ubuntu One/c++/cmake/examples/helloworld — Configuring done — Generating done — Build files have been written to:/home/chenshu/Ubuntu One/c++cmake/examples/helloworld Makefileおよびその他のファイルはcmakeによって生成されます.makeコマンドを実行すると、helloバイナリファイルがコンパイルされます.実行./hello、結果が見えます.Hello World from Main! make VERBOSE=1には、詳細なコンパイルプロセスが表示されます.make cleanは工事を片付けることができます
    外部構築
    HelloWorldは内部構築を採用しており、cmakeが生成したコードは自分のソースファイルと同じディレクトリにあり、非常によくありません.そのためcmakeの外部構築方式を採用する必要がある.helloworld 2ディレクトリを作成今度はsrcディレクトリ格納ソースコードを作成し、docディレクトリ格納プロジェクトドキュメント、CMakeLists.txtは、プロジェクトルートディレクトリとsrcディレクトリに表示する必要があります.プロジェクトルートディレクトリの下の内容は以下の通りです:project(HelloWorld 2)add_subdirectory(src bin)srcディレクトリの下には、add_executable(hello 2 main.cpp)buildディレクトリcd build cmakeを作成する..make build/binの下にhello 2実行可能ファイルが表示されます.
    gdbデバッグをサポート
    src/CMakeLists.txtファイルに行を追加:set(CMAKE_BUILD_TYPE Debug)
    http://wenku.baidu.com/view/7e5a8f145f0e7cd18425364a.html