[Buildroot] [PATCH 3/4] Makefile: generate CMake toolchain file in $(O)

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Fri Jan 7 17:15:36 UTC 2011


Hello Bjorn,

I finally had the time to try this, and got some issues, fixed by the
below patch.

On Sun, 12 Dec 2010 20:29:14 +0100
Bjørn Forsman <bjorn.forsman at gmail.com> wrote:

> +$(O)/toolchainfile.cmake:
> +	@echo -en "\
> +	set(CMAKE_SYSTEM_NAME Linux)\n\
> +	set(CMAKE_C_COMPILER $(CMAKE_TARGET_CC))\n\
> +	set(CMAKE_CXX_COMPILER $(CMAKE_TARGET_CXX))\n\
> +	set(CMAKE_FIND_ROOT_PATH $(STAGING_DIR))\n\
> +	set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\n\
> +	set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\n\
> +	set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)\n\
> +	" > $@
>  
>  .PHONY: all world dirs clean distclean source outputmakefile \
>  	$(BASE_TARGETS) $(TARGETS) $(TARGETS_ALL) \

diff --git a/Makefile b/Makefile
index 831b424..994dd52 100644
--- a/Makefile
+++ b/Makefile
@@ -375,8 +375,11 @@ world: prepare dependencies dirs $(BASE_TARGETS)
$(TARGETS_ALL) $(O)/toolchainfile.cmake:
        @echo -en "\
        set(CMAKE_SYSTEM_NAME Linux)\n\
+       set(CMAKE_PROGRAM_PATH $(HOST_DIR)/usr/bin)\n\
        set(CMAKE_C_COMPILER $(CMAKE_TARGET_CC))\n\
        set(CMAKE_CXX_COMPILER $(CMAKE_TARGET_CXX))\n\
+       set(CMAKE_C_FLAGS \"$(CMAKE_TARGET_CFLAGS)\")\n\
+       set(CMAKE_CXX_FLAGS \"$(CMAKE_TARGET_CXXFLAGS)\")\n\
        set(CMAKE_FIND_ROOT_PATH $(STAGING_DIR))\n\
        set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)\n\
        set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)\n\

With those, I can successfully use the CMake toolchain file to build a
Qt application against the Buildroot libraries.

If you agree, could you merge those modifications into your patch ?

Thanks!

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com


More information about the buildroot mailing list