From 3ecf0eca634601da216b06f091f95456c047f39c Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Fri, 7 Aug 2020 20:52:22 -0400 Subject: [PATCH 1/5] depends: Use $($(package)_cmake) instead of cmake --- depends/packages/native_cdrkit.mk | 2 +- depends/packages/native_libdmg-hfsplus.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/depends/packages/native_cdrkit.mk b/depends/packages/native_cdrkit.mk index 14c37a0fc77..7bdf2d7dfda 100644 --- a/depends/packages/native_cdrkit.mk +++ b/depends/packages/native_cdrkit.mk @@ -12,7 +12,7 @@ endef # Starting with 10.1, GCC defaults to -fno-common, resulting in linking errors. # Pass -fcommon to retain the legacy behaviour. define $(package)_config_cmds - cmake -DCMAKE_INSTALL_PREFIX=$(build_prefix) -DCMAKE_C_FLAGS="-fcommon" + $($(package)_cmake) -DCMAKE_C_FLAGS="$$($(1)_cflags) -fcommon" endef define $(package)_build_cmds diff --git a/depends/packages/native_libdmg-hfsplus.mk b/depends/packages/native_libdmg-hfsplus.mk index c0f0ce74de8..035b767188a 100644 --- a/depends/packages/native_libdmg-hfsplus.mk +++ b/depends/packages/native_libdmg-hfsplus.mk @@ -12,7 +12,7 @@ define $(package)_preprocess_cmds endef define $(package)_config_cmds - cmake -DCMAKE_INSTALL_PREFIX:PATH=$(build_prefix) -DCMAKE_C_FLAGS="-Wl,--build-id=none" .. + $($(package)_cmake) -DCMAKE_C_FLAGS="$$($(1)_cflags) -Wl,--build-id=none" .. endef define $(package)_build_cmds From 8c7cd0c6d9f295bcb6913e3c69c9dac4ce2b25ce Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Fri, 7 Aug 2020 20:53:39 -0400 Subject: [PATCH 2/5] depends: More robust cmake invocation Specify well-known env vars instead of using a workaround to split up CC and CXX. --- depends/funcs.mk | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/depends/funcs.mk b/depends/funcs.mk index 6fc20543bbd..45f9603b443 100644 --- a/depends/funcs.mk +++ b/depends/funcs.mk @@ -157,12 +157,12 @@ ifneq ($($(1)_ldflags),) $(1)_autoconf += LDFLAGS="$$($(1)_ldflags)" endif -$(1)_cmake=cmake -DCMAKE_INSTALL_PREFIX=$($($(1)_type)_prefix) +$(1)_cmake=env CC="$$($(1)_cc)" CXX="$$($(1)_cxx)" CFLAGS="$$($(1)_cflags)" CXXFLAGS="$$($(1)_cxxflags)" cmake -DCMAKE_INSTALL_PREFIX:PATH=$($($(1)_type)_prefix) ifneq ($($(1)_type),build) ifneq ($(host),$(build)) -$(1)_cmake += -DCMAKE_SYSTEM_NAME=$($(host_os)_cmake_system) -DCMAKE_SYSROOT=$(host_prefix) -$(1)_cmake += -DCMAKE_C_COMPILER_TARGET=$(host) -DCMAKE_C_COMPILER=$(firstword $($($(1)_type)_CC)) -DCMAKE_C_FLAGS="$(wordlist 2,1000,$($($(1)_type)_CC))" -$(1)_cmake += -DCMAKE_CXX_COMPILER_TARGET=$(host) -DCMAKE_CXX_COMPILER=$(firstword $($($(1)_type)_CXX)) -DCMAKE_CXX_FLAGS="$(wordlist 2,1000,$($($(1)_type)_CXX))" +$(1)_cmake += -DCMAKE_SYSTEM_NAME=$($(host_os)_cmake_system) +$(1)_cmake += -DCMAKE_C_COMPILER_TARGET=$(host) +$(1)_cmake += -DCMAKE_CXX_COMPILER_TARGET=$(host) endif endif endef From 8e121e550953711cd03d7b6c221afd065c325c5e Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Tue, 18 Aug 2020 15:21:12 -0400 Subject: [PATCH 3/5] depends: Cleanup CMake invocation --- depends/funcs.mk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/depends/funcs.mk b/depends/funcs.mk index 45f9603b443..06cfdd4793b 100644 --- a/depends/funcs.mk +++ b/depends/funcs.mk @@ -157,7 +157,11 @@ ifneq ($($(1)_ldflags),) $(1)_autoconf += LDFLAGS="$$($(1)_ldflags)" endif -$(1)_cmake=env CC="$$($(1)_cc)" CXX="$$($(1)_cxx)" CFLAGS="$$($(1)_cflags)" CXXFLAGS="$$($(1)_cxxflags)" cmake -DCMAKE_INSTALL_PREFIX:PATH=$($($(1)_type)_prefix) +$(1)_cmake=env CC="$$($(1)_cc)" \ + CFLAGS="$$($(1)_cflags)" \ + CXX="$$($(1)_cxx)" \ + CXXFLAGS="$$($(1)_cxxflags)" \ + cmake -DCMAKE_INSTALL_PREFIX:PATH="$$($($(1)_type)_prefix)" ifneq ($($(1)_type),build) ifneq ($(host),$(build)) $(1)_cmake += -DCMAKE_SYSTEM_NAME=$($(host_os)_cmake_system) From b3f541f618fe1f3d44baf6a0dd4299173c81f752 Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Tue, 18 Aug 2020 13:04:55 -0400 Subject: [PATCH 4/5] depends: Prepend CPPFLAGS to C{,XX}FLAGS for CMake This is similar to how we do it for qt.mk. --- depends/funcs.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/depends/funcs.mk b/depends/funcs.mk index 06cfdd4793b..00289a0a439 100644 --- a/depends/funcs.mk +++ b/depends/funcs.mk @@ -158,9 +158,9 @@ $(1)_autoconf += LDFLAGS="$$($(1)_ldflags)" endif $(1)_cmake=env CC="$$($(1)_cc)" \ - CFLAGS="$$($(1)_cflags)" \ + CFLAGS="$$($(1)_cppflags) $$($(1)_cflags)" \ CXX="$$($(1)_cxx)" \ - CXXFLAGS="$$($(1)_cxxflags)" \ + CXXFLAGS="$$($(1)_cppflags) $$($(1)_cxxflags)" \ cmake -DCMAKE_INSTALL_PREFIX:PATH="$$($($(1)_type)_prefix)" ifneq ($($(1)_type),build) ifneq ($(host),$(build)) From b8936883573708059357a66f67fad9dc77a8bade Mon Sep 17 00:00:00 2001 From: Carl Dong Date: Tue, 18 Aug 2020 15:29:19 -0400 Subject: [PATCH 5/5] depends: Specify LDFLAGS to cmake as well --- depends/funcs.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/depends/funcs.mk b/depends/funcs.mk index 00289a0a439..81ecbedf5c6 100644 --- a/depends/funcs.mk +++ b/depends/funcs.mk @@ -161,6 +161,7 @@ $(1)_cmake=env CC="$$($(1)_cc)" \ CFLAGS="$$($(1)_cppflags) $$($(1)_cflags)" \ CXX="$$($(1)_cxx)" \ CXXFLAGS="$$($(1)_cppflags) $$($(1)_cxxflags)" \ + LDFLAGS="$$($(1)_ldflags)" \ cmake -DCMAKE_INSTALL_PREFIX:PATH="$$($($(1)_type)_prefix)" ifneq ($($(1)_type),build) ifneq ($(host),$(build))