12,985
回編集
485行目: | 485行目: | ||
#include "../../linux-g++/qplatformdefs.h" | #include "../../linux-g++/qplatformdefs.h" | ||
</syntaxhighlight> | |||
<br><br> | |||
== CMakeツールチェーンファイルの作成 == | |||
==== Raspberry Pi OS Bullseye 32ビットの場合 ==== | |||
<syntaxhighlight lang="cmake"> | |||
# Raspberry Pi OS Bullseye 32ビットの場合 | |||
cmake_minimum_required(VERSION 3.18) | |||
include_guard(GLOBAL) | |||
set(CMAKE_SYSTEM_NAME Linux) | |||
set(CMAKE_SYSTEM_PROCESSOR arm) | |||
set(TARGET_SYSROOT "<Raspberry Pi Bullseye 32ビットのシステムルートディレクトリのパス>") | |||
set(CMAKE_SYSROOT ${TARGET_SYSROOT}) | |||
set(ENV{PKG_CONFIG_PATH} ENV{PKG_CONFIG_PATH}:${TARGET_SYSROOT}/usr/lib/pkgconfig:${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig) | |||
set(ENV{PKG_CONFIG_LIBDIR} /usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:${TARGET_SYSROOT}/usr/lib/pkgconfig:${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf/pkgconfig:${TARGET_SYSROOT}/usr/share/pkgconfig) | |||
set(ENV{PKG_CONFIG_SYSROOT_DIR} ${CMAKE_SYSROOT}) | |||
set(CMAKE_C_COMPILER "/<ARM向けクロスコンパイラのインストールパス>/bin/arm-linux-gnueabihf-gcc") | |||
set(CMAKE_CXX_COMPILER "/<ARM向けクロスコンパイラのインストールパス>/bin/arm-linux-gnueabihf-g++") | |||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${TARGET_SYSROOT}/usr/include -I${TARGET_SYSROOT}/usr/include/arm-linux-gnueabihf") | |||
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}") | |||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf") | |||
set(CMAKE_MODULE_LINKER_FLAGS_INIT "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf") | |||
set(CMAKE_SHARED_LINKER_FLAGS_INIT "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf") | |||
# Raspberry Pi 3B / 3B+ の場合 | |||
set(SOC_FLAG "-march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8") | |||
# Raspberry Pi 4B の場合 | |||
set(SOC_FLAG "-march=armv8-a -mtune=cortex-a72) | |||
# Raspberry Pi 5 の場合 | |||
set(SOC_FLAG "-march=armv8-a -mtune=cortex-a76) | |||
set(QT_COMPILER_FLAGS ${SOC_FLAG}) | |||
set(QT_COMPILER_FLAGS_RELEASE "-O2 -pipe") | |||
set(QT_LINKER_FLAGS "-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed") | |||
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) | |||
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) | |||
set(CMAKE_BUILD_RPATH ${TARGET_SYSROOT}) | |||
set(XCB_PATH_VARIABLE ${TARGET_SYSROOT}) | |||
set(GL_INC_DIR ${TARGET_SYSROOT}/usr/include) | |||
set(GL_LIB_DIR ${TARGET_SYSROOT}:${TARGET_SYSROOT}/usr/lib/arm-linux-gnueabihf/:${TARGET_SYSROOT}/usr:${TARGET_SYSROOT}/usr/lib) | |||
set(EGL_INCLUDE_DIR ${GL_INC_DIR}) | |||
set(EGL_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libEGL.so) | |||
set(OPENGL_INCLUDE_DIR ${GL_INC_DIR}) | |||
set(OPENGL_opengl_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libOpenGL.so) | |||
set(GLESv2_INCLUDE_DIR ${GL_INC_DIR}) | |||
set(GLIB_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libGLESv2.so) | |||
set(GLESv2_INCLUDE_DIR ${GL_INC_DIR}) | |||
set(GLESv2_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libGLESv2.so) | |||
set(gbm_INCLUDE_DIR ${GL_INC_DIR}) | |||
set(gbm_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libgbm.so) | |||
set(Libdrm_INCLUDE_DIR ${GL_INC_DIR}) | |||
set(Libdrm_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libdrm.so) | |||
set(XCB_XCB_INCLUDE_DIR ${GL_INC_DIR}) | |||
set(XCB_XCB_LIBRARY ${XCB_PATH_VARIABLE}/usr/lib/arm-linux-gnueabihf/libxcb.so) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br><br> | <br><br> |