CMake: toolchain file updates
This commit is contained in:
@@ -12,24 +12,29 @@ if(NOT DEFINED TARGET_SYSROOT)
|
|||||||
set(TARGET_SYSROOT "/usr/lib/x86_64-linux-gnu")
|
set(TARGET_SYSROOT "/usr/lib/x86_64-linux-gnu")
|
||||||
message(STATUS "TARGET_SYSROOT not explicitly defined. Defaulting to ${TARGET_SYSROOT}")
|
message(STATUS "TARGET_SYSROOT not explicitly defined. Defaulting to ${TARGET_SYSROOT}")
|
||||||
endif()
|
endif()
|
||||||
|
message(STATUS "Using TARGET_SYSROOT: ${TARGET_SYSROOT}")
|
||||||
|
|
||||||
|
set(TARGET_TRIPLE x86_64-linux-gnu) # Standard Debian/Ubuntu triple
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------
|
||||||
# SYSROOT and COMPILER CONFIGURATION
|
# SYSROOT and COMPILER CONFIGURATION
|
||||||
# ----------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------
|
||||||
|
|
||||||
set(CMAKE_CROSSCOMPILING TRUE)
|
set(CMAKE_CROSSCOMPILING TRUE)
|
||||||
# 1. Architecture and Platform Identification
|
|
||||||
set(CMAKE_SYSTEM_NAME Linux)
|
|
||||||
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
|
||||||
set(TARGET_TRIPLE x86_64-linux-gnu) # Standard Debian/Ubuntu triple
|
|
||||||
|
|
||||||
# 2. Set the CMAKE_SYSROOT using the user-defined variable
|
|
||||||
set(CMAKE_SYSROOT ${TARGET_SYSROOT})
|
set(CMAKE_SYSROOT ${TARGET_SYSROOT})
|
||||||
message(STATUS "Using CMAKE_SYSROOT: ${CMAKE_SYSROOT}")
|
message(STATUS "Using CMAKE_SYSROOT: ${CMAKE_SYSROOT}")
|
||||||
|
|
||||||
# 3. Specify the Cross Compilers
|
# The CMAKE_FIND_ROOT_PATH tells CMake where to look for programs, libraries, etc.
|
||||||
# These binaries must be installed on your RPi:
|
set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT})
|
||||||
# sudo apt install g++-x86-64-linux-gnu gcc-x86-64-linux-gnu
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
||||||
|
|
||||||
|
# 1. Architecture and Platform Identification
|
||||||
|
set(CMAKE_SYSTEM_NAME Linux)
|
||||||
|
set(CMAKE_SYSTEM_PROCESSOR x86_64)
|
||||||
|
|
||||||
set(CMAKE_C_COMPILER ${TARGET_TRIPLE}-gcc)
|
set(CMAKE_C_COMPILER ${TARGET_TRIPLE}-gcc)
|
||||||
set(CMAKE_CXX_COMPILER ${TARGET_TRIPLE}-g++)
|
set(CMAKE_CXX_COMPILER ${TARGET_TRIPLE}-g++)
|
||||||
|
|
||||||
@@ -63,12 +68,3 @@ message(STATUS "PKG_CONFIG_LIBDIR set to: ${PKG_CONFIG_LIBDIR_STRING}")
|
|||||||
# CMAkE FIND BEHAVIOR
|
# CMAkE FIND BEHAVIOR
|
||||||
# ----------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------
|
||||||
|
|
||||||
# The CMAKE_FIND_ROOT_PATH tells CMake where to look for programs, libraries, etc.
|
|
||||||
set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT})
|
|
||||||
|
|
||||||
# Restrict search to the sysroot, not in the RPi's native locations,
|
|
||||||
# but allow programs (like pkg-config itself) to be found on the RPi.
|
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
|
||||||
set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user