On build process of buildroot the toolchainfile.cmake is created, but with wrong absolut path. When shareing the toolchain or move the folder you get problems this path settings. i.e. set(CMAKE_C_COMPILER /home/dev/Buildroot/../Toolchain/arm-toolchain//usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc) set(CMAKE_CXX_COMPILER /home/dev/Buildroot/../Toolchain/arm-toolchain//usr/bin/arm-buildroot-linux-uclibcgnueabi-g++) A workarround for cmake files is - get the path of the toolchainfile.cmake And set the the variables. get_filename_component(CMAKE_TOOLCHAIN_PATH ${CMAKE_CURRENT_LIST_FILE} PATH) set(CMAKE_C_COMPILER ${CMAKE_TOOLCHAIN_PATH}/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc) set(CMAKE_CXX_COMPILER ${CMAKE_TOOLCHAIN_PATH}/usr/bin/arm-buildroot-linux-uclibcgnueabi-g++)
That seems like a very good idea indeed! Do you mind sending a proper patch to the mailing list implementing this idea?
Created attachment 5192 [details] Patch for generating toolchainfile.cmake with relative-paths
Hi u.strempel, Thanks for the patch. Would you mind sending it to the mailing list directly? This will facilitate review and discussion on the patch. (you need to be subscribed to the list first). For example, a comment on the patch is that there is now some duplication between e.g. TARGET_CROSS and TARGET_CROSS_WITHOUT_HOST_DIR. This could be fixed by changing the existing assignments to assign to the _WITHOUT_HOST_DIR version, and then have one: TARGET_CROSS = $(HOST_DIR)/$(TARGET_CROSS_WITHOUT_HOST_DIR) Thanks, Thomas
Apparently, the submitter has sent the patch in the meantime: http://patchwork.ozlabs.org/patch/316696/ I will therefore close this bug and let the patch follow standard patch submission and review process.