File: LinuxCrossCompile.cmake

package info (click to toggle)
mir 2.20.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 20,636 kB
  • sloc: cpp: 174,574; xml: 13,422; ansic: 8,221; python: 1,337; sh: 874; makefile: 216; javascript: 37
file content (43 lines) | stat: -rw-r--r-- 1,829 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_VERSION 1)

set(MIR_CHROOT $ENV{MIR_CHROOT} CACHE STRING "path of mir android bundle")

if (NOT DEFINED MIR_TARGET_MACHINE)
  set(MIR_TARGET_MACHINE $ENV{MIR_TARGET_MACHINE} CACHE STRING "target machine")
endif()
if (NOT DEFINED MIR_GCC_VARIANT)
  set(MIR_GCC_VARIANT $ENV{MIR_GCC_VARIANT} CACHE STRING "gcc variant required")
endif()

set(CMAKE_C_COMPILER   /usr/bin/${MIR_TARGET_MACHINE}-gcc${MIR_GCC_VARIANT})
set(CMAKE_CXX_COMPILER /usr/bin/${MIR_TARGET_MACHINE}-g++${MIR_GCC_VARIANT})

# where to look to find dependencies in the target environment
set(CMAKE_FIND_ROOT_PATH  "${MIR_CHROOT}")

#treat the chroot's includes as system includes
include_directories(SYSTEM "${MIR_CHROOT}/usr/include" "${MIR_CHROOT}/usr/include/${MIR_TARGET_MACHINE}")
list(APPEND CMAKE_SYSTEM_INCLUDE_PATH "${MIR_CHROOT}/usr/include" "${MIR_CHROOT}/usr/include/${MIR_TARGET_MACHINE}" )

# Add the chroot libraries as system libraries
list(APPEND CMAKE_SYSTEM_LIBRARY_PATH
  "${MIR_CHROOT}/lib"
  "${MIR_CHROOT}/lib/${MIR_TARGET_MACHINE}"
  "${MIR_CHROOT}/usr/lib"
  "${MIR_CHROOT}/usr/lib/${MIR_TARGET_MACHINE}"
)

set(CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
set(CMAKE_EXECUTABLE_RUNTIME_C_FLAG "-Wl,-rpath-link,")
set(CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG "-Wl,-rpath-link,")
set(CMAKE_INSTALL_RPATH "${MIR_CHROOT}/lib:${MIR_CHROOT}/lib/${MIR_TARGET_MACHINE}:${MIR_CHROOT}/usr/lib:${MIR_CHROOT}/usr/lib/${MIR_TARGET_MACHINE}")

set(ENV{PKG_CONFIG_PATH} "${MIR_CHROOT}/usr/lib/pkgconfig:${MIR_CHROOT}/usr/lib/${MIR_TARGET_MACHINE}/pkgconfig")
set(ENV{PKG_CONFIG_SYSROOT_DIR} "${MIR_CHROOT}")

#use only the cross compile system
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)