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

Bjørn Forsman bjorn.forsman at gmail.com
Sat Jan 8 23:42:42 UTC 2011


Hi Thomas,

2011/1/7 Thomas Petazzoni <thomas.petazzoni at free-electrons.com>:
> 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 ?

Yes, I will merge it. Thanks for testing and patching!

Best regards,
Bjørn Forsman


More information about the buildroot mailing list