diff --git a/.travis.yml b/.travis.yml index dea00609..640f1281 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,6 +34,8 @@ install: - tar -xf doxygen-1.8.12.linux.bin.tar.gz # Add Doxygen binary path to PATH - export PATH="$PWD/doxygen-1.8.12/bin:$PATH" + # Install cbindgen for generating C++ headers for Rust dependencies. + - cbindgen --version || cargo install cbindgen --version 0.6.6 before_script: - mkdir build diff --git a/CMakeLists.txt b/CMakeLists.txt index 2f78459f..3687802f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,10 +76,11 @@ set (GTEST_LIBRARIES "${BINARY_DIR}/googlemock/gtest/${CMAKE_CFG_INTDIR}/${CMAKE ExternalProject_Add(esplugin PREFIX "external" - URL "https://github.com/WrinklyNinja/esplugin/archive/2.1.0.tar.gz" + URL "https://github.com/WrinklyNinja/esplugin/archive/2.1.1.tar.gz" CONFIGURE_COMMAND "" BUILD_IN_SOURCE 1 - BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml --features ffi-headers --target ${RUST_TARGET} + BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml --target ${RUST_TARGET} && + cbindgen ffi/ -o ffi/include/esplugin.hpp INSTALL_COMMAND "") ExternalProject_Get_Property(esplugin SOURCE_DIR) set (ESPLUGIN_INCLUDE_DIRS "${SOURCE_DIR}/ffi/include") @@ -105,7 +106,8 @@ ExternalProject_Add(libloadorder URL "https://github.com/WrinklyNinja/libloadorder/archive/11.4.1.tar.gz" CONFIGURE_COMMAND "" BUILD_IN_SOURCE 1 - BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml --features ffi-headers --target ${RUST_TARGET} + BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml --target ${RUST_TARGET} && + cbindgen ffi/ -l c++ -o ffi/include/libloadorder.hpp INSTALL_COMMAND "") ExternalProject_Get_Property(libloadorder SOURCE_DIR) set(LIBLOADORDER_INCLUDE_DIRS "${SOURCE_DIR}/ffi/include") @@ -121,7 +123,8 @@ ExternalProject_Add(loot-condition-interpreter URL "https://github.com/Ortham/loot-condition-interpreter/archive/1.0.0.tar.gz" CONFIGURE_COMMAND "" BUILD_IN_SOURCE 1 - BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml --features ffi-headers --target ${RUST_TARGET} + BUILD_COMMAND cargo build --release --manifest-path ffi/Cargo.toml --target ${RUST_TARGET} && + cbindgen ffi/ -l c++ -o ffi/include/loot_condition_interpreter.hpp INSTALL_COMMAND "") ExternalProject_Get_Property(loot-condition-interpreter SOURCE_DIR) set (LCI_INCLUDE_DIRS "${SOURCE_DIR}/ffi/include") diff --git a/appveyor.yml b/appveyor.yml index be7160c7..0e314969 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -22,6 +22,7 @@ install: - rustup-init.exe -y - set PATH=%PATH%;C:\Users\appveyor\.cargo\bin - rustup target add i686-pc-windows-msvc + - where cbindgen || cargo install cbindgen --version 0.6.6 - choco install -y doxygen.portable - python -m pip install -r docs/requirements.txt - ps: (New-Object Net.WebClient).DownloadFile('https://raw.githubusercontent.com/WrinklyNinja/ci-scripts/2.0.0/delete_old_bintray_versions.py', "$env:APPVEYOR_BUILD_FOLDER\delete_old_bintray_versions.py")