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
|
# 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:
|
job_macos_10_15_gcc:
|
||||||
name: macos-10.15 gcc
|
name: macos-10.15 gcc
|
||||||
runs-on: macos-10.15
|
runs-on: macos-10.15
|
||||||
|
|
22
.travis.sh
22
.travis.sh
|
@ -8,18 +8,19 @@ echo "----"
|
||||||
echo "WORK DIR:$DIR"
|
echo "WORK DIR:$DIR"
|
||||||
DIR=$PWD
|
DIR=$PWD
|
||||||
|
|
||||||
if [ "$TRAVIS_JOB_NAME" == "linux-mingw" ]; then
|
if [ "$TRAVIS_JOB_NAME" == "linux-mingw-64" ]; then
|
||||||
echo "--> Building for Windows (x86-64) ..."
|
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 \
|
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
|
-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) ..."
|
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 \
|
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
|
-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
|
elif [ "$TRAVIS_OS_NAME" == "linux" ]; then
|
||||||
sudo apt-get update -qq || true
|
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
|
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$PWD/install $DIR
|
||||||
make package && cd -
|
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
|
else # local test-build
|
||||||
echo "--> Building Debug..."
|
echo "--> Building Debug..."
|
||||||
mkdir -p build/Debug && cd build/Debug
|
mkdir -p build/Debug && cd build/Debug
|
||||||
|
|
91
.travis.yml
91
.travis.yml
|
@ -2,32 +2,11 @@ language: c
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
include:
|
include:
|
||||||
### 64-bit build on AMD64 ###
|
### cross builds 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"]
|
|
||||||
|
|
||||||
### 32-bit build on AMD64 ###
|
|
||||||
- os: linux
|
- os: linux
|
||||||
dist: focal
|
dist: focal
|
||||||
env: BADGE=linux
|
env: BADGE=linux-mingw-64
|
||||||
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
|
|
||||||
name: linux-mingw
|
name: linux-mingw
|
||||||
compiler: gcc-10
|
compiler: gcc-10
|
||||||
addons:
|
addons:
|
||||||
|
@ -35,64 +14,20 @@ jobs:
|
||||||
sources: ["ubuntu-toolchain-r-test"]
|
sources: ["ubuntu-toolchain-r-test"]
|
||||||
packages:
|
packages:
|
||||||
["gcc-10", "libusb-1.0.0-dev", "libgtk-3-dev", "rpm", "mingw-w64"]
|
["gcc-10", "libusb-1.0.0-dev", "libgtk-3-dev", "rpm", "mingw-w64"]
|
||||||
before_install:
|
|
||||||
- LDFLAGS="$LDFLAGS -NDEBUG";
|
|
||||||
|
|
||||||
### macOS ###
|
- os: linux
|
||||||
# - os: osx
|
dist: focal
|
||||||
# env: BADGE=osx
|
env: BADGE=linux-mingw-32
|
||||||
# osx_image: xcode11.3
|
name: linux-mingw
|
||||||
# name: macOS 10.14.6 gcc
|
compiler: gcc-10
|
||||||
# compiler: gcc
|
addons:
|
||||||
# addons:
|
apt:
|
||||||
# homebrew:
|
sources: ["ubuntu-toolchain-r-test"]
|
||||||
# packages:
|
packages:
|
||||||
# - gcc
|
["gcc-10", "libusb-1.0.0-dev", "libgtk-3-dev", "rpm", "mingw-w64"]
|
||||||
# - 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";
|
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- git fetch --tags
|
- git fetch --tags
|
||||||
- printenv
|
- printenv
|
||||||
- cmake --version
|
- cmake --version
|
||||||
- if [[ "$TRAVIS_OS_NAME" == "linux" ]] || [[ "$TRAVIS_OS_NAME" == "osx" ]]; then ./.travis.sh; fi
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then ./.travis.sh; fi
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
|
|
||||||
if (APPLE) # macOS
|
if (APPLE) # macOS
|
||||||
FIND_PATH(
|
FIND_PATH(
|
||||||
LIBUSB_INCLUDE_DIR NAMES libusb.h
|
LIBUSB_INCLUDE_DIR NAMES libusb.h
|
||||||
HINTS /usr /usr/local /opt
|
HINTS /usr /usr/local /opt
|
||||||
|
@ -27,7 +27,7 @@ if (APPLE)
|
||||||
message(FATAL_ERROR "No libusb library found on your system! Install libusb-1.0 from Homebrew or MacPorts")
|
message(FATAL_ERROR "No libusb library found on your system! Install libusb-1.0 from Homebrew or MacPorts")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") # FreeBSD; libusb is integrated into the system
|
elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") # FreeBSD; libusb is integrated into the system
|
||||||
FIND_PATH(
|
FIND_PATH(
|
||||||
LIBUSB_INCLUDE_DIR NAMES libusb.h
|
LIBUSB_INCLUDE_DIR NAMES libusb.h
|
||||||
HINTS /usr/include
|
HINTS /usr/include
|
||||||
|
@ -43,13 +43,13 @@ elseif (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
|
||||||
message(FATAL_ERROR "Expected libusb library not found on your system! Verify your system integrity.")
|
message(FATAL_ERROR "Expected libusb library not found on your system! Verify your system integrity.")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
elseif (WIN32 OR (EXISTS "/etc/debian_version" AND MINGW)) # Windows or MinGW-toolchain on Debian
|
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)
|
if (CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||||
message(STATUS "=== Building for Windows (x86-64) ===")
|
message(STATUS "=== Building for Windows (x86-64) ===")
|
||||||
set(ARCH 64)
|
set(ARCH 64)
|
||||||
else ()
|
else ()
|
||||||
message(STATUS "=== Building for Windowsm (i686) ===")
|
message(STATUS "=== Building for Windows (i686) ===")
|
||||||
set(ARCH 32)
|
set(ARCH 32)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
@ -77,14 +77,14 @@ elseif (WIN32 OR (EXISTS "/etc/debian_version" AND MINGW))
|
||||||
|
|
||||||
if (NOT LIBUSB_FOUND)
|
if (NOT LIBUSB_FOUND)
|
||||||
# Preparations for installing libusb library
|
# Preparations for installing libusb library
|
||||||
set(LIBUSB_WIN_VERSION 1.0.23) # set libusb version
|
set(LIBUSB_WIN_VERSION 1.0.23) # set libusb version
|
||||||
set(LIBUSB_WIN_ARCHIVE libusb-${LIBUSB_WIN_VERSION}.7z)
|
set(LIBUSB_WIN_ARCHIVE libusb-${LIBUSB_WIN_VERSION}.7z)
|
||||||
if (WIN32 AND NOT EXISTS "/etc/debian_version") # ... on native Windows systems
|
if (WIN32 AND NOT EXISTS "/etc/debian_version") # ... on native Windows systems
|
||||||
set(LIBUSB_WIN_ARCHIVE_PATH ${CMAKE_BINARY_DIR}/${LIBUSB_WIN_ARCHIVE})
|
set(LIBUSB_WIN_ARCHIVE_PATH ${CMAKE_BINARY_DIR}/${LIBUSB_WIN_ARCHIVE})
|
||||||
set(LIBUSB_WIN_OUTPUT_FOLDER ${CMAKE_BINARY_DIR}/3rdparty/libusb-${LIBUSB_WIN_VERSION})
|
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
|
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_ARCHIVE_PATH ${CMAKE_SOURCE_DIR}/build-mingw-${ARCH}/${LIBUSB_WIN_ARCHIVE})
|
||||||
set(LIBUSB_WIN_OUTPUT_FOLDER ${CMAKE_SOURCE_DIR}/build-mingw/3rdparty/libusb-${LIBUSB_WIN_VERSION})
|
set(LIBUSB_WIN_OUTPUT_FOLDER ${CMAKE_SOURCE_DIR}/build-mingw-${ARCH}/3rdparty/libusb-${LIBUSB_WIN_VERSION})
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Get libusb package
|
# Get libusb package
|
||||||
|
|
|
@ -41,7 +41,7 @@ if (NOT CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
|
||||||
add_cflag_if_supported("-Wredundant-decls")
|
add_cflag_if_supported("-Wredundant-decls")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if (NOT WIN32)
|
if (NOT (WIN32 OR (EXISTS "/etc/debian_version" AND MINGW)))
|
||||||
add_cflag_if_supported("-fPIC")
|
add_cflag_if_supported("-fPIC")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
|
|
@ -6,23 +6,25 @@
|
||||||
#sudo apt-get install mingw-w64
|
#sudo apt-get install mingw-w64
|
||||||
|
|
||||||
# x86_64
|
# x86_64
|
||||||
mkdir build-mingw
|
mkdir build-mingw-64
|
||||||
cd build-mingw
|
cd build-mingw-64
|
||||||
cmake -DCMAKE_SYSTEM_NAME=Windows \
|
cmake -DCMAKE_SYSTEM_NAME=Windows \
|
||||||
-DTOOLCHAIN_PREFIX=x86_64-w64-mingw32 \
|
-DTOOLCHAIN_PREFIX=x86_64-w64-mingw32 \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=./cmake/modules/set_toolchain.cmake ..
|
-DCMAKE_TOOLCHAIN_FILE=./../cmake/modules/set_toolchain.cmake ..
|
||||||
make package
|
make package
|
||||||
cp dist/*.zip ../build/Release/dist
|
cp dist/*.zip ../build/Release/dist
|
||||||
|
make clean
|
||||||
cd ..
|
cd ..
|
||||||
rm -rf build-mingw
|
rm -rf build-mingw-64
|
||||||
|
|
||||||
# i686
|
# i686
|
||||||
mkdir build-mingw
|
mkdir build-mingw-32
|
||||||
cd build-mingw
|
cd build-mingw-32
|
||||||
cmake -DCMAKE_SYSTEM_NAME=Windows \
|
cmake -DCMAKE_SYSTEM_NAME=Windows \
|
||||||
-DTOOLCHAIN_PREFIX=i686-w64-mingw32 \
|
-DTOOLCHAIN_PREFIX=i686-w64-mingw32 \
|
||||||
-DCMAKE_TOOLCHAIN_FILE=./cmake/modules/set_toolchain.cmake ..
|
-DCMAKE_TOOLCHAIN_FILE=./../cmake/modules/set_toolchain.cmake ..
|
||||||
make package
|
make package
|
||||||
cp dist/*.zip ../build/Release/dist
|
cp dist/*.zip ../build/Release/dist
|
||||||
|
make clean
|
||||||
cd ..
|
cd ..
|
||||||
rm -rf build-mingw
|
rm -rf build-mingw-32
|
||||||
|
|
Ładowanie…
Reference in New Issue