David Neto
b4a6efcda2
Allow external control of whether Glslang will be tested or installed
...
Expose GLSLANG__TESTS and GLSLANG_ENABLE_INSTALL as options
that can be controlled from an enclosing project, or from the
command line.
They retain the prior default behaviour. In particular, if Glslang
is not the top level project, then they default to OFF.
Fixes : #3507
2024-02-13 15:35:02 -08:00
Arcady Goldmints-Orlov
57d86ab763
cmake: remove generation of deprecated *Targets.cmake files
...
These files have had a deprecation notice for a few years now and the
cmake find_package mechanism should be used instead.
2024-01-17 16:43:13 -05:00
Juan Ramos
cf1fbbff44
Only install/test if PROJECT_IS_TOP_LEVEL
...
Further remove installing glslangtests. There isn't a need to do
that. glslangtests isn't a deliverable.
2023-12-01 18:35:36 -05:00
Juan Ramos
6be56e45e5
Remove OGLCompiler and HLSL stub libraries from build
...
Fixes ranlib warnings complaining about empty archive libraries.
Simplifie build/code.
2023-11-29 08:20:27 -05:00
Chuang Zhu
dfc97740ff
Use CMAKE_INSTALL_FULL_LIBDIR in compat cmake files
...
According to
https://cmake.org/cmake/help/v3.25/module/GNUInstallDirs.html ,
CMAKE_INSTALL_LIBDIR can be an absolute path. For instance, Nixpkgs
[defined it to an absolute path in /nix/store](3d17b4c305/pkgs/development/tools/build-managers/cmake/setup-hook.sh (L101) ).
The output in this case is:
# result-glslang/lib/cmake/glslangTargets.cmake:5
include("${CMAKE_CURRENT_LIST_DIR}/../..//nix/store/3mif2zibig0cilk5dbz334278n0vlq9s-glslang-1.3.231.0/lib/glslang/glslang-targets.cmake")
Signed-off-by: Chuang Zhu <git@chuang.cz>
2023-05-02 15:46:45 -06:00
Sven-Hendrik Haase
88fd417b0b
Fix locations of cmake files in side compat shims
...
In https://github.com/KhronosGroup/glslang/pull/3027 , the installed cmake files were
stuck into a /cmake subdir but this isn't reflected in these compatibility shims.
2022-11-16 16:54:09 -07:00
Andrea Pappacoda
1b32fc8eb2
build: install glslang-config.cmake to libdir
...
As glslang ships architecture dependant files, the Config file should be
installed to libdir, not datadir. See
https://github.com/KhronosGroup/glslang/pull/2989#discussion_r955367103
for more details.
Here's the diff between the install tree before and after this patch:
$ diff <(tree install-datadir) <(tree install)
1c1
< install-datadir
---
> install
74,99c74,98
< ├── lib
< │ ├── cmake
< │ │ ├── glslang-default-resource-limitsTargets.cmake
< │ │ ├── glslangTargets.cmake
< │ │ ├── glslangValidatorTargets.cmake
< │ │ ├── HLSLTargets.cmake
< │ │ ├── OGLCompilerTargets.cmake
< │ │ ├── OSDependentTargets.cmake
< │ │ ├── spirv-remapTargets.cmake
< │ │ ├── SPIRVTargets.cmake
< │ │ └── SPVRemapperTargets.cmake
< │ ├── libGenericCodeGen.a
< │ ├── libglslang.a
< │ ├── libglslang-default-resource-limits.a
< │ ├── libHLSL.a
< │ ├── libMachineIndependent.a
< │ ├── libOGLCompiler.a
< │ ├── libOSDependent.a
< │ ├── libSPIRV.a
< │ └── libSPVRemapper.a
< └── share
< └── glslang
< ├── glslang-config.cmake
< ├── glslang-config-version.cmake
< ├── glslang-targets.cmake
< └── glslang-targets-debug.cmake
---
> └── lib
> ├── cmake
> │ ├── glslang-default-resource-limitsTargets.cmake
> │ ├── glslangTargets.cmake
> │ ├── glslangValidatorTargets.cmake
> │ ├── HLSLTargets.cmake
> │ ├── OGLCompilerTargets.cmake
> │ ├── OSDependentTargets.cmake
> │ ├── spirv-remapTargets.cmake
> │ ├── SPIRVTargets.cmake
> │ └── SPVRemapperTargets.cmake
> ├── glslang
> │ ├── glslang-config.cmake
> │ ├── glslang-config-version.cmake
> │ ├── glslang-targets.cmake
> │ └── glslang-targets-debug.cmake
> ├── libGenericCodeGen.a
> ├── libglslang.a
> ├── libglslang-default-resource-limits.a
> ├── libHLSL.a
> ├── libMachineIndependent.a
> ├── libOGLCompiler.a
> ├── libOSDependent.a
> ├── libSPIRV.a
> └── libSPVRemapper.a
101c100
< 15 directories, 83 files
---
> 14 directories, 83 files
2022-08-25 23:15:14 +02:00
MACHIZAUD Andréa
fb64704060
Add unified glslang CMake config collecting glslang-targets targets ( #2989 )
2022-08-02 18:16:03 -06:00
Nathaniel Cesario
c8ef4f8a9f
cmake: Remove "conditions" from endif
...
See https://cmake.org/cmake/help/latest/command/endif.html and
https://cmake.org/cmake/help/latest/command/if.html .
If the else/endif condition does not match the if condition verbatim,
an error is produced on some versions of cmake. This change removes
these "legacy conditions."
2021-09-30 11:00:09 -06:00
Ben Clayton
cb261e3c21
License headers: s/Google/The Khronos Group
...
This was a copy-paste screwup, where the first line of the copyright had the company name was updated, but the company name mid way though was not.
2020-07-03 12:21:01 +01:00
Ben Clayton
1d21270ebf
Add missing copyright headers
...
Add copyright headers to build files and scripts.
Simplifies automated scanning for bad license headers.
2020-07-02 16:03:48 +01:00
Arfrever Frehtes Taifersar Arahesis
bd69a4fb12
Respect CMAKE_INSTALL_LIBDIR in installed CMake files
...
Fixes #1965
2019-11-18 11:11:55 -08:00
James Rumble
c6f7294ced
Handle install vs build include directories
...
Fix target_include_directories to appropriately handle build-tree and the install-tree.
2019-08-06 15:29:31 +01:00
James Rumble
ab6d1499e1
Export glslang targets on installation
...
This allows the targets to be used in other cmake projects. See the following for more details:
https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#creating-packages
https://foonathan.net/blog/2016/07/07/cmake-dependency-handling.html
2019-08-06 14:47:51 +01:00
John Kessenich
17b5f9175d
Merge pull request #969 from d3x0r/patch-1
...
Add option to skip installation
2017-07-04 11:00:42 -06:00
Rohith Chandran
6206091e63
Fix CMake scripts: The set_property script can be used to set only a single property, so now setting the POSITION_INDEPENDENT_CODE property correctly.
2017-07-04 10:53:45 -04:00
d3x0r
cde46127a1
Update CMakeLists.txt
2017-07-04 05:58:07 -07:00
David Seifert
22afc38b55
Modernise CMake #2
...
This reverts commit cfc69d95af .
* Change CMAKE_INSTALL_PREFIX default on Windows in order
to prevent permission denied errors when trying to install
to "Program Files".
2017-04-29 11:23:15 +02:00
John Kessenich
cfc69d95af
Revert "Modernise CMake"
2017-04-28 22:04:24 -06:00
David Seifert
5a5699bdbd
Modernise CMake
...
* Use `GNUInstallDirs` in order to respect GNU conventions.
This is especially important for multi-arch/multi-lib setups.
* Specify position independent mode building properly, without
using the historic hack of adding `-fPIC` as a definition.
This makes the build system more portable.
* Only detect C++ (and not C) to slightly speed up configuring.
* Specify C++11 mode using modern CMake idioms.
* Fix some whitespace issues.
2017-04-28 22:46:52 +02:00
Andrew Woloszyn
db0eaf9887
Updated cmake to better organize folders and options.
...
This adds solution folders that properly group gtest/glslang/hlsl.
This also marks gtest options as advanced so they don't show up
in cmake-gui by default.
2016-05-05 14:45:53 -04:00
Lei Zhang
3f460532cc
Remove duplicated cmake_minimum_required() calls.
2016-05-04 17:01:36 -04:00
David Neto
ed5fd5d846
Support compilation via MinGW
...
Change-Id: Ie52f0b1b2b20948c6f4b3cb5474537d36a5a3385
2016-03-16 15:41:31 -04:00
John Kessenich
bd0726be34
Build: Fix CMake files to find osinclude.h
2015-12-03 17:46:03 -07:00
baldurk
08dee03d18
Remove include_directories from CMakeLists, to enforce relative includes
...
* This also moves bison generated files into the source tree, so that
include of glslang_tab.cpp.h and includes from glslang_tab.cpp work
the same way.
2015-11-16 18:05:18 +01:00
John Kessenich
b63263267d
Second round line ending clean up, from fresh round trip.
2015-06-26 16:42:50 -06:00
John Kessenich
fde703438f
CMake: Collapse into a single library all the libraries under the glslang directory, and represent the proper hierarchy in MSVS. There are still a total of 3 libraries to link against: glslang, OGLCompiler, and OSDependent.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@26137 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-31 00:06:32 +00:00
John Kessenich
71241d8221
Allow choice of DLL or static CRT libraries through CMake options.
...
Also, some trivial miscellaneous build-related changes.
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25811 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-12 02:34:44 +00:00
John Kessenich
d18e2d8adc
Add CMake support for Visual Studio and installation, with an expected "install" for CMAKE_INSTALL_PREFIX, and updated test scripts to consume the CMake installation.
...
git-svn-id: https://cvs.khronos.org/svn/repos/ogl/trunk/ecosystem/public/sdk/tools/glslang@25791 e7fa87d3-cd2b-0410-9028-fcbf551c1848
2014-03-11 02:10:26 +00:00