Skip to contentSkip to conversation

cxxtest: new package

PATCH Superseded Abhishek Singh 2 participants 2 messages Dec 17, 2015

v3 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 cxxtest: new package

---
changes v2 -> v3:
- change source download path (suggested by Yann E. Morin)
- modify comment (suggested by Yann E. Morin)

changes v1 -> v2:
- remove dependency on host-python (suggested by Thomas Petazzoni)
- add comments in mk file (suggested by Thomas Petazzoni)

---
 package/Config.in            |  1 +
 package/cxxtest/Config.in    | 10 ++++++++++
 package/cxxtest/cxxtest.hash |  2 ++
 package/cxxtest/cxxtest.mk   | 31 +++++++++++++++++++++++++++++++
 4 files changed, 44 insertions(+)
 create mode 100644 package/cxxtest/Config.in
 create mode 100644 package/cxxtest/cxxtest.hash
 create mode 100644 package/cxxtest/cxxtest.mk
package/Config.in +1 -0
index 1eea89b..d9015c8 100644
@@ -118,6 +118,7 @@ menu "Development tools"
 	source "package/cmake/Config.in"
 	source "package/cppunit/Config.in"
 	source "package/cvs/Config.in"
+	source "package/cxxtest/Config.in"
 if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
 	source "package/diffutils/Config.in"
 	source "package/dos2unix/Config.in"
package/cxxtest/Config.in new file +10 -0
new file mode 100644
index 0000000..7512e4b
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_CXXTEST
+	bool "cxxtest"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  CxxTest is a unit testing framework for C++
+
+	  http://cxxtest.com/
+
+comment "cxxtest needs toolchain with C++ support"
+	depends on !BR2_INSTALL_LIBSTDCPP
package/cxxtest/cxxtest.hash new file +2 -0
new file mode 100644
index 0000000..f552e80
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256	1c154fef91c65dbf1cd4519af7ade70a61d85a923b6e0c0b007dc7f4895cf7d8	cxxtest-4.4.tar.gz
package/cxxtest/cxxtest.mk new file +31 -0
new file mode 100644
index 0000000..ab0da3d
@@ -0,0 +1,31 @@
+#######################################################################################
+#
+# cxxtest
+#
+#######################################################################################
+
+CXXTEST_VERSION = 4.4
+CXXTEST_SOURCE = cxxtest-$(CXXTEST_VERSION).tar.gz
+CXXTEST_SITE = https://github.com/CxxTest/cxxtest/releases/download/$(CXXTEST_VERSION)
+CXXTEST_LICENSE = LGPLv3
+CXXTEST_LICENSE_FILES = COPYING
+CXXTEST_INSTALL_STAGING = YES
+CXXTEST_INSTALL_TARGET = NO
+CXXTEST_DEPENDENCIES = host-cxxtest
+HOST_CXXTEST_SETUP_TYPE = setuptools
+HOST_CXXTEST_SUBDIR = python
+
+# Copy CxxTest header files to staging directory
+define CXXTEST_INSTALL_STAGING_CMDS
+	mkdir -p $(STAGING_DIR)/usr/include/cxxtest
+	cp $(@D)/cxxtest/* $(STAGING_DIR)/usr/include/cxxtest
+endef
+
+# CxxTest uses python infrastructure as the build system. It consists of two parts:
+# 1. cxxtestgen tool to process tests defined in header files to generate C++ source
+# files. cxxtestgen is built as a host package, so that it can be used natively.
+# 2. A set of header files which are installed in staging directory. This will be
+# used in cross-compiling test harness to generate executable which will run on target.
+
+$(eval $(generic-package))
+$(eval $(host-python-package))
Signature · 1 line
2.6.2
#1 lore raw

PATCH v3 1/1 cxxtest: new package

Hi Abhishek,

Quoted 64 lines

---
changes v2 -> v3:
- change source download path (suggested by Yann E. Morin)
- modify comment (suggested by Yann E. Morin)

changes v1 -> v2:
- remove dependency on host-python (suggested by Thomas Petazzoni)
- add comments in mk file (suggested by Thomas Petazzoni)

---
  package/Config.in            |  1 +
  package/cxxtest/Config.in    | 10 ++++++++++
  package/cxxtest/cxxtest.hash |  2 ++
  package/cxxtest/cxxtest.mk   | 31 +++++++++++++++++++++++++++++++
  4 files changed, 44 insertions(+)

create mode 100644 package/cxxtest/Config.in
create mode 100644 package/cxxtest/cxxtest.hash
create mode 100644 package/cxxtest/cxxtest.mk

package/Config.in +1 -0
index 1eea89b..d9015c8 100644
@@ -118,6 +118,7 @@ menu "Development tools"
  	source "package/cmake/Config.in"
  	source "package/cppunit/Config.in"
  	source "package/cvs/Config.in"
+	source "package/cxxtest/Config.in"
  if BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
  	source "package/diffutils/Config.in"
  	source "package/dos2unix/Config.in"
package/cxxtest/Config.in new file +10 -0
new file mode 100644
index 0000000..7512e4b
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_CXXTEST
+	bool "cxxtest"
+	depends on BR2_INSTALL_LIBSTDCPP
+	help
+	  CxxTest is a unit testing framework for C++
+
+	  http://cxxtest.com/
+
+comment "cxxtest needs toolchain with C++ support"
+	depends on !BR2_INSTALL_LIBSTDCPP
package/cxxtest/cxxtest.hash new file +2 -0
new file mode 100644
index 0000000..f552e80
@@ -0,0 +1,2 @@
+# Locally computed:
+sha256	1c154fef91c65dbf1cd4519af7ade70a61d85a923b6e0c0b007dc7f4895cf7d8	cxxtest-4.4.tar.gz
package/cxxtest/cxxtest.mk new file +0 -0
new file mode 100644
index 0000000..ab0da3d

package/cxxtest/cxxtest.mk line 8

Quoted 8 lines
package/cxxtest/cxxtest.mk new file +8 -0
@@ -0,0 +1,31 @@
+#######################################################################################
+#
+# cxxtest
+#
+#######################################################################################
+
+CXXTEST_VERSION = 4.4
+CXXTEST_SOURCE = cxxtest-$(CXXTEST_VERSION).tar.gz

This line is not needed. It is the default.

Regards,
Jerzy

Quoted 23 lines
package/cxxtest/cxxtest.mk new file +23 -0
+CXXTEST_SITE = https://github.com/CxxTest/cxxtest/releases/download/$(CXXTEST_VERSION)
+CXXTEST_LICENSE = LGPLv3
+CXXTEST_LICENSE_FILES = COPYING
+CXXTEST_INSTALL_STAGING = YES
+CXXTEST_INSTALL_TARGET = NO
+CXXTEST_DEPENDENCIES = host-cxxtest
+HOST_CXXTEST_SETUP_TYPE = setuptools
+HOST_CXXTEST_SUBDIR = python
+
+# Copy CxxTest header files to staging directory
+define CXXTEST_INSTALL_STAGING_CMDS
+	mkdir -p $(STAGING_DIR)/usr/include/cxxtest
+	cp $(@D)/cxxtest/* $(STAGING_DIR)/usr/include/cxxtest
+endef
+
+# CxxTest uses python infrastructure as the build system. It consists of two parts:
+# 1. cxxtestgen tool to process tests defined in header files to generate C++ source
+# files. cxxtestgen is built as a host package, so that it can be used natively.
+# 2. A set of header files which are installed in staging directory. This will be
+# used in cross-compiling test harness to generate executable which will run on target.
+
+$(eval $(generic-package))
+$(eval $(host-python-package))