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

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

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

関連記事

Ubuntu 16.04 LTS でのDocker実行環境(docker-engine + docker-compose)の構築

今回は、Ubuntu 16.04 LTS でのDocker実行環境の構築を行います。 目次1 背景2 注意3 docker-engineのインストール4 docker-composeのインストール5 …

C++のマルチスレッド環境における問題とvalgrindを用いた検出方法

私は仕事でC++を使用してソフトウェアを実装しています。 今回は、C++マルチスレッドプログラミングで発生する問題点とその検出方法を(自分のメモも兼ねて)記述します。 環境は以下になっております。 O …

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

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

C++11で作るTypeList(型情報コンテナ)とfor_each

目次1 経緯2 要件と仕様3 設計と実装3.1 LokiのTypeList3.2 C++11時代のTypeList3.3 TypeListへのアクセッサ(リストのサイズ・添字アクセス・型からの添字抽出 …

Docker上でWordPressとnginx-proxyを連携(SSL対応)

今回は、Docker上でWordpressサーバを構築し、SSLに対応したnginx-proxyとの連携を行います。 追記(2017/10/08):作成したdocker-compose.ymlをGit …