include/cmake.mk: fix host builds with CMAKE_BINARY_SUBDIR
authorFelix Fietkau <nbd@nbd.name>
Sun, 17 Oct 2021 15:01:23 +0000 (17:01 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 20 Oct 2021 09:35:34 +0000 (11:35 +0200)
Use it in the same way as for target builds

Signed-off-by: Felix Fietkau <nbd@nbd.name>
include/cmake.mk

index b38d44003912a5466181cc671fdda80940f40057..3318468c904adea58bb2e7dd3676ff8ec67c8112 100644 (file)
@@ -18,6 +18,7 @@ endif
 CMAKE_BINARY_DIR = $(PKG_BUILD_DIR)$(if $(CMAKE_BINARY_SUBDIR),/$(CMAKE_BINARY_SUBDIR))
 CMAKE_SOURCE_DIR = $(PKG_BUILD_DIR)$(if $(CMAKE_SOURCE_SUBDIR),/$(CMAKE_SOURCE_SUBDIR))
 HOST_CMAKE_SOURCE_DIR = $(HOST_BUILD_DIR)$(if $(CMAKE_SOURCE_SUBDIR),/$(CMAKE_SOURCE_SUBDIR))
+HOST_CMAKE_BINARY_DIR = $(HOST_BUILD_DIR)$(if $(CMAKE_BINARY_SUBDIR),/$(CMAKE_BINARY_SUBDIR))
 MAKE_PATH = $(firstword $(CMAKE_BINARY_SUBDIR) .)
 
 ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
@@ -56,15 +57,15 @@ ifeq ($(HOST_USE_NINJA),1)
   CMAKE_HOST_OPTIONS += -DCMAKE_GENERATOR="Ninja"
 
   define Host/Compile/Default
-       +$(NINJA) -C $(HOST_BUILD_DIR) $(1)
+       +$(NINJA) -C $(HOST_CMAKE_BINARY_DIR) $(1)
   endef
 
   define Host/Install/Default
-       +$(NINJA) -C $(HOST_BUILD_DIR) install
+       +$(NINJA) -C $(HOST_CMAKE_BINARY_DIR) install
   endef
 
   define Host/Uninstall/Default
-       +$(NINJA) -C $(HOST_BUILD_DIR) uninstall
+       +$(NINJA) -C $(HOST_CMAKE_BINARY_DIR) uninstall
   endef
 endif
 
@@ -133,7 +134,8 @@ endef
 Build/InstallDev = $(if $(CMAKE_INSTALL),$(Build/InstallDev/cmake))
 
 define Host/Configure/Default
-       (cd $(HOST_BUILD_DIR); \
+       mkdir -p "$(HOST_CMAKE_BINARY_DIR)"
+       (cd $(HOST_CMAKE_BINARY_DIR); \
                CFLAGS="$(HOST_CFLAGS)" \
                CXXFLAGS="$(HOST_CFLAGS)" \
                LDFLAGS="$(HOST_LDFLAGS)" \