Update to 2020 compilers (#1733)

Also link to libatomic in cmake and for Raspbian only in gradle.
This commit is contained in:
Peter Johnson
2019-06-29 09:28:28 -07:00
committed by GitHub
parent 2dc94e6052
commit 0fbb0d989e
6 changed files with 25 additions and 28 deletions

View File

@@ -5,8 +5,8 @@
resources:
containers:
- container: wpilib2019
image: wpilib/roborio-cross-ubuntu:2019-18.04
- container: wpilib2020
image: wpilib/roborio-cross-ubuntu:2020-18.04
- container: raspbian
image: wpilib/raspbian-cross-ubuntu:18.04
- container: ubuntu18
@@ -20,7 +20,7 @@ stages:
pool:
vmImage: 'Ubuntu 16.04'
container: wpilib2019
container: wpilib2020
steps:
- task: Gradle@2
@@ -68,7 +68,7 @@ stages:
pool:
vmImage: 'Ubuntu 16.04'
container: wpilib2019
container: wpilib2020
steps:
- task: Gradle@2
@@ -117,7 +117,7 @@ stages:
pool:
vmImage: 'Ubuntu 16.04'
container: wpilib2019
container: wpilib2020
steps:
- task: CMake@1
@@ -132,22 +132,12 @@ stages:
pool:
vmImage: 'windows-2019'
steps:
- powershell: |
mkdir build
$ProgressPreference = 'SilentlyContinue'
wget "https://download.java.net/java/ga/jdk11/openjdk-11_windows-x64_bin.zip" -O "build\jdk.zip"
displayName: 'Download JDK'
- task: JavaToolInstaller@0
inputs:
jdkSourceOption: localDirectory
jdkFile: 'build/jdk.zip'
jdkDestinationDirectory: 'build/jdkinst'
jdkArchitectureOption: x64
- task: Gradle@2
inputs:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
jdkVersionOption: '1.11'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
tasks: 'build'
@@ -193,13 +183,11 @@ stages:
- job: Mac
pool:
vmImage: 'xcode9-macos10.13'
vmImage: 'macOS-10.14'
steps:
- script: |
mkdir build
wget "https://download.java.net/java/ga/jdk11/openjdk-11_osx-x64_bin.tar.gz" -O "build/jdk.tar.gz"
sudo tar xvzf build/jdk.tar.gz -C /Library/Java/JavaVirtualMachines/
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/
export JAVA_HOME=`/usr/libexec/java_home -v 11`
displayName: 'Setup JDK'
- script: |
rm /Users/vsts/.gradle/init.d/log-gradle-version-plugin.gradle
@@ -209,8 +197,7 @@ stages:
workingDirectory: ''
gradleWrapperFile: 'gradlew'
gradleOptions: '-Xmx3072m'
javaHomeOption: 'path'
jdkDirectory: '/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home/'
jdkVersionOption: '1.11'
publishJUnitResults: true
testResultsFiles: '**/TEST-*.xml'
tasks: 'build'
@@ -227,7 +214,7 @@ stages:
jobs:
- job: CombineJob
pool:
vmImage: 'xcode9-macos10.13'
vmImage: 'macOS-10.14'
steps:
- checkout: none

View File

@@ -5,5 +5,5 @@ repositories {
}
}
dependencies {
compile "edu.wpi.first:native-utils:2019.5.12"
compile "edu.wpi.first:native-utils:2020.0.1"
}

View File

@@ -1,5 +1,4 @@
set(GCC_COMPILER_VERSION "" CACHE STRING "GCC Compiler version")
set(GNU_MACHINE "arm-frc2019-linux-gnueabi" CACHE STRING "GNU compiler triple")
set(GNU_MACHINE "arm-frc2020-linux-gnueabi" CACHE STRING "GNU compiler triple")
set(SOFTFP yes)
include("${CMAKE_CURRENT_LIST_DIR}/arm.toolchain.cmake")

View File

@@ -1,5 +1,5 @@
set(GCC_COMPILER_VERSION "" CACHE STRING "GCC Compiler version")
set(GNU_MACHINE "arm-raspbian9-linux-gnueabi" CACHE STRING "GNU compiler triple")
set(GNU_MACHINE "arm-raspbian10-linux-gnueabi" CACHE STRING "GNU compiler triple")
if(COMMAND toolchain_save_config)
return() # prevent recursive call

View File

@@ -22,6 +22,10 @@ toolchainsPlugin.crossCompilers.named(nativeUtils.wpi.platforms.roborio) {
optional.set(true)
}
nativeUtils.configurePlatform(nativeUtils.wpi.platforms.raspbian) {
linker.args << '-latomic'
}
model {
components {
all {

View File

@@ -26,6 +26,13 @@ endif()
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads REQUIRED)
if (NOT MSVC)
find_library(ATOMIC NAMES atomic libatomic.so.1)
if (ATOMIC)
message(STATUS "Found libatomic: ${ATOMIC}")
endif()
endif()
GENERATE_RESOURCES(src/main/native/resources generated/main/cpp WPI wpi wpiutil_resources_src)
file(GLOB_RECURSE wpiutil_native_src src/main/native/cpp/*.cpp)
@@ -85,7 +92,7 @@ if (MSVC)
target_compile_definitions(wpiutil PRIVATE -D_CRT_SECURE_NO_WARNINGS)
endif()
wpilib_target_warnings(wpiutil)
target_link_libraries(wpiutil Threads::Threads ${CMAKE_DL_LIBS})
target_link_libraries(wpiutil Threads::Threads ${CMAKE_DL_LIBS} ${ATOMIC})
if (NOT USE_VCPKG_LIBUV)
target_sources(wpiutil PRIVATE ${uv_native_src})