فهرست منبع

Add cgreen unit test library and makefile

Fred Sundvik 9 سال پیش
والد
کامیت
e70cefc12f
5فایلهای تغییر یافته به همراه86 افزوده شده و 0 حذف شده
  1. 3 0
      .gitmodules
  2. 38 0
      cgreen/Makefile
  3. 33 0
      cgreen/Makefile.build
  4. 1 0
      cgreen/cgreen
  5. 11 0
      serial_link.mk

+ 3 - 0
.gitmodules

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

+ 38 - 0
cgreen/Makefile

@@ -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 - 0
cgreen/Makefile.build

@@ -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 - 0
cgreen/cgreen

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

+ 11 - 0
serial_link.mk

@@ -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