d8c0faa980
With cmake packages, we are only using TARGET_LDFLAGS for executables and not for shared libraries. This patch adds CMAKE_SHARED_LINKER_FLAGS and CMAKE_MODULE_LINKER_FLAGS to the cmake toolchain file so that buildroot TARGET_LDFLAGS are used for shared and module libraries. Signed-off-by: Damien Thébault <damien.thebault@vitec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
71 lines
3.4 KiB
CMake
71 lines
3.4 KiB
CMake
#
|
|
# Automatically generated file; DO NOT EDIT.
|
|
# CMake toolchain file for Buildroot
|
|
#
|
|
|
|
# In order to allow the toolchain to be relocated, we calculate the
|
|
# HOST_DIR based on this file's location: $(HOST_DIR)/share/buildroot
|
|
# and store it in RELOCATED_HOST_DIR.
|
|
# All the other variables that need to refer to HOST_DIR will use the
|
|
# RELOCATED_HOST_DIR variable.
|
|
string(REPLACE "/share/buildroot" "" RELOCATED_HOST_DIR ${CMAKE_CURRENT_LIST_DIR})
|
|
|
|
# Point cmake to the location where we have our custom modules,
|
|
# so that it can find our custom platform description.
|
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
|
|
|
|
set(CMAKE_SYSTEM_NAME Buildroot)
|
|
set(CMAKE_SYSTEM_PROCESSOR @@CMAKE_SYSTEM_PROCESSOR@@)
|
|
|
|
# Set the {C,CXX}FLAGS appended by CMake depending on the build type
|
|
# defined by Buildroot. CMake defaults these variables with -g and/or
|
|
# -O options, and they are appended at the end of the argument list,
|
|
# so the Buildroot options are overridden. Therefore these variables
|
|
# have to be cleared, so that the options passed in CMAKE_C_FLAGS do
|
|
# apply.
|
|
#
|
|
# Note:
|
|
# if the project forces some of these flag variables, Buildroot is
|
|
# screwed up and there is nothing Buildroot can do about that :(
|
|
set(CMAKE_C_FLAGS_DEBUG "" CACHE STRING "Debug CFLAGS")
|
|
set(CMAKE_CXX_FLAGS_DEBUG "" CACHE STRING "Debug CXXFLAGS")
|
|
set(CMAKE_C_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release CFLAGS")
|
|
set(CMAKE_CXX_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release CXXFLAGS")
|
|
|
|
# Build type from the Buildroot configuration
|
|
set(CMAKE_BUILD_TYPE @@CMAKE_BUILD_TYPE@@ CACHE STRING "Buildroot build configuration")
|
|
|
|
# Buildroot defaults flags.
|
|
# If you are using this toolchainfile.cmake file outside of Buildroot and
|
|
# want to customize the compiler/linker flags, then:
|
|
# * set them all on the cmake command line, e.g.:
|
|
# cmake -DCMAKE_C_FLAGS="@@TARGET_CFLAGS@@ -Dsome_custom_flag" ...
|
|
# * and make sure the project's CMake code extends them like this if needed:
|
|
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Dsome_definitions")
|
|
set(CMAKE_C_FLAGS "@@TARGET_CFLAGS@@" CACHE STRING "Buildroot CFLAGS")
|
|
set(CMAKE_CXX_FLAGS "@@TARGET_CXXFLAGS@@" CACHE STRING "Buildroot CXXFLAGS")
|
|
set(CMAKE_EXE_LINKER_FLAGS "@@TARGET_LDFLAGS@@" CACHE STRING "Buildroot LDFLAGS for executables")
|
|
set(CMAKE_SHARED_LINKER_FLAGS "@@TARGET_LDFLAGS@@" CACHE STRING "Buildroot LDFLAGS for shared libraries")
|
|
set(CMAKE_MODULE_LINKER_FLAGS "@@TARGET_LDFLAGS@@" CACHE STRING "Buildroot LDFLAGS for module libraries")
|
|
|
|
set(CMAKE_INSTALL_SO_NO_EXE 0)
|
|
|
|
set(CMAKE_PROGRAM_PATH "${RELOCATED_HOST_DIR}/bin")
|
|
set(CMAKE_SYSROOT "${RELOCATED_HOST_DIR}/@@STAGING_SUBDIR@@")
|
|
set(CMAKE_FIND_ROOT_PATH "${RELOCATED_HOST_DIR}/@@STAGING_SUBDIR@@")
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
|
set(ENV{PKG_CONFIG_SYSROOT_DIR} "${RELOCATED_HOST_DIR}/@@STAGING_SUBDIR@@")
|
|
|
|
# This toolchain file can be used both inside and outside Buildroot.
|
|
set(CMAKE_C_COMPILER "${RELOCATED_HOST_DIR}/@@TARGET_CC@@")
|
|
set(CMAKE_CXX_COMPILER "${RELOCATED_HOST_DIR}/@@TARGET_CXX@@")
|
|
if(@@TOOLCHAIN_HAS_FORTRAN@@)
|
|
set(CMAKE_Fortran_FLAGS_DEBUG "" CACHE STRING "Debug Fortran FLAGS")
|
|
set(CMAKE_Fortran_FLAGS_RELEASE " -DNDEBUG" CACHE STRING "Release Fortran FLAGS")
|
|
set(CMAKE_Fortran_FLAGS "@@TARGET_FCFLAGS@@" CACHE STRING "Buildroot FCFLAGS")
|
|
set(CMAKE_Fortran_COMPILER "${RELOCATED_HOST_DIR}/@@TARGET_FC@@")
|
|
endif()
|