Skip to content

Commit

Permalink
[Travis CI] Add Fedora (LATEST) 32-bit build
Browse files Browse the repository at this point in the history
  • Loading branch information
past-due committed Jun 9, 2019
1 parent acd8db9 commit 5cd93f8
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
19 changes: 19 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,25 @@ matrix:
- docker run --rm -e CI -e TRAVIS -e "TRAVIS_BUILD_DIR=/code" -e TRAVIS_BRANCH -e TRAVIS_COMMIT -e TRAVIS_PULL_REQUEST_BRANCH -e TRAVIS_TAG -e MAKEFLAGS -v $(pwd):/code fedora cmake '-H.' -Bbuild -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWZ_ENABLE_WARNINGS:BOOL=ON -G"Ninja"
- docker run --rm -e CI -e TRAVIS -e "TRAVIS_BUILD_DIR=/code" -e TRAVIS_BRANCH -e TRAVIS_COMMIT -e TRAVIS_PULL_REQUEST_BRANCH -e TRAVIS_TAG -e MAKEFLAGS -v $(pwd):/code fedora cmake --build build

# Build for Fedora :LATEST (CMake) (GCC) (32-bit -m32 cross-compile)
- name: "Fedora :LATEST (CMake) [GCC -m32]"
language: cpp
compiler: gcc
sudo: required
services:
- docker
install:
- cd docker/fedora-latest-m32/
- docker build -t fedora .
- cd ../..
script:
- export MAKEFLAGS="-j$((`grep -c ^processor /proc/cpuinfo`*2))"
# Must supply the TRAVIS environment variables to the docker container so autorevision properly receives the revision info from Travis
# To do this, append the following to the pertinent lines after —rm:
# -e CI -e TRAVIS -e "TRAVIS_BUILD_DIR=/code" -e TRAVIS_BRANCH -e TRAVIS_COMMIT -e TRAVIS_PULL_REQUEST_BRANCH -e TRAVIS_TAG
- docker run --rm -e CI -e TRAVIS -e "TRAVIS_BUILD_DIR=/code" -e TRAVIS_BRANCH -e TRAVIS_COMMIT -e TRAVIS_PULL_REQUEST_BRANCH -e TRAVIS_TAG -e MAKEFLAGS -v $(pwd):/code fedora cmake '-H.' -Bbuild -DCMAKE_TOOLCHAIN_FILE=build_tools/ci/cmake/Toolchain-Linux-cross-m32.cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWZ_ENABLE_WARNINGS:BOOL=ON -G"Ninja"
- docker run --rm -e CI -e TRAVIS -e "TRAVIS_BUILD_DIR=/code" -e TRAVIS_BRANCH -e TRAVIS_COMMIT -e TRAVIS_PULL_REQUEST_BRANCH -e TRAVIS_TAG -e MAKEFLAGS -v $(pwd):/code fedora cmake --build build

# Build for macOS (CMake)
- name: "macOS (CMake) [Xcode 8.3, macOS 10.12 SDK]"
language: objective-c
Expand Down
25 changes: 25 additions & 0 deletions build_tools/ci/cmake/Toolchain-Linux-cross-m32.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Toolchain for cross-compiling i686 (32-bit) on 64-bit Linux

set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR "i686")

set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32" CACHE STRING "C compiler flags" FORCE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32" CACHE STRING "C++ compiler flags" FORCE)

set(LIB32 "/usr/lib") # Fedora

set(CMAKE_FIND_ROOT_PATH "${LIB32}" CACHE STRING "Find root path" FORCE)

#set(CMAKE_LIBRARY_PATH "${LIB32}" CACHE STRING "Library search path" FORCE)

set(CMAKE_EXE_LINKER_FLAGS "-m32 -L${LIB32}" CACHE STRING "Executable linker flags" FORCE)
set(CMAKE_SHARED_LINKER_FLAGS "-m32 -L${LIB32}" CACHE STRING "Shared library linker flags" FORCE)
set(CMAKE_MODULE_LINKER_FLAGS "-m32 -L${LIB32}" CACHE STRING "Module linker flags" FORCE)

# Point pkgconfig at 32-bit .pc files first, falling back to regular system .pc files
if(EXISTS "${LIB32}/pkgconfig")
set(ENV{PKG_CONFIG_LIBDIR} "${LIB32}/pkgconfig:/usr/share/pkgconfig:/usr/lib/pkgconfig:/usr/lib64/pkgconfig")
endif()

set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)

0 comments on commit 5cd93f8

Please sign in to comment.