📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| 1,553行目: | 1,553行目: | ||
===== CMakeツールチェーンファイルの作成 ===== | ===== CMakeツールチェーンファイルの作成 ===== | ||
ターゲット向けQt 6ライブラリのビルドで使用するCMakeツールチェーンファイルを作成する。<br> | ターゲット向けQt 6ライブラリのビルドで使用するCMakeツールチェーンファイルを作成する。<br> | ||
vi | vi ToolChain_for_PinePhone.cmake | ||
<br> | <br> | ||
<syntaxhighlight lang="cmake"> | <syntaxhighlight lang="cmake"> | ||
| 1,619行目: | 1,619行目: | ||
# Set AssImp | # Set AssImp | ||
set(ASSIMP_LIBRARY ${TARGET_SYSROOT}/usr/lib/libassimp.so) | set(ASSIMP_LIBRARY ${TARGET_SYSROOT}/usr/lib/libassimp.so) | ||
</syntaxhighlight> | |||
<br> | |||
<syntaxhighlight lang="cmake"> | |||
# ToolChain_for_PinePhone.cmake | |||
# Mobian向け | |||
cmake_minimum_required(VERSION 3.18) | |||
include_guard(GLOBAL) | |||
set(CMAKE_SYSTEM_NAME Linux) | |||
set(CMAKE_SYSTEM_PROCESSOR arm) | |||
# Set path to System Root. | |||
set(TARGET_SYSROOT <PinePhoneのシステムルートディレクトリ>) | |||
set(CMAKE_SYSROOT ${TARGET_SYSROOT}) | |||
# Set path to package config. | |||
set(ENV{PKG_CONFIG_PATH} $PKG_CONFIG_PATH:${TARGET_SYSROOT}/usr/lib/pkgconfig:${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/pkgconfig) | |||
set(ENV{PKG_CONFIG_LIBDIR} /usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:${TARGET_SYSROOT}/usr/lib/pkgconfig:${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/pkgconfig:${TARGET_SYSROOT}/usr/share/pkgconfig) | |||
set(ENV{PKG_CONFIG_SYSROOT_DIR} ${CMAKE_SYSROOT}) | |||
# Set path to Cross Compiler. | |||
set(CMAKE_C_COMPILER <クロスコンパイル向けGCCまたはClangのパス>) | |||
set(CMAKE_CXX_COMPILER <クロスコンパイル向けG++またはClang++のパス>) | |||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -I${TARGET_SYSROOT}/usr/include") | |||
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS}") | |||
set(CMAKE_EXE_LINKER_FLAGS_INIT "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu") | |||
set(CMAKE_MODULE_LINKER_FLAGS_INIT "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu") | |||
set(CMAKE_SHARED_LINKER_FLAGS_INIT "-Wl,-rpath-link,${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu") | |||
set(QT_COMPILER_FLAGS "-march=armv8-a -mtune=cortex-a53") | |||
#set(QT_COMPILER_FLAGS_RELEASE "-O2 -pipe") | |||
set(QT_COMPILER_FLAGS_RELEASE "-O3") | |||
set(QT_LINKER_FLAGS "-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed") | |||
# Set GL, EGL, GLESv2 | |||
set(GL_INC_DIR ${TARGET_SYSROOT}/usr/include) | |||
set(GL_LIB_DIR ${TARGET_SYSROOT}:${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/:${TARGET_SYSROOT}/usr:${TARGET_SYSROOT}/usr/lib) | |||
set(OPENGL_INCLUDE_DIR ${TARGET_SYSROOT}/usr/include) | |||
set(OPENGL_opengl_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libOpenGL.so) | |||
set(EGL_INCLUDE_DIR ${TARGET_SYSROOT}/usr/include) | |||
set(EGL_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libEGL.so) | |||
set(GLESv2_INCLUDE_DIR ${TARGET_SYSROOT}/usr/include) | |||
set(GLESv2_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libGLESv2.so) | |||
set(gbm_INCLUDE_DIR ${TARGET_SYSROOT}/usr/include) | |||
set(gbm_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libgbm.so) | |||
set(Libdrm_INCLUDE_DIR ${TARGET_SYSROOT}/usr/include) | |||
set(Libdrm_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libdrm.so) | |||
set(XCB_XCB_INCLUDE_DIR ${TARGET_SYSROOT}/usr/include) | |||
set(XCB_XCB_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libxcb.so) | |||
# Set ODBC | |||
set(ODBC_LIBRARY ${TARGET_SYSROOT}/usr/lib/libodbc.so) | |||
# Set WMF | |||
set(WMF_STRMIIDS_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libwmf.so) | |||
set(WMF_AMSTRMID_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libwmf.so) | |||
set(WMF_DMOGUIDS_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libwmf.so) | |||
set(WMF_MSDMO_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libwmf.so) | |||
set(WMF_OLE32_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libwmf.so) | |||
set(WMF_OLEAUT32_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libwmf.so) | |||
set(WMF_MF_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libwmf.so) | |||
set(WMF_MFUUID_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libwmf.so) | |||
set(WMF_MFPLAT_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libwmf.so) | |||
set(WMF_MFCORE_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libwmf.so) | |||
set(WMF_PROPSYS_LIBRARY ${TARGET_SYSROOT}/usr/lib/aarch64-linux-gnu/libwmf.so) | |||
# Set AssImp | |||
set(ASSIMP_LIBRARY ${TARGET_SYSROOT}/usr/lib/libassimp.so) | |||
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}) | |||
include(CMakeInitializeConfigs) | |||
function(cmake_initialize_per_config_variable _PREFIX _DOCSTRING) | |||
if (_PREFIX MATCHES "CMAKE_(C|CXX|ASM)_FLAGS") | |||
set(CMAKE_${CMAKE_MATCH_1}_FLAGS_INIT "${QT_COMPILER_FLAGS}") | |||
foreach (config DEBUG RELEASE MINSIZEREL RELWITHDEBINFO) | |||
if (DEFINED QT_COMPILER_FLAGS_${config}) | |||
set(CMAKE_${CMAKE_MATCH_1}_FLAGS_${config}_INIT "${QT_COMPILER_FLAGS_${config}}") | |||
endif() | |||
endforeach() | |||
endif() | |||
if (_PREFIX MATCHES "CMAKE_(SHARED|MODULE|EXE)_LINKER_FLAGS") | |||
foreach (config SHARED MODULE EXE) | |||
set(CMAKE_${config}_LINKER_FLAGS_INIT "${QT_LINKER_FLAGS}") | |||
endforeach() | |||
endif() | |||
_cmake_initialize_per_config_variable(${ARGV}) | |||
endfunction() | |||
set(CMAKE_THREAD_LIBS_INIT "-lrt -lpthread -ldl") | |||
set(CMAKE_HAVE_THREADS_LIBRARY 1) | |||
set(CMAKE_USE_WIN32_THREADS_INIT 0) | |||
set(CMAKE_USE_PTHREADS_INIT 1) | |||
set(THREADS_PREFER_PTHREAD_FLAG ON) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> | ||