Browse Source

Adding CMake Python detection fix for Travis and macOS build

- Fixing CMake to always force python3 binary (this should always work)
- Adding macOS Travis build (clang and gcc)
- Disabling all clang builds until macOS (lack of packages) and Linux (broken Travis repos) are fixed
master
Jacob Alexander 7 years ago
parent
commit
945d5747eb
2 changed files with 41 additions and 1 deletions
  1. 39
    0
      .travis.yml
  2. 2
    1
      Lib/CMake/kll.cmake

+ 39
- 0
.travis.yml View File

@@ -8,6 +8,7 @@ language:

os:
- linux
- osx

compiler:
- clang
@@ -53,6 +54,34 @@ matrix:
env: DIR=Bootloader/Builds SCRIPT=mk20dx128vlf5.bash
- compiler: clang
env: DIR=Bootloader/Builds SCRIPT=mk20dx256vlh7.bash
# xcode *and* brew don't support clang ARMCCompiler for arm-none-eabi, sigh useless Apple
# Disabling Linux clang builds until Travis has less crappy repos available
- compiler: clang
env: DIR=Keyboards SCRIPT=infinity.bash
- compiler: clang
env: DIR=Keyboards SCRIPT=infinity_led.bash
- compiler: clang
env: DIR=Keyboards SCRIPT=ergodox.bash
- compiler: clang
env: DIR=Keyboards SCRIPT=whitefox.bash
- compiler: clang
env: DIR=Keyboards/Testing SCRIPT=uartout.bash
- compiler: clang
env: DIR=Keyboards/Testing SCRIPT=usbmuxuart.bash
- compiler: clang
env: DIR=Bootloader/Builds SCRIPT=mk20dx128vlf5.bash
- compiler: clang
env: DIR=Bootloader/Builds SCRIPT=mk20dx256vlh7.bash

# Package Setup
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install git python3 ctags dfu-util tree; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "gcc" ]]; then brew tap Caskroom/cask; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "gcc" ]]; then brew install Caskroom/cask/gcc-arm-embedded; fi
# This may work, but we'd have to compile llvm...
- if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "clang" ]]; then brew tap homebrew/versions; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]] && [[ "$CC" == "clang" ]]; then brew install homebrew/versions/llvm38 --with-all-targets --with-asan --with-lld --HEAD; fi

# System setup
install:
@@ -65,6 +94,16 @@ install:
# Directory tree to validate kll.git
- tree

# Compiler Version
- ${CC} --version

# Python Version
- python --version
- python3 --version

# CMake Version
- cmake --version

# Run test script(s)
script:
- (cd ${DIR} && COMPILER=${CC} ./${SCRIPT})

+ 2
- 1
Lib/CMake/kll.cmake View File

@@ -1,6 +1,6 @@
###| CMAKE Kiibohd Controller KLL Configurator |###
#
# Written by Jacob Alexander in 2014-2015 for the Kiibohd Controller
# Written by Jacob Alexander in 2014-2016 for the Kiibohd Controller
#
# Released into the Public Domain
#
@@ -17,6 +17,7 @@ if ( "${MacroModule}" STREQUAL "PartialMap" )
###
# Python 3 is required for kll
#
set ( PYTHON_EXECUTABLE python3 ) # Required on systems where python is 2, not 3
find_package ( PythonInterp 3 REQUIRED )