C++ Linux Ubuntu

cmake, googletestを利用したC++開発環境の構築テスト

投稿日:

自学用メモ。

業務で使用しているcmakeの勉強がてら、業務に近いソースツリーを作成した。
googletestを用いた単体テストも合わせて書けるような構成になっている。
テンプレートとして、今後のC++プロジェクトで使用していきたい。

C++開発環境

githubにおいた。

各種使い方はREADMEに記述した。

なぜ作成したか

単体テスト練習用

もともと業務でC++の開発をしている。
とにかく開発期間が短く、単体テストを書く暇がほとんどないままリリースすることが多々あるため、単体テストを書くのに慣れていない。

このため、いざリリースが落ち着いて単体テストを書こうと思っても、経験が少ないためなかなかスムーズに書くことができない。

また、レガシーコードが多く、DIが気軽に行えないことも単体テストの作成難な要因の一つでもある。

cmakeの勉強

業務ではガッツリ構築されたcmakeプロジェクトが存在し、下っ端である私はそれに乗っかって開発をしている。
今後新規のC++プロジェクト立ち上げの際に、このままだとcmakeの使い方を知らずMakefile直書きということになりかねない。

cmakeは癖があるため、今のうちにcmakeでの構築に慣れておかなければならない危機感から、cmakeを使ったテンプレートを作った。

最後に

間違っている、こうした方がいい等ありましたら、遠慮なくtwitter、githubに連絡ください。

-C++, Linux, Ubuntu
-,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

vimからC++プロジェクトに対してCMakeでビルドツリー生成+コンパイル

筆者はテキストエディタとしてvimを日常的に使用しています。 今回は、C++のソースツリーに対して、vim越しにCMakeコマンドを使用してビルドツリーを作成し、そのビルドツリー上でコンパイルを行うv …

Docker上でnginx-proxy他を使ってSSL対応マルチドメインサーバ環境の構築

今回は、nginx-proxyを使用し、SSLに対応したマルチドメイン環境を構築します。 追記(2017/10/08):作成したdocker-compose.ymlをGithubに公開しました。目次の …

Linuxサーバの初期設定(Ubuntu 16.04 LTS)

先日、VPS(Scaleway VCS1プラン)をレンタルし、Linuxサーバを立ち上げました。その際の初期設定について記述していきます。 目次1 環境2 作業内容2.1 ユーザ設定2.2 SSH設定 …

C++メタプログラミングでmemcpyを少し安全にする

目次1 背景2 環境3 要件と仕様4 設計・実装5 テスト6 まとめ6.0.1 関連 背景 筆者はC++11を使用して開発を行っています。 開発していると、危険なlibcの関数をラップしてUtilit …

ltraceを用いてstd::vector::push_backの動作を見える化する

仕事で使用したltraceの使い方を、メモがてら残しておきます。 目次1 概要1.1 環境2 設計・実装3 ltraceを用いたdynamic libraryのトレース4 終わりに5 メモ5.0.1 …