c_cpp:cmake

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
c_cpp:cmake [2019/02/18 05:14] ともやんc_cpp:cmake [2023/10/10 07:03] (現在) – [参考文献] ともやん
行 1: 行 1:
-====== Cmake - クロスプラットフォームの make システム ======+====== Cmake - クロスプラットフォームのコンパイラに依存しない make 自動化システム ======
 {{:c_cpp:cmake_logo-main.png?200|cmake logo}}\\ {{:c_cpp:cmake_logo-main.png?200|cmake logo}}\\
 [[https://cmake.org/|Cmake]]\\ [[https://cmake.org/|Cmake]]\\
 CMake は、ソフトウェアの構築、テスト、および、パッケージングを行うために設計された、オープンソースのクロスプラットフォームのツールである。CMake は単純なプラットフォームとコンパイラに依存しない設定ファイルを使ってソフトウェアのコンパイルプロセスを制御し、ネイティブの makefile とワークスペースを生成するのに使われる。実際のビルドにおいては、make、Xcode、Visual Studio のようなネイティブのビルド環境が利用される。一連の CMake ツールは、Insight Segmentation and Registration Toolkit(ITK) や可視化ソフトウェアである Visualization Toolkit(VTK) などのオープンソースプロジェクト用の強力なクロスプラットフォーム構築環境の必要性に応えて Kitware 社によって開発された。\\ CMake は、ソフトウェアの構築、テスト、および、パッケージングを行うために設計された、オープンソースのクロスプラットフォームのツールである。CMake は単純なプラットフォームとコンパイラに依存しない設定ファイルを使ってソフトウェアのコンパイルプロセスを制御し、ネイティブの makefile とワークスペースを生成するのに使われる。実際のビルドにおいては、make、Xcode、Visual Studio のようなネイティブのビルド環境が利用される。一連の CMake ツールは、Insight Segmentation and Registration Toolkit(ITK) や可視化ソフトウェアである Visualization Toolkit(VTK) などのオープンソースプロジェクト用の強力なクロスプラットフォーム構築環境の必要性に応えて Kitware 社によって開発された。\\
 +
 +===== 開発環境 =====
 +自分の開発環境は、OS が Fedora 29 でコンパイラは gcc バージョン 8.2.1、make は GNU Make 4.2.1 である。
  
 ===== インストール ===== ===== インストール =====
 Fedora Fedora
 +<WRAP color_term>
 +<WRAP color_command><html><pre>
 +<span style="color:#FF8700"><b>$</b></span> <span style="color:#26A269"><u style="text-decoration-style:single">sudo</u></span> <span style="color:#26A269">dnf</span> install cmake cmake-gui
 +</pre></html></WRAP>
 +<WRAP color_result_long><html><pre>
 +メタデータの期限切れの最終確認: 0:08:48 時間前の 2023年10月10日 06時14分08秒 に実施しました。
 +依存関係が解決しました。
 +==============================================================================================================
 + パッケージ                  アーキテクチャー    バージョン                        リポジトリー         サイズ
 +==============================================================================================================
 +インストール:
 + <span style="color:#26A269"><b>cmake                      </b></span> x86_64              3.27.6-1.fc38                     updates              8.0 M
 + <span style="color:#26A269"><b>cmake-gui                  </b></span> x86_64              3.27.6-1.fc38                     updates              2.7 M
 +依存関係のインストール:
 + <span style="color:#26A269"><b>cmake-data                 </b></span> noarch              3.27.6-1.fc38                     updates              2.2 M
 + <span style="color:#26A269"><b>rhash                      </b></span> x86_64              1.4.3-2.fc38                      fedora               194 k
 + <span style="color:#26A269"><b>vim-filesystem             </b></span> noarch              2:9.0.1984-1.fc38                 updates               18 k
 +
 +トランザクションの概要
 +==============================================================================================================
 +インストール  5 パッケージ
 +
 +ダウンロードサイズの合計: 13 M
 +インストール後のサイズ: 46 M
 +これでよろしいですか? [y/N]: y
 +パッケージのダウンロード:
 +(1/5): rhash-1.4.3-2.fc38.x86_64.rpm                                          397 kB/s | 194 kB     00:00    
 +(2/5): cmake-3.27.6-1.fc38.x86_64.rpm                                         2.5 MB/s | 8.0 MB     00:03    
 +(3/5): vim-filesystem-9.0.1984-1.fc38.noarch.rpm                              235 kB/s |  18 kB     00:00    
 +(4/5): cmake-data-3.27.6-1.fc38.noarch.rpm                                    635 kB/s | 2.2 MB     00:03    
 +(5/5): cmake-gui-3.27.6-1.fc38.x86_64.rpm                                     365 kB/s | 2.7 MB     00:07    
 +--------------------------------------------------------------------------------------------------------------
 +合計                                                                          1.4 MB/s |  13 MB     00:09     
 +トランザクションの確認を実行中
 +トランザクションの確認に成功しました。
 +トランザクションのテストを実行中
 +トランザクションのテストに成功しました。
 +トランザクションを実行中
 +  準備             :                                                                                      1/1 
 +  インストール中   : rhash-1.4.3-2.fc38.x86_64                                                            1/5 
 +  インストール中   : vim-filesystem-2:9.0.1984-1.fc38.noarch                                              2/5 
 +  インストール中   : cmake-data-3.27.6-1.fc38.noarch                                                      3/5 
 +  インストール中   : cmake-3.27.6-1.fc38.x86_64                                                           4/
 +  インストール中   : cmake-gui-3.27.6-1.fc38.x86_64                                                       5/
 +  scriptletの実行中: cmake-gui-3.27.6-1.fc38.x86_64                                                       5/
 +  検証             : rhash-1.4.3-2.fc38.x86_64                                                            1/5 
 +  検証             : cmake-3.27.6-1.fc38.x86_64                                                           2/
 +  検証             : cmake-data-3.27.6-1.fc38.noarch                                                      3/5 
 +  検証             : cmake-gui-3.27.6-1.fc38.x86_64                                                       4/
 +  検証             : vim-filesystem-2:9.0.1984-1.fc38.noarch                                              5/5 
 +
 +インストール済み:
 +  cmake-3.27.6-1.fc38.x86_64    cmake-data-3.27.6-1.fc38.noarch            cmake-gui-3.27.6-1.fc38.x86_64   
 +  rhash-1.4.3-2.fc38.x86_64     vim-filesystem-2:9.0.1984-1.fc38.noarch   
 +
 +完了しました!
 +</pre></html></WRAP>
 +</WRAP>
 +※cmake-gui は Cmake のための QT GUI。\\
 +
 +===== 使い方 =====
 +
 +==== Makefile を生成 ====
 +build ディレクトリを作成して、その中に Makefile を生成する。
 <code> <code>
-sudo dnf install cmake+cd project_dir 
 +$ mkdir build && cd build
 </code> </code>
 +<code>
 +$ cmake ..
 +</code>
 +or
 +<code>
 +$ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug ..
 +</code>
 +
 +==== ビルド ====
 +build ディレクトリの中でビルドを開始する。
 +<code>
 +$ make
 +</code>
 +or
 +<code>
 +$ make -j4
 +</code>
 +
 +==== CMakeLists.txt の作成 ====
 +<file autoconf CMakeLists.txt>
 +# CMake のバージョンを設定
 +cmake_minimum_required(VERSION 3.12.1)
 +
 +# デバッグおよびリリース構成タイプのみを生成
 +set(CMAKE_CONFIGURATION_TYPES Debug Release)
 +
 +# プロジェクト名と使用する言語を設定
 +project(wxwebviewchromium CXX)
 +
 +if (WIN32)
 +  set(exe_mode WIN32)
 +else ()
 +  set(exe_mode "")
 +endif ()
 +
 +# 実行ファイルを設定
 +add_executable(simple ${exe_mode} simple.cpp simple.h)
 +</file>
 +
 +=== Chromium Embedded Framework(CEF) コンフィギュレーション ===
 +<code autoconf>
 +#
 +# CEF コンフィギュレーション
 +#
 +
 +# このプロジェクトの cmake/ ディレクトリをモジュールパスに追加
 +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
 +
 +# CEF 配布バージョンを指定
 +set(CEF_VERSION "3.3626.1886.g162fdec")
 +
 +# プラットフォームを決定
 +if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
 +    set(CEF_PLATFORM "macosx64")
 +elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
 +    if(CMAKE_SIZEOF_VOID_P MATCHES 8)
 +        set(CEF_PLATFORM "linux64")
 +    else()
 +        set(CEF_PLATFORM "linux32")
 +    endif()
 +elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
 +    if(CMAKE_SIZEOF_VOID_P MATCHES 8)
 +        set(CEF_PLATFORM "windows64")
 +    else()
 +        set(CEF_PLATFORM "windows32")
 +    endif()
 +endif()
 +
 +# CEF バイナリ配布をダウンロードして解凍(DownloadCEF.cmake を実行)
 +include(DownloadCEF)
 +DownloadCEF("${CEF_PLATFORM}" "${CEF_VERSION}" "${CMAKE_SOURCE_DIR}/third_party/cef")
 +
 +# CEF バイナリ配布の cmake/ ディレクトリをモジュールパスに追加
 +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CEF_ROOT}/cmake")
 +
 +# CEF 設定をロードします(FindCEF.cmake を実行)
 +find_package(CEF REQUIRED)
 +include_directories(${CEF_INCLUDE_DIR})
 +</code>
 +
 +===== 参考文献 =====
  
  • c_cpp/cmake.1550434454.txt.gz
  • 最終更新: 2019/05/18 02:23
  • (外部編集)