Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 11 additions & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
dist: xenial
language: rust
services:
- docker
compiler:
- clang
rust:
- 1.34.0
- nightly
env:
global:
- PKG_CONFIG_ALLOW_CROSS=1 TARGET=i686-unknown-linux-gnu CXX=/usr/bin/clang++-8 CC=/usr/bin/clang-8
- PKG_CONFIG_ALLOW_CROSS=1 TARGET=i686-unknown-linux-musl CXX=/usr/bin/clang++-8 CC=/usr/bin/clang-8
matrix:
- RUN_DEBUG_TEST=1 RUN_DEBUG_BUILD=1
- RUN_RELEASE_TEST=1 RUN_CLIPPY=1
Expand Down Expand Up @@ -46,6 +48,7 @@ addons:
install:
- rustup target add $TARGET
- cargo install cargo-sweep || true
- cargo install --git https://github.com/In-line/cross.git "--branch=cross-for-grip" || true
- if [ "$TRAVIS_RUST_VERSION" = stable ]; then (rustup component add clippy || true) fi
before_script:
- $CXX --version
Expand All @@ -56,17 +59,17 @@ script:
- |
cd $TRAVIS_BUILD_DIR/rust
if [ "$TRAVIS_RUST_VERSION" = stable ] && [ -n "$RUN_CLIPPY" ]; then
(CARGO_TARGET_DIR=$TRAVIS_BUILD_DIR/build/debug/rust cargo clippy --target $TARGET --all -- -D clippy::all)
(CARGO_TARGET_DIR=$TRAVIS_BUILD_DIR/build/debug/rust cross clippy --target $TARGET --all -- -D clippy::all)
fi

- |
if [ -n "$RUN_DEBUG_TEST" ]; then
CARGO_TARGET_DIR=$TRAVIS_BUILD_DIR/build/release/rust cargo test --verbose --target $TARGET
CARGO_TARGET_DIR=$TRAVIS_BUILD_DIR/build/release/rust cross test --verbose --target $TARGET
fi

- |
if [ -n "$RUN_RELEASE_TEST" ]; then
CARGO_TARGET_DIR=$TRAVIS_BUILD_DIR/build/debug/rust cargo test --verbose --release --target $TARGET
CARGO_TARGET_DIR=$TRAVIS_BUILD_DIR/build/debug/rust cross test --verbose --release --target $TARGET
fi

- |
Expand Down Expand Up @@ -121,10 +124,10 @@ before_cache:
- chmod -R a+r $TRAVIS_BUILD_DIR/build/release/rust
- chmod -R a+r $TRAVIS_BUILD_DIR/build/debug/rust
- cd $TRAVIS_BUILD_DIR/rust
- CARGO_TARGET_DIR=$TRAVIS_BUILD_DIR/build/release/rust cargo sweep --maxsize 1500
- CARGO_TARGET_DIR=$TRAVIS_BUILD_DIR/build/debug/rust cargo sweep --maxsize 1500
- CARGO_TARGET_DIR=$TRAVIS_BUILD_DIR/build/release/rust cargo sweep -t 30
- CARGO_TARGET_DIR=$TRAVIS_BUILD_DIR/build/debug/rust cargo sweep -t 30
- CARGO_TARGET_DIR=$TRAVIS_BUILD_DIR/build/release/rust cross sweep --maxsize 1500
- CARGO_TARGET_DIR=$TRAVIS_BUILD_DIR/build/debug/rust cross sweep --maxsize 1500
- CARGO_TARGET_DIR=$TRAVIS_BUILD_DIR/build/release/rust cross sweep -t 30
- CARGO_TARGET_DIR=$TRAVIS_BUILD_DIR/build/debug/rust cross sweep -t 30
- cd -

notifications:
Expand Down
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES} )
set(FLAGS "-m32 -O3 -mtune=generic -fvisibility=hidden -flto -fPIC")
set(PORTABLE_LINK_FLAGS "${FLAGS} -static-libgcc -static-libstdc++ -Wl,--gc-sections -Wl,--version-script=${CMAKE_SOURCE_DIR}/version_script.lds")

set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${FLAGS} -fdata-sections -ffunction-sections -fpermissive")
set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${FLAGS} -fdata-sections -ffunction-sections -fpermissive -fno-exceptions -fno-rtti")
set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "")

if(WIN32)
Expand Down
4 changes: 2 additions & 2 deletions cmake/CMakeCargo.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ function(cargo_build)
# if(CMAKE_SIZEOF_VOID_P EQUAL 8)
# set(LIB_TARGET "x86_64-unknown-linux-gnu")
# else()
set(LIB_TARGET "i686-unknown-linux-gnu")
set(LIB_TARGET "i686-unknown-linux-musl")
# endif()
endif()

Expand Down Expand Up @@ -66,7 +66,7 @@ function(cargo_build)

add_custom_command(
OUTPUT ${LIB_FILE}
COMMAND ${CARGO_ENV_COMMAND} ${CARGO_EXECUTABLE} ARGS ${CARGO_ARGS}
COMMAND ${CARGO_ENV_COMMAND} ${CROSS_EXECUTABLE} ARGS ${CARGO_ARGS}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
DEPENDS ${LIB_SOURCES}
COMMENT "running cargo")
Expand Down
6 changes: 6 additions & 0 deletions cmake/FindRust.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,12 @@ find_program(CARGO_EXECUTABLE cargo
PATH_SUFFIXES "bin")
mark_as_advanced(CARGO_EXECUTABLE)

# Find cross executable
find_program(CROSS_EXECUTABLE cross
HINTS "${CARGO_HOME}"
PATH_SUFFIXES "bin")
mark_as_advanced(CROSS_EXECUTABLE)

# Find rustc executable
find_program(RUSTC_EXECUTABLE rustc
HINTS "${CARGO_HOME}"
Expand Down
2 changes: 1 addition & 1 deletion cpp/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -685,4 +685,4 @@ void StartFrame() {
init_grip();
grip_process_request();
RETURN_META(MRES_IGNORED);
}
}
8 changes: 8 additions & 0 deletions rust/Cross.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[build.env]
passthrough = [
"RUST_BACKTRACE",
"RUST_LOG",
"PKG_CONFIG_ALLOW_CROSS",
# "CARGO_TARGET_DIR",
"RUSTFLAGS",
]