Commit Graph

112 Commits

Author SHA1 Message Date
baldurk a9d58f10ab Disable pointless gcc 14 warning. Closes #3417 2024-08-23 12:13:20 +01:00
feng716 ddc606be0e move code to qrenderdoc/CMakeLists.txt 2024-07-10 05:24:12 +01:00
feng716 7bae53e098 fix compatibity problem
string sub-command REGEX mode MATCHALL does not support lists
2024-07-10 05:24:12 +01:00
feng716 2f7ebd461c replace GREATER_EQUAL with GREATER
GREATER_EQUAL is not supported in CMake 2.8
2024-07-10 05:24:12 +01:00
feng716 295677f566 fix relative path 2024-07-10 05:24:12 +01:00
feng716 3bd5f5a631 Add version determination 2024-07-10 05:24:12 +01:00
Aliya Pazylbekova 9ebd796cd8 Remove GGP support 2024-07-08 14:19:42 +01:00
baldurk 1fb29ce97d Explicitly build with C++14 everywhere
* This doesn't change our minimum specs as we already required GCC 5, clang 3.4,
  which fully support C++14. Interestingly only VS2015 is the odd one out but we
  don't rely on any features from C++14 that it doesn't support.
2024-04-10 14:38:05 +01:00
baldurk 32c946dd14 Search for newer python versions at build time 2024-01-30 16:51:03 +00:00
baldurk f2c1435a7d Make it more clear that wayland is unsupported at build time. Refs #3124 2023-11-13 11:45:39 +00:00
Er2 dcbbcee6a8 Add some fixes. 2023-11-06 14:42:45 +00:00
Er2 86cb3ebf80 Add FreeBSD operating system support. 2023-11-06 14:42:45 +00:00
Cam Mannett 5432a0576b Functional tests cannot be built in CMake >= 3.12
In development/CMakeLists.txt:477, the Python interpreter and libs are discovered. It uses the 'old' package discovery mechanism and the new depending on CMake's version.

However the old mechanism sets different variables to the new, so the new also sets the old vars for compatibility, however it is missing two variables.

The first missing var causes the Python minor version to be hardcoded to zero (renderdoccmd/CMakeLists.txt:9) and the second causes the later conditional (CMakeLists.txt:495) to be malformed.
2023-09-19 14:46:59 +01:00
baldurk 7c1164e060 Tidy up and implement support for self capture on linux 2023-07-31 15:45:32 +01:00
Jake Turner 1c925494ef Default Xcode option GPU Frame Capture to Disabled
The CMake option "CMAKE_XCODE_SCHEME_ENABLE_GPU_FRAME_CAPTURE_MODE" is available starting from CMake version 3.23.0.

Increase the minimum CMake version for building Apple to 3.23.0 from 3.20.0
2023-04-12 10:50:27 +01:00
Jake Turner 779a8af657 Set the minimum Mac SDK to 12.00 2023-01-05 21:33:34 +00:00
baldurk 8e2e0b6bb5 Disable -Wunused-value on gcc as it's buggy on gcc 12 it seems 2022-09-06 17:45:29 +01:00
baldurk cf4bc68806 Disable shortening/shadow warnings on android
* There are a lot of these issues in system or LLVM headers
2022-08-05 14:08:45 +01:00
Jake Turner ce60dd40b1 Tweak to compile with Apple Clang v13.0
macos-11 Apple Clang does not support -Wno-unused-but-set-variable

To fix CI

error: unknown warning option '-Wno-unused-but-set-variable'; did you mean '-Wno-unused-const-variable'? [-Werror,-Wunknown-warning-option]
2022-07-22 18:45:45 +01:00
Jake Turner 0d02425a87 Enable Clang warning "-Wshorten-64-to-32" 2022-07-21 11:49:49 +01:00
Jake Turner d7f286fb7d Enable Clang warning "-Wshadow" 2022-07-21 11:49:49 +01:00
Ryan Houdek fb91e7360a Add support for vulkan layer suffixes
While Renderdoc already supported multiarch for where to install the
libraries with the LIB_SUFFIX option. The Vulkan layer was left out of
this loop.

Vulkan layers living in `/usr/share/vulkan/implicit_layer.d/` will use a
suffix before the `.json` to separate libraries of different
architectures. These layer files will then point to the architecture
specific `library_path` inside that json file.

Also updates the check in `LayerRegistrationPath` so it handles the
suffix as well. This way `renderdoccmd` won't complain about conflicting
json files.
2022-07-18 19:40:55 +01:00
Jake Turner d361ebf7e1 Allow command line to override Apple cmake options
CMAKE_OSX_ARCHITECTURES
ENABLE_PYRENDERDOC
CMAKE_OSX_DEPLOYMENT_TARGET

