aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuke McKee <hojuruku@gmail.com>2016-07-24 02:00:24 +0700
committerFelix Fietkau <nbd@nbd.name>2016-07-29 20:27:34 +0200
commiteadf5fb7f8313d78fa503665e96457d080e6e3f9 (patch)
tree22697a856c3d56963786b557eeb38389d10b0549
parent009d6d602496947877766df6f152c713056201de (diff)
downloadupstream-eadf5fb7f8313d78fa503665e96457d080e6e3f9.tar.gz
upstream-eadf5fb7f8313d78fa503665e96457d080e6e3f9.tar.bz2
upstream-eadf5fb7f8313d78fa503665e96457d080e6e3f9.zip
cmake: include/cmake.mk add CMAKE_BINARY_SUBDIR to allow out of source tree builds
Some packages need out of source tree building with cmake, for example when building kernel modules. See an example here: https://sourceforge.net/p/accel-ppp/code/ci/master/tree/README Signed-off-by: Luke McKee <hojuruku@gmail.com> Signed-off-by: Felix Fietkau <nbd@nbd.name> [cleanup, rework]
-rw-r--r--include/cmake.mk7
-rw-r--r--include/package-defaults.mk2
2 files changed, 6 insertions, 3 deletions
diff --git a/include/cmake.mk b/include/cmake.mk
index 009c6c2772..fac2bc0227 100644
--- a/include/cmake.mk
+++ b/include/cmake.mk
@@ -6,7 +6,9 @@ ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
MAKE_FLAGS+=VERBOSE=1
endif
-CMAKE_SOURCE_DIR:=.
+CMAKE_BINARY_DIR = $(PKG_BUILD_DIR)$(if $(CMAKE_BINARY_SUBDIR),/$(CMAKE_BINARY_SUBDIR))
+CMAKE_SOURCE_DIR = $(PKG_BUILD_DIR)
+MAKE_PATH = $(firstword $(CMAKE_BINARY_SUBDIR) .)
ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
cmake_tool=$(TOOLCHAIN_DIR)/bin/$(1)
@@ -35,7 +37,8 @@ CMAKE_HOST_FIND_ROOT_PATH:=$(STAGING_DIR)/host;$(STAGING_DIR_HOST)
CMAKE_SHARED_LDFLAGS:=-Wl,-Bsymbolic-functions
define Build/Configure/Default
- (cd $(PKG_BUILD_DIR); \
+ mkdir -p $(CMAKE_BINARY_DIR)
+ (cd $(CMAKE_BINARY_DIR); \
CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
CXXFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS) $(EXTRA_LDFLAGS)" \
diff --git a/include/package-defaults.mk b/include/package-defaults.mk
index 2896b4c783..e371c3bdff 100644
--- a/include/package-defaults.mk
+++ b/include/package-defaults.mk
@@ -136,7 +136,7 @@ MAKE_INSTALL_FLAGS = \
$(MAKE_FLAGS) \
DESTDIR="$(PKG_INSTALL_DIR)"
-MAKE_PATH = .
+MAKE_PATH ?= .
define Build/Compile/Default
+$(MAKE_VARS) \