GitのCGALを実行できるようにするまで
CGALとは
https://www.cgal.org/
計算幾何学のC++オープンソースライブラリ
一番有名っぽい
ライセンスはGPL/LGPL/Commercial lisence
なぜCGALに手を出したか
- 幾何学的なことを勉強する必要が出てきた
- CGALのつかいかたやマニュアルから一般的な幾何学(Computer geometry)の知識取得を目論んだ
- Demoやマニュアルが充実している
- Header onlyライブラリであったり、wasm化事例があったり使い勝手が良さそう
調べてもあまり使用事例が出てこない。GDALより汎用的なジャンルな気もするがライセンスが問題なのかあまりヒットしなかった。日本では6社がCommercial lisenceを結んでいるらしい。
環境
Ubuntu22.04(Pop!OS 22.04)
Install
環境構築が終わった後に記憶で書いているため、ぬけもれがたくさんある。 構築しながら書けばよかったと反省。
Git からCGAKをCloneしてexampleを実行してみる。 コマンドは公式を参照した https://doc.cgal.org/latest/Manual/usage.html
cd $HOME/CGAL-6.0.1/examples/Triangulation_2 # go to an example directory cmake -DCMAKE_BUILD_TYPE=Release . # configure the examples make # build the examples
Qtがないというエラーが出るので、Qtをインストールする。
HPからオンラインインストーラを取得。深いところにあって分かりづらかった。
# これらも必要だった(経緯は失念) sudo apt-get install build-essential libgl1-mesa-dev # Qt6オンラインインストーラで警告が出たのでいかを実行 apt install libxcb-cursor0 libxcb-cursor-dev
Qtのインストール3hくらいかかりそうな勢い。
多分exampleはviewerを必要とするからQtが必要。CUI実行だけならいらないはず。
オンラインインストーラだからQt creatorとかも入ってきてる気がする。
一旦キャンセルしてaptで取得してみた
install qt6-base-dev libqt6opengl6-dev
だけどもビルドに依然としてqt6がないと言われる。しょうがないのでオンラインインストーラから再度インストール。Qt creatorは除いた。
Qt6のインストール完了したが、パスが通ってないのか
➜ Triangulation_2 git:(master) cmake -DCMAKE_BUILD_TYPE=Release . CMake Error at /usr/lib/x86_64-linux-gnu/cmake/CGAL/CGALConfig.cmake:117 (message): The requested CGAL component Qt6 does not exist! Call Stack (most recent call first): CMakeLists.txt:7 (find_package)
(CGAL/.github/にinstall.shを言うのがあり、その中にQt6があるのでこれをとりあえず実行してみる。たぶん不必要)
Triangulation_2 cmake -DCGAL_DIR=/home/mr-akami/workspace/tmp/CGAL-6.0.1 -DCMAKE_PREFIX_PATH="/home/<your user>/Qt/6.8.0/gcc_64" -DQt6_DIR="/home/<your user>/Qt/6.8.0/gcc_64/lib/cmake/Qt6" -DCMAKE_BUILD_TYPE=Release .
これでいけた。
Githubからとってきたソースを使う場合は-DCGAL-DIR
が必要だったみたいだ。
-DCMAKE_PREFIX_PATH
はQtの場所。
-DQt6_DIR
はQtのcmakeの大本のQt6Config.cmakeある場所。指定しなくてもいいかも。
cmakeでmakeファイルが作られたあと、makeをうてばビルドが走る