diff --git a/cmake/configs/default.cmake b/cmake/configs/default.cmake index 7109d4023e..f88baf0a9f 100644 --- a/cmake/configs/default.cmake +++ b/cmake/configs/default.cmake @@ -452,6 +452,7 @@ hunter_default_version(rospack VERSION 2.5.3-p0) hunter_default_version(s3 VERSION 0.0.0-287e4be-p1) hunter_default_version(sds VERSION 2.0.0) hunter_default_version(sentencepiece VERSION 0.1.8-p1) +hunter_default_version(shaderc VERSION 2019.0-p1) hunter_default_version(shaka_player_embedded VERSION 0.1.0-beta-p1) hunter_default_version(sleef VERSION 3.3.1-p1) hunter_default_version(sm VERSION 1.2.3) diff --git a/cmake/projects/shaderc/hunter.cmake b/cmake/projects/shaderc/hunter.cmake new file mode 100644 index 0000000000..6496143e5b --- /dev/null +++ b/cmake/projects/shaderc/hunter.cmake @@ -0,0 +1,34 @@ +# Copyright (c) 2016-2019, Ruslan Baratov +# Copyright (c) 2019, Mathieu-Andre Chiasson +# All rights reserved. + +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_cmake_args) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + shaderc + VERSION + 2019.0-p1 + URL + "https://github.com/cpp-pm/shaderc/archive/v2019.0-p1.tar.gz" + SHA1 + f48923e2d92b0ef1629eaa323918a5c58d69e3c9 +) + +hunter_cmake_args( + shaderc + CMAKE_ARGS + SHADERC_ENABLE_SHARED_CRT=ON # 'ON' means 'do nothing'. Hunter users should control /MD[d] vs /MT[d] via a cmake toolchain files instead. + SHADERC_ENABLE_SPVC=ON # Required for projects such as Google Dawn + SHADERC_SKIP_TESTS=ON +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) +hunter_cacheable(shaderc) +hunter_download(PACKAGE_NAME shaderc) diff --git a/docs/packages/pkg/shaderc.rst b/docs/packages/pkg/shaderc.rst new file mode 100644 index 0000000000..a2e9e657aa --- /dev/null +++ b/docs/packages/pkg/shaderc.rst @@ -0,0 +1,22 @@ +.. spelling:: + + shaderc + +.. index:: + single: compiler ; shaderc + single: graphics ; shaderc + +.. _pkg.shaderc: + +shaderc +======= + +- `Official `__ +- `Hunterized `__ +- `Example `__ +- Added by `Mathieu-Andre Chiasson `__ (`pr-N `__) + +.. literalinclude:: /../examples/shaderc/CMakeLists.txt + :language: cmake + :start-after: # DOCUMENTATION_START { + :end-before: # DOCUMENTATION_END } diff --git a/examples/shaderc/CMakeLists.txt b/examples/shaderc/CMakeLists.txt new file mode 100644 index 0000000000..a39b43cde3 --- /dev/null +++ b/examples/shaderc/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (c) 2016-2019, Ruslan Baratov +# All rights reserved. + +cmake_minimum_required(VERSION 3.2) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-shaderc) + +# DOCUMENTATION_START { +hunter_add_package(shaderc) +find_package(shaderc CONFIG REQUIRED) + +add_executable(boo boo.cpp) +target_link_libraries(boo PUBLIC shaderc::shaderc) +# DOCUMENTATION_END } diff --git a/examples/shaderc/boo.cpp b/examples/shaderc/boo.cpp new file mode 100644 index 0000000000..ffeb394a17 --- /dev/null +++ b/examples/shaderc/boo.cpp @@ -0,0 +1,9 @@ +#include +#include + +int main() { + shaderc::Compiler compiler; + const char* test_program = "void main() {}"; + shaderc::SpvCompilationResult res = compiler.CompileGlslToSpv(test_program, strlen(test_program), shaderc_glsl_vertex_shader, "shader"); + return res.GetCompilationStatus(); +}