CircleCI2.0+googletestでC++のテスト環境を構築
Docker Imageの作成
ubuntu:16.04のimageを元にしてclang+googletestの入ったImageを作成しました。
$ docker pull ubuntu:16.04 $ docker run --name my-ubuntu -it ubuntu:16.04 /bin/bash
clang+googletestの環境構築
# clangのinstall $ apt update $ apt install llvm build-essential clang # googletestのinstall $ apt install git cmake $ git clone https://github.com/google/googletest.git $ cd googletest $ cmake -DBUILD_SHARED_LIBS=ON . $ make $ cp -a googletest/include/gtest /usr/include $ cp -a googlemock/gtest/libgtest_main.so googlemock/gtest/libgtest.so /usr/lib/ $ exit
$ docker commit my-ubuntu wakanapo/clang-gtest $ docker push wakanapo/clang-gtest
Makefileの用意
CXX := clang++ CXXFLAGS := -std=c++14 -Wall -O2 -lgtest_main -lgtest SRCS := test.cc test: $(SRCS) $(CXX) $(CXXFLAGS) -o $@ $^ .PHONY: clean clean: rm ./test
yamlファイルの用意
yamlファイルは.circleciというレポジトリの下に置きます。
version: 2 jobs: build: docker: - image: wakanapo/clang-gtest steps: - checkout - run: name: Make test command: make test - run: name: Running test command: ./test