Update your build settings

After you've downloaded the library onto your machine and have checked it into your source control system, make the following changes to your project's build settings.

Static library

Do the following steps to link your project to the static library:

  1. Add gamesdk/include to your compiler include paths.
  2. Include swappy/swappyVk.h for integration with Vulkan. In most cases, the header file contains all the functions you need to integrate the library into your engine.
  3. Add a path of the following form in your linker library paths:

    gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release
    

    For example: gamesdk/libs/arm64-v8a_API24_NDK17_cpp_static_Release

  4. Add -lswappy_static to your linker command.

Shared library

The above steps statically link against a version of the Frame Pacing library compiled for the given ABI, API level, NDK and STL combination. If the combination is not available for your settings, you can instead link against the shared library:

  1. Follow steps 1 and 2 from the previous section to update your compiler include paths and use the appropriate header file.
  2. Add a path of the following form in your linker library paths:

    gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release/lib/swappy
    
  3. Add -lswappy to your linker command.

Static linking will give you a much smaller code footprint as you don’t need to bundle the libswappy.so shared library.

Using CMake (static library only)

If you are using CMake, see the gamesdk/samples/bouncyball/app/CMakeLists.txt file in the downloaded library for an example CMake configuration. It includes a utility file, gamesdk/samples/gamesdk.cmake, that performs final checks, adds the proper compiler include paths, and generates a target that you can use to link the library.

To use this utility, do the following:

  1. Include this file in your CMakeLists.txt: include("path/to/gamesdk/samples/gamesdk.cmake")
  2. Call the add_gamesdk_target function with the folder containing the gamesdk: add_gamesdk_target(PACKAGE_DIR path/to/gamesdk)
  3. In your target_link_libraries for your native library, add swappy as a dependency: target_link_libraries(native-lib swappy ...)

For advanced usage of CMake, see the gamesdk.cmake source file.