Add cgreen unit test library and makefile

This commit is contained in:
Fred Sundvik 2016-02-14 00:05:58 +02:00
parent ffc425603d
commit e70cefc12f
5 changed files with 86 additions and 0 deletions

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "cgreen/cgreen"]
path = cgreen/cgreen
url = http://github.com/cgreen-devs/cgreen

38
cgreen/Makefile Normal file
View File

@ -0,0 +1,38 @@
# This Makefile ensures that the build is made out of source in a subdirectory called 'build'
# If it doesn't exist, it is created and a Makefile created there (from Makefile.build)
#
# This Makefile also contains delegation of the most common make commands
#
# If you have cmake installed you should be able to do:
#
# make
# make test
# make install
# make package
#
# That should build cgreen for C and C++, run some tests, install it locally and
# generate two distributable packages.
all: build
cd $(CGREEN_BUILD_DIR); make all
test: build
cd $(CGREEN_BUILD_DIR); make test
clean: build
cd $(CGREEN_BUILD_DIR); make clean
package: build
cd $(CGREEN_BUILD_DIR); make package
install:
cd $(CGREEN_BUILD_DIR); make install
############# Internal
build:
mkdir -p $(CGREEN_BUILD_DIR)
cp Makefile.build $(CGREEN_BUILD_DIR)/Makefile
.SILENT:

33
cgreen/Makefile.build Normal file
View File

@ -0,0 +1,33 @@
# This Makefile is copied from the cgreen top directory (where it is
# named Makefile.build) and put in a subdirectory called 'build' where
# builds are made This Makefile then automatically creates
# subdirectories for C and C++ builds configuring them using the cmake
# command. Once created you can always tweak the cmake setup as with
# any cmake build directory
all: build-c build-c++
for d in build-* ; do cd $$d; make ; cd .. ; done
clean:
for d in build-* ; do cd $$d; make clean ; cd .. ; done
check test:
for d in build-* ; do cd $$d; make check ; cd .. ; done
package:
for d in build-* ; do cd $$d; make package ; cd .. ; done
install:
for d in build-* ; do cd $$d; make install ; cd .. ; done
############ Internal
build-c:
mkdir build-c
cd build-c; cmake -G "Unix Makefiles" $(CGREEN_DIR)
build-c++:
mkdir build-c++
cd build-c++; cmake -G "Unix Makefiles" -DWITH_CXX:bool=ON $(CGREEN_DIR)
.SILENT:

1
cgreen/cgreen Submodule

@ -0,0 +1 @@
Subproject commit d4d438dda1b7131f0bd0530b2c258e9dea6a2a9f

11
serial_link.mk Normal file
View File

@ -0,0 +1,11 @@
CGREEN_LIB = $(BUILDDIR)/cgreen/build-c/src/libcgreen.a
.phony testserial:
testserial: $(CGREEN_LIB)
CGREEN_DIR = "$(CURDIR)/$(SERIAL_DIR)/cgreen/cgreen"
CGREEN_BUILD_DIR = "$(CURDIR)/$(BUILDDIR)/cgreen"
export CGREEN_DIR
export CGREEN_BUILD_DIR
$(CGREEN_LIB):
make -C $(SERIAL_DIR)/cgreen