From d4d7e8ad84cb24cee31f10d5bfedab715df65754 Mon Sep 17 00:00:00 2001 From: Mohsin Kazmi Date: Mon, 3 Sep 2018 15:25:43 +0200 Subject: cmake: Move VOM to cmake Change-Id: I352dbb8e972e59a4caae4acd507153446470ce6b Signed-off-by: Mohsin Kazmi --- build-data/packages/vom.mk | 41 +++++++++++++++++++++++++++++++++++++++-- build-data/platforms/vpp.mk | 1 + 2 files changed, 40 insertions(+), 2 deletions(-) (limited to 'build-data') diff --git a/build-data/packages/vom.mk b/build-data/packages/vom.mk index a156ea8671c..e3c827d074a 100644 --- a/build-data/packages/vom.mk +++ b/build-data/packages/vom.mk @@ -1,6 +1,43 @@ +# Copyright (c) 2017-2018 Cisco and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + vom_configure_depend = vpp-install vom_source = extras vom_configure_subdir = vom -vom_CPPFLAGS = $(call installed_includes_fn, vpp) -vom_LDFLAGS = $(call installed_libs_fn, vpp) +ifneq ($(shell which cmake3),) +CMAKE?=cmake3 +else +CMAKE?=cmake +endif + +vom_cmake_args ?= +vom_cmake_args += -DCMAKE_INSTALL_PREFIX:PATH=$(PACKAGE_INSTALL_DIR) +vom_cmake_args += -DCMAKE_CXX_FLAGS="$($(TAG)_TAG_CPPFLAGS)" +vom_cmake_args += -DCMAKE_SHARED_LINKER_FLAGS="$($(TAG)_TAG_LDFLAGS)" +vom_cmake_args += -DVPP_INCLUDE_DIR_HINT="$(PACKAGE_INSTALL_DIR)/../vpp/include" +vom_cmake_args += -DVPP_LIB_DIR_HINT="$(PACKAGE_INSTALL_DIR)/../vpp/lib64" +vom_cmake_args += -DCMAKE_INCLUDE_PATH="$(call installed_includes_fn, vpp)" +vom_cmake_args += -DCMAKE_LIBRARY_PATH="$(call installed_libs_fn, vpp)" + +# Use devtoolset on centos 7 +ifneq ($(wildcard /opt/rh/devtoolset-7/enable),) +vom_cmake_args += -DCMAKE_PROGRAM_PATH:PATH="/opt/rh/devtoolset-7/root/bin" +endif + +vom_configure = \ + cd $(PACKAGE_BUILD_DIR) && \ + $(CMAKE) -G Ninja $(vom_cmake_args) $(call find_source_fn,$(PACKAGE_SOURCE))$(PACKAGE_SUBDIR) + +vom_build = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- -j 8 +vom_install = $(CMAKE) --build $(PACKAGE_BUILD_DIR) -- install diff --git a/build-data/platforms/vpp.mk b/build-data/platforms/vpp.mk index 2b84f698006..10184964e23 100644 --- a/build-data/platforms/vpp.mk +++ b/build-data/platforms/vpp.mk @@ -34,6 +34,7 @@ vpp_TAG_CXXFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror vpp_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror -pie -Wl,-z,now vpp_clang_TAG_CFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror +vpp_clang_TAG_CXXFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror vpp_clang_TAG_LDFLAGS = -g -O2 -DFORTIFY_SOURCE=2 -fstack-protector -fPIC -Werror vpp_gcov_TAG_CFLAGS = -g -O0 -DCLIB_DEBUG -fPIC -Werror -fprofile-arcs -ftest-coverage -- cgit 1.2.3-korg