📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

1,553行目: 1,553行目:
===== CMakeツールチェーンファイルの作成 =====
===== CMakeツールチェーンファイルの作成 =====
ターゲット向けQt 6ライブラリのビルドで使用するCMakeツールチェーンファイルを作成する。<br>
ターゲット向けQt 6ライブラリのビルドで使用するCMakeツールチェーンファイルを作成する。<br>
  vi Qt6ToolChain_for_PinePhone.cmake
  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>