diff --git a/.travis.yml b/.travis.yml index c0ef03b..22306ad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -118,46 +118,45 @@ matrix: env: - AMALGAMATED=OFF - #- name: "Android armeabi-v7a" - # language: android - # android: &androidComponents - # components: - # - tools - # - platform-tools - # - build-tools-26.0.1 - # env: - # - CMAKE_FLAGS="-DCMAKE_SYSTEM_NAME=Android -DBGFX_BUILD_TOOLS=OFF -DBGFX_BUILD_EXAMPLES=OFF -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r18b -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_shared -DCMAKE_ANDROID_API=26" - # - AMALGAMATED=OFF - # install: &androidInstall - # - echo y | sdkmanager "cmake;3.10.2.4988404" - # - echo y | sdkmanager "lldb;3.1" - # - sudo ln -sf /usr/local/android-sdk/cmake/3.10.2.4988404/bin/cmake /usr/bin/cmake - # - wget https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip - # - unzip -qq android-ndk-r18b-linux-x86_64.zip + - name: "Android armeabi-v7a" + language: android + android: &androidComponents + components: + - tools + - platform-tools + - build-tools-26.0.1 + env: + - CMAKE_FLAGS="-DCMAKE_SYSTEM_NAME=Android -DBGFX_BUILD_TOOLS=OFF -DBGFX_BUILD_EXAMPLES=OFF -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r18b -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_shared -DCMAKE_ANDROID_API=26" + - AMALGAMATED=OFF + install: &androidInstall + - echo y | sdkmanager "cmake;3.10.2.4988404" + - sudo ln -sf /usr/local/android-sdk/cmake/3.10.2.4988404/bin/cmake /usr/bin/cmake + - wget https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip + - unzip -qq android-ndk-r18b-linux-x86_64.zip - #- name: "Android armeabi-v7a Amalgamated" - # language: android - # android: *androidComponents - # env: - # - CMAKE_FLAGS="-DCMAKE_SYSTEM_NAME=Android -DBGFX_BUILD_TOOLS=OFF -DBGFX_BUILD_EXAMPLES=OFF -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r18b -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_shared -DCMAKE_ANDROID_API=26" - # - AMALGAMATED=ON - # install: *androidInstall + - name: "Android armeabi-v7a Amalgamated" + language: android + android: *androidComponents + env: + - CMAKE_FLAGS="-DCMAKE_SYSTEM_NAME=Android -DBGFX_BUILD_TOOLS=OFF -DBGFX_BUILD_EXAMPLES=OFF -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r18b -DCMAKE_ANDROID_ARCH_ABI=armeabi-v7a -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_shared -DCMAKE_ANDROID_API=26" + - AMALGAMATED=ON + install: *androidInstall - #- name: "Android x86" - # language: android - # android: *androidComponents - # env: - # - CMAKE_FLAGS="-DCMAKE_SYSTEM_NAME=Android -DBGFX_BUILD_TOOLS=OFF -DBGFX_BUILD_EXAMPLES=OFF -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r18b -DCMAKE_ANDROID_ARCH_ABI=x86 -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_shared -DCMAKE_ANDROID_API=26" - # - AMALGAMATED=OFF - # install: *androidInstall + - name: "Android x86" + language: android + android: *androidComponents + env: + - CMAKE_FLAGS="-DCMAKE_SYSTEM_NAME=Android -DBGFX_BUILD_TOOLS=OFF -DBGFX_BUILD_EXAMPLES=OFF -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r18b -DCMAKE_ANDROID_ARCH_ABI=x86 -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_shared -DCMAKE_ANDROID_API=26" + - AMALGAMATED=OFF + install: *androidInstall - #- name: "Android x86 Amalgamated" - # language: android - # android: *androidComponents - # env: - # - CMAKE_FLAGS="-DCMAKE_SYSTEM_NAME=Android -DBGFX_BUILD_TOOLS=OFF -DBGFX_BUILD_EXAMPLES=OFF -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r18b -DCMAKE_ANDROID_ARCH_ABI=x86 -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_shared -DCMAKE_ANDROID_API=26" - # - AMALGAMATED=ON - # install: *androidInstall + - name: "Android x86 Amalgamated" + language: android + android: *androidComponents + env: + - CMAKE_FLAGS="-DCMAKE_SYSTEM_NAME=Android -DBGFX_BUILD_TOOLS=OFF -DBGFX_BUILD_EXAMPLES=OFF -DCMAKE_ANDROID_NDK=$TRAVIS_BUILD_DIR/android-ndk-r18b -DCMAKE_ANDROID_ARCH_ABI=x86 -DCMAKE_ANDROID_NDK_TOOLCHAIN_VERSION=clang -DCMAKE_ANDROID_STL_TYPE=c++_shared -DCMAKE_ANDROID_API=26" + - AMALGAMATED=ON + install: *androidInstall script: - mkdir build && cd build diff --git a/CMakeLists.txt b/CMakeLists.txt index 808f5eb..bcd3fc4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -90,10 +90,15 @@ if( BGFX_INSTALL ) # Configure 'ConfigVersion.cmake' # Use: # * PROJECT_VERSION + if(${CMAKE_VERSION} VERSION_LESS "3.11.0") + set(BGFX_COMPATIBILITY SameMajorVersion) + else() + set(BGFX_COMPATIBILITY SameMinorVersion) + endif() write_basic_package_version_file( "${version_config}" VERSION ${PROJECT_VERSION} - COMPATIBILITY SameMinorVersion + COMPATIBILITY ${BGFX_COMPATIBILITY} ) # Configure 'Config.cmake' diff --git a/README.md b/README.md index 515408c..306a9d1 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ Todo ------------- * Support Native Client. * Support Windows Phone. -* Fix Android and iOS builds. [#85](https://github.com/widberg/bgfx.cmake/issues/85) +* Fix iOS builds. [#85](https://github.com/widberg/bgfx.cmake/issues/85) * More configuration. [#12](https://github.com/widberg/bgfx.cmake/issues/12) * Add varying.def.sc files as shader dependencies. * Combined examples.