package/fastd: do not overwrite the cmake module path
authorYann E. MORIN <yann.morin.1998@free.fr>
Thu, 2 Mar 2017 21:03:16 +0000 (22:03 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Thu, 2 Mar 2017 21:09:38 +0000 (22:09 +0100)
fastd's CMakeList.txt completely overwrites CMAKE_MODULE_PATH with its
own, thus causing cmake to not find our own custom one.

We fix fastd by appending its custom value, rather than replacing.

Fixes:

   http://autobuild.buildroot.net/results/69f/69fb2e3b549a069e2898506db918423e6742c589/

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Alexander Dahl <post@lespocky.de>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Baruch Siach <baruch@tkos.co.il>
Cc: Ben Boeckel <mathstuf@gmail.com>
Cc: Jörg Krause <joerg.krause@embedded.rocks>
Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Cc: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/fastd/0002-CMakeList-do-not-overwrite-module-path.patch [new file with mode: 0644]

diff --git a/package/fastd/0002-CMakeList-do-not-overwrite-module-path.patch b/package/fastd/0002-CMakeList-do-not-overwrite-module-path.patch
new file mode 100644 (file)
index 0000000..88c1953
--- /dev/null
@@ -0,0 +1,56 @@
+From a925a4cab1b722a2a24b0c1d2a1925f3b766de61 Mon Sep 17 00:00:00 2001
+From: "Yann E. MORIN" <yann.morin.1998@free.fr>
+Date: Thu, 2 Mar 2017 21:43:39 +0100
+Subject: [PATCH] CMakeList: do not overwrite module path
+
+Currently, the CMakeList.txt completely overwrites the CMAKE_MODULE_PATH
+variable.
+
+This is problematic when an upper-layer buildsystem wants to set its own
+module path to use custom modules.
+
+For example, Buldroot [0] provides a custom platform description [1] to fix
+cross-compilation issue. Overwriting the module path means that this
+custom platform description is not found [2].
+
+Providing such a custom platform description is what the upstream cmake
+devs suggest [3], quoting:
+
+    If a toolchain file specifies CMAKE_SYSTEM_NAME such that a custom
+    `Platform/MySystem.cmake` file is loaded then the latter can set
+    them [*] as needed for the target platform.
+
+[*] offending settings causing RPATH issues during cross-compilation.
+
+So we need to append our source tree to the module path, not replace it
+blindly.
+
+[0] https://buildroot.org/
+[1] https://git.buildroot.org/buildroot/tree/support/misc/Buildroot.cmake
+[2] http://autobuild.buildroot.net/results/69f/69fb2e3b549a069e2898506db918423e6742c589/build-end.log
+[3] http://public.kitware.com/pipermail/cmake/2017-February/065063.html
+
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
+---
+Patch applied upstream:
+https://git.universe-factory.net/fastd/commit/?id=a925a4cab1b722a2a24b0c1d2a1925f3b766de61
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 61689b1..2c9c61a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,6 +1,6 @@
+ cmake_minimum_required(VERSION 2.8.8)
+-set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
++list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
+ cmake_policy(SET CMP0017 OLD) # Prefer modules in our module directory
+ project(FASTD C ASM)
+-- 
+2.7.4
+