Remove CMAKE_OSX_ARCHITECTURES default setting to build for multiple architectures.
Enable ENABLE_PYRENDERDOC to On by default for Apple.
2022-07-05 13:01:00 +01:00
baldurk 20744fb1a2 Fix cmake version check to work in older cmake 2022-03-18 14:10:28 +00:00
Jake Turner f01a4df484 Fix Xcode 13.3 and Clang 13.x compile errors
Disable warnings
-Wunused-but-set-variable
-Wdeprecated-copy
2022-03-17 09:36:44 +00:00
Jake Turner 39d11975b2 Update build requirements for Apple
CMake version 3.20 or higher (needed to support Xcode project generation)
clang version 12.0 or higher (needed to support arm64+x64 universal binary compilation)
XCode 12.2 is the oldest version which includes clang version 12.0
2022-02-19 11:17:33 +00:00
Jake Turner ce36cc340f CMake files base setup for Metal 2022-02-17 14:06:28 +00:00
Jake Turner e3e50fd9e4 By default disable ENABLE_PYRENDERDOC for Apple
Rather than a platform exception when building python modules
cmake variable UNIX is true when building for Apple platform
2021-11-23 10:32:45 +00:00
baldurk dc955079ab Fix RELEASE define on linux
* This fixes some debug text appearing in the resource inspector, and lets linux
  users submit manual bug reports from release builds.
2021-08-18 20:12:07 +01:00
Jake Turner 71243f505d Xcode generator setup for Apple
Restrict the schemes to match the configuration on the cmake command line
Disable Debug Document Versioning
Specify the executable path for build-qrenderdoc target
2021-06-08 09:22:31 +01:00
Jake Turner 99568927a2 Specify the Apple Xcode cmake output directories
For Xcode set the output directory to be the same for all configurations
By default Xcode puts binary and library outputs in a different folder per configuration
2021-06-08 09:22:31 +01:00
Jake Turner e8cfbd5a6f Mac build set the minimum SDK version to 10.15 2021-04-26 11:38:44 +01:00
Jake Turner bcfaed393d Build Apple universal binaries arm64 & x86_64 2021-04-23 09:20:26 +01:00
baldurk 72095ff35c Update cmake strip scripts on android to work with latest NDK 2021-03-26 16:55:27 +00:00
baldurk 7c62b80d89 Search explicitly for python3 with new python search
* This prevents the build from silently trying to use python2. We also require
  development files which were previously optional.
2021-02-24 13:52:08 +00:00
baldurk f3ae6873ea Look for python 3.9 in cmake 2021-02-24 13:52:08 +00:00
Jake Turner 423ca67fb2 cmake 3.19.4 changes to find Python 3 libraries and include files
When compiling on Mac Big Sur the previous (deprecated) find_package fails to find Python3 Libraries and Include files
2021-02-18 15:41:40 +00:00
baldurk 55febc88c4 Check shiboken2's python version matches python version we're linking to
* We also reverse Python_ADDITIONAL_VERSIONS so it finds the newest one. It
  doesn't seem like there's a way in general to make these match, so we hope
  that searching from newest to oldest will find the same in both - or at least
  it makes it easier for the user to fix by installing the newest in both.
2020-09-01 17:39:05 +01:00
Tim Gfrerer 07ee28c97f Allow Python 3.8 to be detected
Adds python 3.8 to the list of python 3 versions. 

Thank you so much for renderdoc!!
2020-08-21 11:07:11 +01:00
baldurk d020543065 Set -fno-strict-aliasing to prevent gcc from breaking tons of code
* Technically the code is incorrect, because the C++ spec is terrible and makes
  completely normal things illegal. GCC decides that a couple of % more perf is
  worth breaking lots of code, so instead we disable this class of
  "optimisation".
2020-07-28 15:30:45 +01:00
baldurk 560a9669f2 Log java versions in both PATH and under JAVA_HOME 2020-01-27 20:45:08 +00:00
baldurk d5ec212645 Change tautological compare warning flags 2019-12-16 18:36:37 +00:00
baldurk 0e3b1f4129 Add tautological compare warnings to clang builds
* This should help catch any accidental use of size_t with rdcstr find functions
2019-12-16 18:10:32 +00:00
baldurk 3df0c59935 Don't use -Wcomma in old versions of clang 2019-12-03 10:12:06 +00:00
baldurk 6d1d302491 Fix a number of warnings identified by higher clang warning levels
* We enable a couple of high signal-to-noise warnings in all clang builds
2019-12-02 20:41:28 +00:00
baldurk ff08748238 Ensure all files have trailing new-lines and enforce with clang warning 2019-12-02 20:28:05 +00:00
Alexandros Frantzis e8b696cbbf Use EGL directly for Wayland GL support
For Wayland support on GL we currently fall back to the GLES code path
just to get EGL. This commit uses the EGL platform directly for Wayland,
also removing the dependency on GLES.
2019-10-11 12:39:05 +01:00
Alexandros Frantzis 616a355a63 Make EGL support independent of GLES support
EGL (>= 1.4) supports desktop GL, in addition to GLES. This commit makes
EGL support independently configurable at build time, to allow GL to use
it even if GLES is not needed or available.
2019-10-11 12:39:05 +01:00
baldurk 6d40bbb783 Add experimental wayland support. Refs #853
* This is only lightly tested and may break heavily. It is disabled by default
 and must be explicitly enabled.
* In particular this is only known to work for Wayland use at capture time.
 Wayland on replay is still unsupported. Known issues include: EGL pbuffer
 surfaces are not implemented on Wayland, Wayland cannot get window dimensions,
 and there are hangs/failures with GL and vulkan presentation with Wayland.
2019-09-02 15:02:27 +01:00
baldurk 679a71c345 Don't use -Werror on any kind of release build 2019-07-01 14:56:11 +01:00