From 0ef2cb3b4067a53f66e328f3d6dbee359d677ffd Mon Sep 17 00:00:00 2001 From: Boris Nagaev Date: Thu, 15 Oct 2015 01:36:56 +0300 Subject: cmake: no -DCMAKE_TOOLCHAIN_FILE with some options CMake with a toolchain file doesn't work properly in some modes. * --build * --system-information * -E close #932 --- src/mxe-conf.mk | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/mxe-conf.mk b/src/mxe-conf.mk index 5a0fd6b..5d814de 100644 --- a/src/mxe-conf.mk +++ b/src/mxe-conf.mk @@ -46,9 +46,21 @@ define $(PKG)_BUILD_COMMON ) > '$(CMAKE_TOOLCHAIN_FILE)' #create prefixed cmake wrapper script - (echo '#!/bin/sh'; \ - echo 'echo "== Using MXE toolchain: $(CMAKE_TOOLCHAIN_FILE)"'; \ - echo 'exec cmake -DCMAKE_TOOLCHAIN_FILE="$(CMAKE_TOOLCHAIN_FILE)" "$$@"') \ + (echo '#!/usr/bin/env bash'; \ + echo 'echo "== Using MXE wrapper: $(PREFIX)/bin/$(TARGET)-cmake"'; \ + echo 'unset NO_MXE_TOOLCHAIN'; \ + echo 'if echo -- "$$@" | grep -Ewq "(--build|-E|--system-information)" ; then'; \ + echo ' NO_MXE_TOOLCHAIN=1'; \ + echo 'fi'; \ + echo 'if [[ "$$NO_MXE_TOOLCHAIN" == "1" ]]; then'; \ + echo ' echo "== Skip using MXE toolchain: $(CMAKE_TOOLCHAIN_FILE)"'; \ + echo ' # see https://github.com/mxe/mxe/issues/932'; \ + echo ' exec cmake "$$@"'; \ + echo 'else'; \ + echo ' echo "== Using MXE toolchain: $(CMAKE_TOOLCHAIN_FILE)"'; \ + echo ' exec cmake -DCMAKE_TOOLCHAIN_FILE="$(CMAKE_TOOLCHAIN_FILE)" "$$@"'; \ + echo 'fi'; \ + ) \ > '$(PREFIX)/bin/$(TARGET)-cmake' chmod 0755 '$(PREFIX)/bin/$(TARGET)-cmake' -- cgit v0.12