summaryrefslogtreecommitdiffstats
path: root/build-data
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2018-09-12 12:12:36 +0200
committerDave Barach <openvpp@barachs.net>2018-09-12 17:04:36 +0000
commit0fa900e482451d05449501c1422bfa7c47eec661 (patch)
treec9f17a9fa246221aec040d334ef0ae52143768b5 /build-data
parent79dcbc74cd417f4caf41bc398ccba94cab7d656b (diff)
cmake: create cmake VPP module, update sample-plugin so it uses it
Change-Id: I32e91ba8e55797ffe169f98b09bdb42caa5c7de2 Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'build-data')
-rw-r--r--build-data/packages/sample-plugin.mk26
1 files changed, 26 insertions, 0 deletions
diff --git a/build-data/packages/sample-plugin.mk b/build-data/packages/sample-plugin.mk
index 8aca9ea804c..77855671b12 100644
--- a/build-data/packages/sample-plugin.mk
+++ b/build-data/packages/sample-plugin.mk
@@ -17,3 +17,29 @@ sample-plugin_configure_depend = vpp-install
sample-plugin_CPPFLAGS = $(call installed_includes_fn, vpp)
sample-plugin_LDFLAGS = $(call installed_libs_fn, vpp)
sample-plugin_PATH = $(call package_install_dir_fn,vpp)/bin
+
+ifneq ($(shell which cmake3),)
+CMAKE?=cmake3
+else
+CMAKE?=cmake
+endif
+
+sample-plugin_cmake_args ?=
+sample-plugin_cmake_args += -DCMAKE_INSTALL_PREFIX:PATH=$(PACKAGE_INSTALL_DIR)
+sample-plugin_cmake_args += -DCMAKE_C_FLAGS="$($(TAG)_TAG_CFLAGS)"
+sample-plugin_cmake_args += -DCMAKE_SHARED_LINKER_FLAGS="$($(TAG)_TAG_LDFLAGS)"
+sample-plugin_cmake_args += -DCMAKE_PREFIX_PATH:PATH="$(PACKAGE_INSTALL_DIR)/../vpp"
+
+# Use devtoolset on centos 7
+ifneq ($(wildcard /opt/rh/devtoolset-7/enable),)
+sample-plugin_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-7/root/bin"
+endif
+
+sample-plugin_configure = \
+ cd $(PACKAGE_BUILD_DIR) && \
+ $(CMAKE) -G Ninja $(sample-plugin_cmake_args) \
+ $(call find_source_fn,$(PACKAGE_SOURCE))$(PACKAGE_SUBDIR)
+
+sample-plugin_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- $(MAKE_PARALLEL_FLAGS)
+
+sample-plugin_install = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- install