Created
October 6, 2016 18:39
-
-
Save kosyak/6044c15b6863d6b78c4de147f9e10d00 to your computer and use it in GitHub Desktop.
Plex Media Player cmake cross-compile toolchain
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# rm -rf * && ../../cmake/bin/cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -DQTROOT=/usr/local/qt5 -DCMAKE_INSTALL_PREFIX=/ .. && ninja -j8 && DESTDIR=/home/kosyak/src/rpi2/usr/local ninja install && rsync -avz /home/kosyak/src/rpi2/usr/local/bin plex:/usr/local && rsync -avz /home/kosyak/src/rpi2/usr/local/share plex:/usr/local | |
SET(DEVROOT $ENV{HOME}/src) | |
SET(PIROOT ${DEVROOT}/rpi2/sysroot) | |
SET(PITOOLS ${DEVROOT}/rpi2-tools) | |
SET(QTROOT /usr/local/qt5) | |
SET(CMAKE_INSTALL_PREFX /) | |
# ./builds/destdir/i686-linux-gnu/bin/arm-linux-gnueabihf-g++ | |
SET(TOOLCHAIN_PREFIX ${DEVROOT}/gcc_build/builds/destdir/i686-linux-gnu) | |
# SET(TOOLCHAIN_PREFIX ${DEVROOT}/gcc-linaro-5.3.1-2016.05-i686_arm-linux-gnueabihf) | |
SET(CMAKE_SYSTEM_NAME Linux) | |
SET(CMAKE_SYSTEM_VERSION 1) | |
SET(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}/bin/arm-linux-gnueabihf-gcc) | |
SET(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}/bin/arm-linux-gnueabihf-g++) | |
SET(FLAGS "-Wl,-rpath-link,${PIROOT}/opt/vc/lib -Wl,-rpath-link,${PIROOT}/lib/arm-linux-gnueabihf -Wl,-rpath-link,${PIROOT}/usr/lib/arm-linux-gnueabihf -Wl,-rpath-link,${PIROOT}/usr/local/lib") | |
UNSET(CMAKE_C_FLAGS CACHE) | |
UNSET(CMAKE_CXX_FLAGS CACHE) | |
SET(CMAKE_CXX_FLAGS ${FLAGS} CACHE STRING "" FORCE) | |
SET(CMAKE_C_FLAGS ${FLAGS} CACHE STRING "" FORCE) | |
SET(CMAKE_SYSROOT ${PIROOT}) | |
SET(CMAKE_FIND_ROOT_PATH ${PIROOT}) | |
# Where is the target environment | |
#SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --sysroot=${CMAKE_FIND_ROOT_PATH}") | |
#SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --sysroot=${CMAKE_FIND_ROOT_PATH}") | |
#SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} --sysroot=${CMAKE_FIND_ROOT_PATH}") | |
# Search for programs only in the build host directories | |
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | |
# Search for libraries and headers only in the target directories | |
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | |
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | |
INCLUDE_DIRECTORIES(${PIROOT}/opt/vc/include) | |
INCLUDE_DIRECTORIES(${PIROOT}/opt/vc/include/interface/vcos/pthreads) | |
INCLUDE_DIRECTORIES(${PIROOT}/opt/vc/include/interface/vmcs_host/linux) | |
INCLUDE_DIRECTORIES(${PIROOT}/usr/include) | |
LINK_DIRECTORIES(${PIROOT}/opt/vc/lib) | |
LINK_DIRECTORIES(${PIROOT}/usr/lib/arm-linux-gnueabihf) | |
# Could NOT find MPV (missing: MPV_INCLUDE_DIR MPV_LIBRARY) | |
SET(MPV_INCLUDE_DIR ${PIROOT}/usr/local/include) | |
SET(MPV_LIBRARY ${PIROOT}/usr/local/lib/libmpv.so) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment