Commit graph

17 commits

Author SHA1 Message Date
JakobDev
7aba1b2aab
Change App ID (#266)
* Change App ID
2022-12-31 05:01:45 +01:00
Fabio Cavallo
cdb3e7927f
Fixed compiling on Linux distributions that using the legacy libGL library.
From https://cmake.org/cmake/help/latest/module/FindOpenGL.html:
```
Linux-specific¶

Some Linux systems utilize GLVND as a new ABI for OpenGL. GLVND separates context libraries from OpenGL itself; OpenGL lives in "libOpenGL", and contexts are defined in "libGLX" or "libEGL". GLVND is currently the only way to get OpenGL 3+ functionality via EGL in a manner portable across vendors. Projects may use GLVND explicitly with target OpenGL::OpenGL and either OpenGL::GLX or OpenGL::EGL.

Projects may use the OpenGL::GL target (or OPENGL_LIBRARIES variable) to use legacy GL interfaces. These will use the legacy GL library located by OPENGL_gl_LIBRARY, if available. If OPENGL_gl_LIBRARY is empty or not found and GLVND is available, the OpenGL::GL target will use GLVND OpenGL::OpenGL and OpenGL::GLX (and the OPENGL_LIBRARIES variable will use the corresponding libraries). Thus, for non-EGL-based Linux targets, the OpenGL::GL target is most portable.

A OpenGL_GL_PREFERENCE variable may be set to specify the preferred way to provide legacy GL interfaces in case multiple choices are available. The value may be one of:

GLVND
    If the GLVND OpenGL and GLX libraries are available, prefer them. This forces OPENGL_gl_LIBRARY to be empty.

    Changed in version 3.11: This is the default, unless policy CMP0072 is set to OLD and no components are requeted (since components correspond to GLVND libraries).
LEGACY
    Prefer to use the legacy libGL library, if available.

For EGL targets the client must rely on GLVND support on the user's system. Linking should use the OpenGL::OpenGL OpenGL::EGL targets. Using GLES* libraries is theoretically possible in place of OpenGL::OpenGL, but this module does not currently support that; contributions welcome.

OPENGL_egl_LIBRARY and OPENGL_EGL_INCLUDE_DIRS are defined in the case of GLVND. For non-GLVND Linux and other systems these are left undefined.
```
2022-12-27 09:45:58 +01:00
Fabio Cavallo
594b266668
Added a cmake option to disable portable mode handling (useful in sandbox environments like Flatpak).
https://github.com/punesemu/puNES/issues/213.
2022-12-20 11:51:02 +01:00
fhorse
45a55f4d8f Fixed https://github.com/punesemu/puNES/issues/239.
CMake 3.22.1 does not correctly interpret the conditional generator expression inside target_link_libraries when the library list is multiline. I could have put everything on one line but I preferred to treat the list externally to be able to manage it better.
Updated the README with instructions to successfully compile with Ubuntu.
2022-11-06 01:15:35 +01:00
fhorse
2af242f7e7 Added support for QT6. 2022-11-02 20:11:56 +01:00
fhorse
79208b8d80 Other small tweaks.
- The minimum CMake version required is 3.14 (for "FetchContent_MakeAvailable").
- Improved management of old QT5 and old FFmpeg libraries (allowing compilation even on old distributions).
2022-11-02 17:00:08 +01:00
Azamat H. Hackimov
397ae9606b
Install targets for cmake (#238)
* Install targets for cmake
2022-11-02 13:13:22 +01:00
fhorse
1fce4c46dc Typos. 2022-11-01 10:43:18 +01:00
fhorse
887b5673a6 Small fixes. 2022-10-31 17:18:06 +01:00
Azamat H. Hackimov
3c011e0ce7 Introduce ENABLE_FULLSCREEN_RESFREQ option
This option enables/disables X11 dependency for Linux/FreeBSD/OpenBSD. Windows does not requires any additional dependencies so it always enabled.
2022-10-31 16:52:36 +01:00
fhorse
d05713fb3d The minimum version of QT5 is 5.6.3. 2022-10-31 00:38:54 +01:00
fhorse
e104784b55 I cleaned up the compilation management under windows. 2022-10-30 22:31:42 +01:00
fhorse
1353cab548 Added cmake support under Windows. 2022-10-30 10:45:43 +01:00
fhorse
c566d10b37 Added cmake support under FreeBSD and OpenBSD as well. 2022-10-27 09:56:15 +02:00
Azamat H. Hackimov
29940ab349 Untie xdelta subproject from main project
Since punes requires only one file from xdelta, there no point to
configure it with main autotools project, so let's just configure only
required macros for it.
2022-10-25 16:14:12 +02:00
Azamat H. Hackimov
238830f720 Add xdelta3 config.h generation
Mimic autotools config.h generation with only really needed macros.
2022-10-25 16:14:12 +02:00
Azamat H. Hackimov
7070ebe11a Implementing first version of CMake project
Reworked translation, MOC and UI file generations to fit them for CMake's AUTOMOC/AUTOUIC/AUTORCC default approach.
2022-10-25 16:14:12 +02:00