Skip to content

OpenMW/openmw-deps-build

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

openmw-deps-build

This is a repository to host CI jobs to build dependencies for OpenMW via vcpkg to be cached as binary artifacts at https://gitlab.com/OpenMW/openmw-deps.

Jobs start automatically on push to master and automatically push archived artifacts to another git repository.

Vcpkg has system requirements

Secret Setup in CI for Testing

You can test the repo is working on your own fork using a deploy key and a gpg key you generate.

To make this work properly multiple secrets have to be configured:

  • SSH_PRIVATE_KEY with private SSH key allowed to push changes to repository specified via PUSH_URL variable (e.g. generated by ssh-keygen).
  • GPG_PRIVATE_KEY with private GPG key to sign commits with GPG signature (e.g. generated with gpg --full-generate-key).
  • GPG_PRIVATE_KEY_PASSPHRASE a passphrase for the GPG_PRIVATE_KEY to make it possible to use the GPG key (e.g. the value used during gpg --full-generate-key).
    • You can generate a gpg key with the git author information used in CI. It does not need to be associated with any account.

Also the following variable has to be set:

  • PUSH_URL with target SSH-based URL for git push command (e.g. [email protected]:OpenMW/openmw-deps.git or your fork).

Any pushes should create a branch/commit on the openmw-dep repo. However, the manifest file links will not work. You will need to create a tag/release for that to work.

Testing OpenMW with MacOS (for building on arm64 for arm64)

You need to install the following: brew install autoconf autoconf-archive automake

  1. vcpkg install --overlay-ports=ports --overlay-triplets=triplets --triplet arm64-osx-dynamic --host-triplet arm64-osx-dynamic
  2. vcpkg export --x-all-installed --raw --output vcpkg-macos-test --output-dir DIRECTORY

You will need to change the variables towards the top of the OpenMW before_script.macos.sh file to:

DEPENDENCIES_ROOT_PATH="/DIRECTORY/vcpkg-macos-test"

You will also need to change this:

if [[ "${MACOS_AMD64}" ]]; then
    CMAKE_CONF_OPTS+=(
        -D CMAKE_OSX_ARCHITECTURES="x86_64"
    )
fi

to:

if [[ "${MACOS_AMD64}" ]]; then
    ICU_PATH=$(arch -x86_64 /usr/local/bin/brew --prefix icu4c)
    OPENAL_PATH=$(arch -x86_64 /usr/local/bin/brew --prefix openal-soft)

    CMAKE_CONF_OPTS+=(
        -D CMAKE_OSX_ARCHITECTURES="x86_64"
        -D CMAKE_PREFIX_PATH="$DEPENDENCIES_ROOT_PATH;$QT_PATH;$OPENAL_PATH"
        -D Boost_INCLUDE_DIR="$DEPENDENCIES_ROOT_PATH/include"
        -D OSGPlugins_LIB_DIR="$DEPENDENCIES_ROOT_PATH/lib/osgPlugins-3.6.5"
        -D ICU_ROOT="$ICU_PATH"
        -D CMAKE_OSX_DEPLOYMENT_TARGET="13.6"
        -D OPENMW_USE_SYSTEM_RECASTNAVIGATION=TRUE
    )
else
    VCPKG_TARGET_TRIPLET="arm64-osx-dynamic"
    DEPENDENCIES_INSTALLED_PATH="$DEPENDENCIES_ROOT_PATH/installed/$VCPKG_TARGET_TRIPLET"
    CMAKE_CONF_OPTS+=(
        -D CMAKE_PREFIX_PATH="$DEPENDENCIES_INSTALLED_PATH;$QT_PATH"
        -D collada_dom_DIR="$DEPENDENCIES_INSTALLED_PATH/share/collada-dom"
        -DVCPKG_HOST_TRIPLET="$VCPKG_TARGET_TRIPLET"
        -DVCPKG_TARGET_TRIPLET="$VCPKG_TARGET_TRIPLET"
        -DCMAKE_TOOLCHAIN_FILE="$DEPENDENCIES_ROOT_PATH/scripts/buildsystems/vcpkg.cmake"
    )
fi

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 7