kopia lustrzana https://github.com/stlink-org/stlink
Updated CI & MinGW64 cross build configuration
- Moved config for macOS 10.14 to GitHub Actions (Note: preparation only, yet inactive) - Removed macOS 10.14 builds from Travis CI - Removed Linux build config from Travis CI - Split 32- & 64-bit cross builds to separate jobs - Minor fixes for MinGW64 cross build configpull/1126/head
rodzic
a3b1247d14
commit
5ce54824a5
|
@ -282,6 +282,96 @@ jobs:
|
|||
|
||||
# macOS
|
||||
|
||||
# job_macos_10_14_64_gcc:
|
||||
# name: macos-10.14 gcc
|
||||
# runs-on: macos-10.14
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - name: Install dependencies
|
||||
# run: brew install gcc libusb gtk+3
|
||||
# - name: make debug
|
||||
# run: sudo make clean && make debug
|
||||
# - name: make test
|
||||
# run: sudo make clean && make test
|
||||
# - name: make release
|
||||
# run: sudo make clean && make release
|
||||
# - name: sudo make install
|
||||
# run: sudo make clean && sudo make install
|
||||
# - name: sudo make package
|
||||
# run: sudo make package
|
||||
# - name: sudo make uninstall
|
||||
# run: sudo make uninstall && sudo make clean
|
||||
|
||||
# job_macos_10_14_32_gcc:
|
||||
# name: macos-10.14 gcc 32-bit
|
||||
# runs-on: macos-10.14
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - name: Install dependencies
|
||||
# run: brew install gcc libusb gtk+3
|
||||
# - name: Set compiler flags
|
||||
# run: |
|
||||
# CFLAGS="$CFLAGS -m32"
|
||||
# CXXFLAGS="$CXXFLAGS -m32"
|
||||
# LDFLAGS="$LDFLAGS -m32"
|
||||
# - name: make debug
|
||||
# run: sudo make clean && make debug
|
||||
# - name: make test
|
||||
# run: sudo make clean && make test
|
||||
# - name: make release
|
||||
# run: sudo make clean && make release
|
||||
# - name: sudo make install
|
||||
# run: sudo make clean && sudo make install
|
||||
# - name: sudo make package
|
||||
# run: sudo make package
|
||||
# - name: sudo make uninstall
|
||||
# run: sudo make uninstall && sudo make clean
|
||||
|
||||
# job_macos_10_14_64_clang:
|
||||
# name: macos-10.14 clang
|
||||
# runs-on: macos-10.14
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - name: Install dependencies
|
||||
# run: brew install llvm libusb gtk+3
|
||||
# - name: make debug
|
||||
# run: sudo make clean && make debug
|
||||
# - name: make test
|
||||
# run: sudo make clean && make test
|
||||
# - name: make release
|
||||
# run: sudo make clean && make release
|
||||
# - name: sudo make install
|
||||
# run: sudo make clean && sudo make install
|
||||
# - name: sudo make package
|
||||
# run: sudo make package
|
||||
# - name: sudo make uninstall
|
||||
# run: sudo make uninstall && sudo make clean
|
||||
|
||||
# job_macos_10_14_32_clang:
|
||||
# name: macos-10.14 clang 32-bit
|
||||
# runs-on: macos-10.14
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - name: Install dependencies
|
||||
# run: brew install llvm libusb gtk+3
|
||||
# - name: Set compiler flags
|
||||
# run: |
|
||||
# CFLAGS="$CFLAGS -m32"
|
||||
# CXXFLAGS="$CXXFLAGS -m32"
|
||||
# LDFLAGS="$LDFLAGS -m32"
|
||||
# - name: make debug
|
||||
# run: sudo make clean && make debug
|
||||
# - name: make test
|
||||
# run: sudo make clean && make test
|
||||
# - name: make release
|
||||
# run: sudo make clean && make release
|
||||
# - name: sudo make install
|
||||
# run: sudo make clean && sudo make install
|
||||
# - name: sudo make package
|
||||
# run: sudo make package
|
||||
# - name: sudo make uninstall
|
||||
# run: sudo make uninstall && sudo make clean
|
||||
|
||||
job_macos_10_15_gcc:
|
||||
name: macos-10.15 gcc
|
||||
runs-on: macos-10.15
|
||||
|
|
22
.travis.sh
22
.travis.sh
|
@ -8,18 +8,19 @@ echo "----"
|
|||
echo "WORK DIR:$DIR"
|
||||
DIR=$PWD
|
||||
|
||||
if [ "$TRAVIS_JOB_NAME" == "linux-mingw" ]; then
|
||||
if [ "$TRAVIS_JOB_NAME" == "linux-mingw-64" ]; then
|
||||
echo "--> Building for Windows (x86-64) ..."
|
||||
mkdir -p build-mingw && cd build-mingw
|
||||
mkdir -p build-mingw && cd build-mingw-64
|
||||
cmake -DCMAKE_SYSTEM_NAME=Windows -DTOOLCHAIN_PREFIX=x86_64-w64-mingw32 \
|
||||
-DCMAKE_TOOLCHAIN_FILE=$PWD/../cmake/modules/set_toolchain.cmake -DCMAKE_INSTALL_PREFIX=$PWD/install $DIR
|
||||
make && rm -rf build-mingw && cd -
|
||||
make && rm -rf build-mingw-64 && cd -
|
||||
|
||||
elif [ "$TRAVIS_JOB_NAME" == "linux-mingw-32" ]; then
|
||||
echo "--> Building for Windows (i686) ..."
|
||||
mkdir -p build-mingw && cd build-mingw
|
||||
mkdir -p build-mingw && cd build-mingw-32
|
||||
cmake -DCMAKE_SYSTEM_NAME=Windows -DTOOLCHAIN_PREFIX=i686-w64-mingw32 \
|
||||
-DCMAKE_TOOLCHAIN_FILE=$PWD/../cmake/modules/set_toolchain.cmake -DCMAKE_INSTALL_PREFIX=$PWD/install $DIR
|
||||
make && rm -rf build-mingw && cd -
|
||||
make && rm -rf build-mingw-32 && cd -
|
||||
|
||||
elif [ "$TRAVIS_OS_NAME" == "linux" ]; then
|
||||
sudo apt-get update -qq || true
|
||||
|
@ -34,17 +35,6 @@ elif [ "$TRAVIS_OS_NAME" == "linux" ]; then
|
|||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install $DIR
|
||||
make package && cd -
|
||||
|
||||
elif [ "$TRAVIS_OS_NAME" == "osx" ]; then
|
||||
echo "--> Building Debug..."
|
||||
mkdir -p build/Debug && cd build/Debug
|
||||
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$PWD/install $DIR
|
||||
make && cd -
|
||||
|
||||
echo "--> Building Release with package..."
|
||||
mkdir -p build/Release && cd build/Release
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install $DIR
|
||||
make package && cd -
|
||||
|
||||
else # local test-build
|
||||
echo "--> Building Debug..."
|
||||
mkdir -p build/Debug && cd build/Debug
|
||||
|
|
91
.travis.yml
91
.travis.yml
|
@ -2,32 +2,11 @@ language: c
|
|||
|
||||
jobs:
|
||||
include:
|
||||
### 64-bit build on AMD64 ###
|
||||
- os: linux
|
||||
dist: focal
|
||||
env: BADGE=linux
|
||||
compiler: gcc-10
|
||||
addons:
|
||||
apt:
|
||||
sources: ["ubuntu-toolchain-r-test"]
|
||||
packages: ["gcc-10", "libusb-1.0.0-dev", "libgtk-3-dev", "rpm"]
|
||||
### cross builds on AMD64 ###
|
||||
|
||||
### 32-bit build on AMD64 ###
|
||||
- os: linux
|
||||
dist: focal
|
||||
env: BADGE=linux
|
||||
compiler: gcc-10
|
||||
addons:
|
||||
apt:
|
||||
sources: ["ubuntu-toolchain-r-test"]
|
||||
packages: ["gcc-10", "libusb-1.0.0-dev", "libgtk-3-dev", "rpm"]
|
||||
before_install:
|
||||
- CFLAGS="$CFLAGS -m32"; CXXFLAGS="$CXXFLAGS -m32"; LDFLAGS="$LDFLAGS -m32";
|
||||
|
||||
### cross build on AMD64 ###
|
||||
- os: linux
|
||||
dist: focal
|
||||
env: BADGE=linux-mingw
|
||||
env: BADGE=linux-mingw-64
|
||||
name: linux-mingw
|
||||
compiler: gcc-10
|
||||
addons:
|
||||
|
@ -35,64 +14,20 @@ jobs:
|
|||
sources: ["ubuntu-toolchain-r-test"]
|
||||
packages:
|
||||
["gcc-10", "libusb-1.0.0-dev", "libgtk-3-dev", "rpm", "mingw-w64"]
|
||||
before_install:
|
||||
- LDFLAGS="$LDFLAGS -NDEBUG";
|
||||
|
||||
### macOS ###
|
||||
# - os: osx
|
||||
# env: BADGE=osx
|
||||
# osx_image: xcode11.3
|
||||
# name: macOS 10.14.6 gcc
|
||||
# compiler: gcc
|
||||
# addons:
|
||||
# homebrew:
|
||||
# packages:
|
||||
# - gcc
|
||||
# - libusb
|
||||
# - gtk+3
|
||||
|
||||
# - os: osx
|
||||
# env: BADGE=osx
|
||||
# osx_image: xcode11.3
|
||||
# name: macOS 10.14.6 gcc 32-bit
|
||||
# compiler: gcc
|
||||
# addons:
|
||||
# homebrew:
|
||||
# packages:
|
||||
# - gcc
|
||||
# - libusb
|
||||
# - gtk+3
|
||||
# before_install:
|
||||
# - CFLAGS="$CFLAGS -m32"; CXXFLAGS="$CXXFLAGS -m32"; LDFLAGS="$LDFLAGS -m32";
|
||||
|
||||
# - os: osx
|
||||
# env: BADGE=osx
|
||||
# osx_image: xcode11.3
|
||||
# name: macOS 10.14.6 clang
|
||||
# compiler: clang
|
||||
# addons:
|
||||
# homebrew:
|
||||
# packages:
|
||||
# - llvm
|
||||
# - libusb
|
||||
# - gtk+3
|
||||
|
||||
# - os: osx
|
||||
# env: BADGE=osx
|
||||
# osx_image: xcode11.3
|
||||
# name: macOS 10.14.6 clang 32-bit
|
||||
# compiler: clang
|
||||
# addons:
|
||||
# homebrew:
|
||||
# packages:
|
||||
# - llvm
|
||||
# - libusb
|
||||
# - gtk+3
|
||||
# before_install:
|
||||
# - CFLAGS="$CFLAGS -m32"; CXXFLAGS="$CXXFLAGS -m32"; LDFLAGS="$LDFLAGS -m32";
|
||||
- os: linux
|
||||
dist: focal
|
||||
env: BADGE=linux-mingw-32
|
||||
name: linux-mingw
|
||||
compiler: gcc-10
|
||||
addons:
|
||||
apt:
|
||||
sources: ["ubuntu-toolchain-r-test"]
|
||||
packages:
|
||||
["gcc-10", "libusb-1.0.0-dev", "libgtk-3-dev", "rpm", "mingw-w64"]
|
||||
|
||||
script:
|
||||
- git fetch --tags
|
||||
- printenv
|
||||
- cmake --version
|
||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]] || [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./.travis.sh; fi
|
||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./.travis.sh; fi
|
||||
|
|
|
@ -44,12 +44,12 @@ elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
|||
endif ()
|
||||
|
||||
elseif (WIN32 OR (EXISTS "/etc/debian_version" AND MINGW)) # Windows or MinGW-toolchain on Debian
|
||||
# for MinGW/MSYS/MSVC: 64-bit or 32-bit?
|
||||
# MinGW/MSYS/MSVC: 64-bit or 32-bit?
|
||||
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
message(STATUS "=== Building for Windows (x86-64) ===")
|
||||
set(ARCH 64)
|
||||
else ()
|
||||
message(STATUS "=== Building for Windowsm (i686) ===")
|
||||
message(STATUS "=== Building for Windows (i686) ===")
|
||||
set(ARCH 32)
|
||||
endif ()
|
||||
|
||||
|
@ -83,8 +83,8 @@ elseif (WIN32 OR (EXISTS "/etc/debian_version" AND MINGW))
|
|||
set(LIBUSB_WIN_ARCHIVE_PATH ${CMAKE_BINARY_DIR}/${LIBUSB_WIN_ARCHIVE})
|
||||
set(LIBUSB_WIN_OUTPUT_FOLDER ${CMAKE_BINARY_DIR}/3rdparty/libusb-${LIBUSB_WIN_VERSION})
|
||||
else (EXISTS "/etc/debian_version" AND MINGW) # ... only for cross-building on Debian
|
||||
set(LIBUSB_WIN_ARCHIVE_PATH ${CMAKE_SOURCE_DIR}/build-mingw/${LIBUSB_WIN_ARCHIVE})
|
||||
set(LIBUSB_WIN_OUTPUT_FOLDER ${CMAKE_SOURCE_DIR}/build-mingw/3rdparty/libusb-${LIBUSB_WIN_VERSION})
|
||||
set(LIBUSB_WIN_ARCHIVE_PATH ${CMAKE_SOURCE_DIR}/build-mingw-${ARCH}/${LIBUSB_WIN_ARCHIVE})
|
||||
set(LIBUSB_WIN_OUTPUT_FOLDER ${CMAKE_SOURCE_DIR}/build-mingw-${ARCH}/3rdparty/libusb-${LIBUSB_WIN_VERSION})
|
||||
endif ()
|
||||
|
||||
# Get libusb package
|
||||
|
|
|
@ -41,7 +41,7 @@ if (NOT CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
|
|||
add_cflag_if_supported("-Wredundant-decls")
|
||||
endif ()
|
||||
|
||||
if (NOT WIN32)
|
||||
if (NOT (WIN32 OR (EXISTS "/etc/debian_version" AND MINGW)))
|
||||
add_cflag_if_supported("-fPIC")
|
||||
endif ()
|
||||
|
||||
|
|
|
@ -6,23 +6,25 @@
|
|||
#sudo apt-get install mingw-w64
|
||||
|
||||
# x86_64
|
||||
mkdir build-mingw
|
||||
cd build-mingw
|
||||
mkdir build-mingw-64
|
||||
cd build-mingw-64
|
||||
cmake -DCMAKE_SYSTEM_NAME=Windows \
|
||||
-DTOOLCHAIN_PREFIX=x86_64-w64-mingw32 \
|
||||
-DCMAKE_TOOLCHAIN_FILE=./cmake/modules/set_toolchain.cmake ..
|
||||
-DCMAKE_TOOLCHAIN_FILE=./../cmake/modules/set_toolchain.cmake ..
|
||||
make package
|
||||
cp dist/*.zip ../build/Release/dist
|
||||
make clean
|
||||
cd ..
|
||||
rm -rf build-mingw
|
||||
rm -rf build-mingw-64
|
||||
|
||||
# i686
|
||||
mkdir build-mingw
|
||||
cd build-mingw
|
||||
mkdir build-mingw-32
|
||||
cd build-mingw-32
|
||||
cmake -DCMAKE_SYSTEM_NAME=Windows \
|
||||
-DTOOLCHAIN_PREFIX=i686-w64-mingw32 \
|
||||
-DCMAKE_TOOLCHAIN_FILE=./cmake/modules/set_toolchain.cmake ..
|
||||
-DCMAKE_TOOLCHAIN_FILE=./../cmake/modules/set_toolchain.cmake ..
|
||||
make package
|
||||
cp dist/*.zip ../build/Release/dist
|
||||
make clean
|
||||
cd ..
|
||||
rm -rf build-mingw
|
||||
rm -rf build-mingw-32
|
||||
|
|
Ładowanie…
Reference in New Issue