macOSでCMakeを使ってOpenGLプロジェクトをビルドするための最小のCMake設定です。
バージョン情報
$ sw_vers ProductName: macOS ProductVersion: 14.3 BuildVersion: 23D56 $ xcodebuild -version Xcode 15.2 Build version 15C500b $ cmake -version cmake version 3.28.1 CMake suite maintained and supported by Kitware (kitware.com/cmake). $make --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i386-apple-darwin11.3.0
サンプル
cmake_minimum_required(VERSION 3.16)
project(SampleProject)
set(CMAKE_CXX_FLAGS "-std=c++20")
add_compile_options(-Wall -O2)
add_definitions(-Wno-deprecated-declarations)
find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)
include_directories(
${OPENGL_INCLUDE_DIR}
${GLUT_INCLUDE_DIR}
)
add_executable(
a.out
main.cc
)
target_link_libraries(
a.out
${OPENGL_LIBRARIES}
${GLUT_LIBRARIES}
)
解説
cmake_minimum_required(VERSION 3.16) project(SampleProject)
CMakeのバージョンとプロジェクト名を設定しています。
set(CMAKE_CXX_FLAGS "-std=c++20") add_compile_options(-Wall -O2)
コンパイルオプションを設定しています。
-std=c++20: C++20の有効化add_comple_optionsにも記載できますが、CMAKE_CXX_FLAGSに set で設定することが推奨されているみたいです
-Wall: 警告の有効化-O2: 最適化度の設定- 0~3がありますが、3は危険で2くらいがちょうどいいみたいです
add_definitions(-Wno-deprecated-declarations)
非推奨の定義の呼び出し警告をオフに設定しています。
最新のmacOSではOpenGLが非推奨であり、Metalを使用することが推奨されています。
それで警告が出るため、このオプションを有効にしておくと良いと思います。(多分)
find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)
include_directories(${OPENGL_INCLUDE_DIR} ${GLUT_INCLUDE_DIR})
OpenGLのライブラリを探してきてきます。
macOSに標準でインストールされているOpenGLとGLUTを探してきてくれるみたいです。
その後ライブラリのインクルードファイルのディレクトリの場所を設定します。
OPENGL_INCLUDE_DIR や GLUT_INCLUDE_DIR といった変数は find_package コマンドで自動定義されます。
add_executable(a.out main.cc)
実行ファイルの設定です。
target_link_libraries(a.out ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES})
各種ライブラリをリンクします。
ここで探してきたOpenGLのライブラリをリンクします。
OPENGL_LIBRARIES や GLUT_LIBRARIES といった変数は find_package コマンドで自動定義されます。