KAGURA実験室

KAGURA開発者の個人ブログ

Azure ArtifactsでC++ライブラリのパッケージ管理

前回はパイプラインを使ってライブラリを複数ターゲットにビルドしました。今回は、ビルドしたライブラリをメインのプログラムで使用するにはどうしたらいいかを考えます。 KAGURAでは、たくさんの外部ライブラリが使用されていますが、中でも、boost、OpenC…

Azure Pipelinesでzlibをマルチプラットフォームに自動ビルドする

KAGURAの自動ビルドをAzure Pipelinesで実現できるかどうか、検討しています。前回は、CMakeを使ってC++のコードを複数環境向け(Ubuntu、Windows、macOS)にビルドできることまで確認しました。 複数のエージェントがMicrosoftによって用意されていて、設定…

Azure PipelinesでCMakeを使ったC++ビルド

前回はAzure Pipelinesのビルド環境にCMakeがインストールされていることまで確認したので、実際にC++のコードをビルドしてみたいと思います。 まずはローカルでビルド 自動ビルドとはビルドコマンドを自動で叩いてくれるだけで、ビルドの設定まで自動でやっ…

C/C++でもCI/CDしたい!

CI/CD CI/CD(継続的インテグレーションと継続的デリバリー)とは、ソフトウェア開発の作業単位を小さくし、頻繁に統合・ビルド・テストをして常にリリースできる状態に保つことです。開発の無駄を省き、ユーザーに価値を届けることを大切にする、いまどきの…

CMakeの便利機能 configure

このイラストはフィクションであり、実在の人物とは関係ありません。一切関係ありません。 「こんなことできたらいいな」というとき、実装自体はそんなに難しくなくても、製品に組み込むとなるとそう簡単ではないことがあります。本当に有用なものか自信がな…

画像処理あるある① カメラに映った自分の顔色が悪すぎてびっくりする

Webカメラの画像に対して何らかの画像処理を行うプログラムを書いていると、うっかり自分の顔がこの世のものとは思えないものになっていることがあります。 これは、画像成分Red・Blue・Greenの並び順(RGBとBGR)を間違えたために起こります。 Windowsで非…

KAGURAを支える技術① CMake

クロスプラットフォーム KAGURAはWindows版とMac版があり、同時に開発されています。 開発チームはとても小規模なので、効率的に開発を進める必要があります。 言語は主にC++です。 WindowsでもMacでも動くビルド環境を作ろうとした場合、1つはGCCとmakeのよ…

ブログ始めました

2019年明けましておめでとうございます。このブログはKAGURAの開発者が非公式に開設しました。 技術的な話や、開発裏話、開発中の新機能、KAGURAのTipsなどを、開発者の目線で紹介していきます。誰の役に立つか分かりませんが、いろいろなことを書いていきま…