diff --git a/cmake/configs/default.cmake b/cmake/configs/default.cmake index 820e5d0f14..b7088cecd7 100644 --- a/cmake/configs/default.cmake +++ b/cmake/configs/default.cmake @@ -178,6 +178,7 @@ hunter_config(freetype VERSION 2.6.2) hunter_config(gauze VERSION 0.1.1) hunter_config(geos VERSION 3.4.2) hunter_config(gflags VERSION 2.2.1) +hunter_config(glbinding VERSION 2.1.3-p0) hunter_config(glew VERSION 2.0.0) hunter_config(glfw VERSION 3.3.0-p4) hunter_config(glib VERSION 2.54.0) diff --git a/cmake/projects/glbinding/hunter.cmake b/cmake/projects/glbinding/hunter.cmake new file mode 100644 index 0000000000..d7723edf4c --- /dev/null +++ b/cmake/projects/glbinding/hunter.cmake @@ -0,0 +1,42 @@ +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +# Load used modules +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_download) +include(hunter_pick_scheme) +include(hunter_cmake_args) + +# List of versions here... + +hunter_add_version( + PACKAGE_NAME + glbinding + VERSION + "2.1.3-p0" + URL + "https://github.com/hunter-packages/glbinding/archive/v2.1.3-p0.tar.gz" + SHA1 + 7bb774ee35f63e7f769d4f4ae6194cbc3f8afe16 +) + +hunter_cmake_args( + glbinding + CMAKE_ARGS + BUILD_SHARED_LIBS=OFF + OPTION_BUILD_TESTS=OFF + OPTION_BUILD_GPU_TESTS=OFF + OPTION_BUILD_EXAMPLES=OFF + OPTION_BUILD_TOOLS=OFF + OPTION_BUILD_DOCS=OFF + HUNTER_INSTALL_LICENSE_FILES=LICENSE +) + +# Pick a download scheme +hunter_pick_scheme(DEFAULT url_sha1_cmake) # use scheme for cmake projects +hunter_cacheable(glbinding) + +# Download package. +# Two versions of library will be build by default: +hunter_download(PACKAGE_NAME glbinding) + diff --git a/docs/packages/pkg/glbinding.rst b/docs/packages/pkg/glbinding.rst new file mode 100644 index 0000000000..cd280cafc8 --- /dev/null +++ b/docs/packages/pkg/glbinding.rst @@ -0,0 +1,21 @@ +.. spelling:: + + glbinding + +.. index:: ui ; glbinding + +.. _pkg.glbinding: + +glbinding +========= + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `NeroBurner `__ (`pr-1073 `__) + +.. code-block:: cmake + + hunter_add_package(glbinding) + find_package(glbinding CONFIG REQUIRED) + target_link_libraries(glbinding glbinding::glbinding) diff --git a/examples/glbinding/CMakeLists.txt b/examples/glbinding/CMakeLists.txt new file mode 100644 index 0000000000..d509905351 --- /dev/null +++ b/examples/glbinding/CMakeLists.txt @@ -0,0 +1,36 @@ +# Copyright (c) 2017, NeroBurner +# All rights reserved. + +cmake_minimum_required(VERSION 3.1) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-glbinding) + +hunter_add_package(glbinding) + +string(COMPARE EQUAL "${glbinding_LICENSES}" "" is_empty) +if(is_empty) + message(FATAL_ERROR "Licenses not found") +endif() + +message("glbinding licenses:") +foreach(x ${glbinding_LICENSES}) + message("* ${x}") + if(NOT EXISTS "${glbinding_LICENSES}") + message(FATAL_ERROR "File not found") + endif() +endforeach() + +find_package(glbinding CONFIG REQUIRED) + +# Test double library creation +find_package(glbinding CONFIG REQUIRED) + +add_executable(foo foo.cpp) +target_link_libraries(foo glbinding::glbinding) + +# glbinding needs at least this c++11 feature +target_compile_features(foo PRIVATE cxx_defaulted_move_initializers) diff --git a/examples/glbinding/foo.cpp b/examples/glbinding/foo.cpp new file mode 100644 index 0000000000..0c19b757d0 --- /dev/null +++ b/examples/glbinding/foo.cpp @@ -0,0 +1,9 @@ +#include +#include + +int main() +{ + std::cout << "Latest available gl version: " + << glbinding::Version::latest() + << std::endl; +}