27 Commits

Author SHA1 Message Date
Brad King
bc01362368 FindVulkan: Restore tolerance of unknown FATAL_ERROR component
`find_package(Vulkan REQUIRED FATAL_ERROR)` calls exist in the wild, but
`find_package` does not have a `FATAL_ERROR` option.  We silently
tolerated such calls prior to commit 6e4d20921d (FindVulkan: Add
component for `shaderc_combined`, 2022-05-18, v3.24.0-rc1~111^2~5), by
treating the argument as a component and ignoring it.  Restore tolerance
by removing the component and warning about it.

Fixes: #23849
2022-08-17 09:52:12 -04:00
MACHIZAUD Andréa
0b538e4002 FindVulkan: Add missing 3.24 release notes 2022-07-25 14:04:43 -04:00
Brad King
db66c384fc FindVulkan: Format component documentation as definition list 2022-07-25 14:04:43 -04:00
MACHIZAUD Andréa
d9b4264cb8 FindVulkan: Add component for MoltenVK 2022-05-23 00:16:32 +02:00
MACHIZAUD Andréa
acdb5fe0e8 FindVulkan: Add component for glslc and glslangValidator
For backward compatibility with previous CMake versions they are implicitly added to the list of components
2022-05-18 23:16:11 +02:00
MACHIZAUD Andréa
998ee49779 FindVulkan: ensure policy CMP0057 is NEW to use IN_LIST with if() 2022-05-18 23:16:11 +02:00
MACHIZAUD Andréa
9f8720e74c FindVulkan: Add component for glslang 2022-05-18 23:16:09 +02:00
MACHIZAUD Andréa
8d133f49e3 FindVulkan: Add component for SPIRV-Tools 2022-05-18 23:15:50 +02:00
MACHIZAUD Andréa
6e4d20921d FindVulkan: Add component for shaderc_combined 2022-05-18 23:15:48 +02:00
MACHIZAUD Andréa
2f46b8d723 FindVulkan: Move mark_as_advanced right after find_* calls. 2022-05-13 23:12:29 +02:00
MACHIZAUD Andréa
08a420af4a FindVulkan: Factorize code for library/executable search 2022-05-13 23:09:05 +02:00
Ralf Habacker
db8bd5965f FindVulkan: Fix finding versions < 1.2.175 2021-11-10 16:11:46 +01:00
Ralf Habacker
caeaabb356 FindVulkan: Add version support
The version is constructed in the form <major>.<minor>.<patch> e.g.
1.2.189.
2021-10-27 20:50:55 +02:00
PCJohn
668ba68a7a FindVulkan: add Vulkan::Headers and Vulkan::glslangValidator targets
The `Vulkan::Headers` target complements existing Vulkan::Vulkan target.
It is the same except it omits the Vulkan library which supports
applications that loads the Vulkan library in at runtime.

The `Vulkan::glslangValidator` target provides the glslangValidator
executable which is the tool for converting between shader languages
(GLSL, SPIR-V, etc.).
2021-05-24 12:53:15 -04:00
Nikita Nemkin
8fea95319b Help: Add .. versionadded directives to module docs
Issue: #19715
2020-12-02 21:00:30 +05:00
Kitware Robot
496ec6036f Help: Add Sphinx 'versionadded' directives to each top-level document
Run the `Utilities/Sphinx/update_versions.py` script to add initial
markup to every top-level document and find module.

Issue: #19715
2020-07-06 10:23:20 -04:00
Ryan Kawicki
467509d767 FindVulkan: Support for finding glslc
The GLSL SPIR-V compiler is part of the Vulkan SDK and may be used
by projects for compiling shaders as part of the build process.
This is not strictly required to build a Vulkan application, which
is why the variable is not part of the REQUIRED_VARs for the module.
2020-06-26 20:57:06 -05:00
Patric Schmitz
590cde6125 FindVulkan: Prefer VULKAN_SDK env var before standard paths on UNIX
Also document the variable.

Fixes: #18346
2020-05-06 16:07:49 +02:00
pheonix xx
5c40e5ddb4 FindVulkan: Prefer VULKAN_SDK env var before standard paths
Reference the environment variable as HINTS instead of PATHS.

Fixes: #20637
2020-04-28 07:25:55 -04:00
NeroBurner
6cc4ca31d5 Fix repeated word in FindVulkan.cmake 2019-07-18 17:25:04 -04:00
Bartosz Kosiorek
cb811d11ce Help: Improve description of modules 2019-04-23 10:39:34 +02:00
Kitware Robot
df4ed1e9ff Help: Convert remaining modules to block-style comments 2018-10-22 11:09:34 -04:00
Rolf Eike Beer
d6883801cd Find*: always include FPHSA shipped with CMake 2018-04-02 10:48:31 +02:00
Matthäus G. Chajdas
723955cd2b FindVulkan: Fix for SDK versions < 1.0.42 on 32-bit Windows
Before Vulkan 1.0.42, the SDK would add the Bin directory to `PATH`,
which was confusing the 32-bit search on Windows.  Avoid such confusion
by ignoring the `PATH` when looking for the 32-bit version.

Vulkan 1.0.42 fixed the whole problem by moving the libraries into Lib,
Lib32, so this is strictly a compatibility fix for old SDKs.
2017-03-06 13:32:41 -05:00
Brad Davis
8e58f360f5 FindVulkan: Update for LunarG SDK import library location on Windows
As of at least 1.0.42 of the LunarG SDK, the `vulkan-1.lib` import
library on Windows is stored in `${VULKAN_SDK}/Lib` or
`${VULKAN_SDK}/Lib32`.
2017-03-02 10:02:20 -05:00
Brad King
86578eccf2 Simplify CMake per-source license notices
Per-source copyright/license notice headers that spell out copyright holder
names and years are hard to maintain and often out-of-date or plain wrong.
Precise contributor information is already maintained automatically by the
version control tool.  Ultimately it is the receiver of a file who is
responsible for determining its licensing status, and per-source notices are
merely a convenience.  Therefore it is simpler and more accurate for
each source to have a generic notice of the license name and references to
more detailed information on copyright holders and full license terms.

Our `Copyright.txt` file now contains a list of Contributors whose names
appeared source-level copyright notices.  It also references version control
history for more precise information.  Therefore we no longer need to spell
out the list of Contributors in each source file notice.

Replace CMake per-source copyright/license notice headers with a short
description of the license and links to `Copyright.txt` and online information
available from "https://cmake.org/licensing".  The online URL also handles
cases of modules being copied out of our source into other projects, so we
can drop our notices about replacing links with full license text.

Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
of the replacements mechanically.  Manually fix up shebang lines and trailing
newlines in a few files.  Manually update the notices in a few files that the
script does not handle.
2016-09-27 15:14:44 -04:00
Matthäus G. Chajdas
adf4df28ca Add FindVulkan.cmake.
This adds FindVulkan with corresponding tests.
2016-06-08 12:44:03 -04:00