aboutsummaryrefslogtreecommitdiffstats
path: root/cmake
Commit message (Collapse)AuthorAgeFilesLines
* Create CMake find module for finding pwqualityPierre Ossman2025-07-161-0/+47
| | | | So we use the standard method to find libraries.
* Create CMake find module for finding libsystemdPierre Ossman2025-07-161-0/+47
| | | | So we use the standard method to find libraries.
* Create CMake find module for finding libselinuxPierre Ossman2025-07-161-0/+47
| | | | So we use the standard method to find libraries.
* Create CMake find module for finding PAMPierre Ossman2025-07-161-0/+47
| | | | So we use the standard method to find libraries.
* Switch to built in libintl find modulePierre Ossman2025-07-162-41/+6
| | | | CMake now includes a module for this, so avoid doing it ourselves.
* Start linking libunistring statically as wellPierre Ossman2025-07-161-4/+2
| | | | MSYS2 now packages a static version of this library.
* Remove bogus gettext pkg-config referencesPierre Ossman2025-07-161-2/+1
| | | | We don't use pkg-config to find gettext, so these are not set.
* Always include libintl and libiconv for gettextPierre Ossman2025-07-161-13/+1
| | | | | These are the core libraries for gettext, so no need to check if they exist or not.
* Use CMake's standard method for find modulesPierre Ossman2025-07-168-143/+171
| | | | | Follow what CMake's own find modules do to get a consistent and understandable behaviour.
* Fix bad PATH_SUFFIXESPierre Ossman2025-07-165-9/+9
| | | | | | These headers are supposed to include that directory in the #include statements. Only reason this "worked" so far was because we always managed to rely on the pkg-config information rather than find_path().
* Handle Nettle's GMP dependency internallyPierre Ossman2025-07-162-2/+5
| | | | It's not something users of the find module should need to deal with.
* Split FFmpeg find module to independent modulesPierre Ossman2025-07-164-54/+99
| | | | | FFmpeg is a suite of independent libraries, and is often split up when packaged. Split our find modules the same way for clarity.
* Fix find modules' capitlizationPierre Ossman2025-07-163-5/+5
| | | | Follow the naming convention that the upstream project uses.
* Add standard comment to CMake find modulesPierre Ossman2025-07-165-8/+116
| | | | Follow the same style that CMake itself uses.
* Link nettle for hogweed in static buildsPierre Ossman2025-04-241-1/+1
| | | | | It is a requirement from hogweed, and we've apparently been lucky up until now that the ordering was correct.
* Simplify static linking of libgcc/libstdc++Pierre Ossman2025-02-041-26/+8
| | | | | The compiler does a fine job of this, so let's not try to duplicate that effort.
* Avoid .la files getting removed on "make clean"Pierre Ossman2024-10-291-2/+4
| | | | | | | | | | | | These are generated during the cmake stage, but cmake thinks they are generated during the build stage because of our rule to update the timestamp on them. As a result, it thinks they should be removed when doing "make clean". There doesn't seems to be an easy way to tell cmake to leave these alone. So instead, point cmake to a different marker file when updating the timestamps. We don't care if that gets removed as it has no valuable contents.
* Don't link gcrypt for static GnuTLSPierre Ossman2024-03-151-5/+0
| | | | | | GnuTLS seems to have dropped grypt support ages ago, so let's not confuse things by assuming it might be needed when linking GnuTLS statically.
* Move where -nodefaultlibs is specifiedPierre Ossman2023-06-281-4/+3
| | | | | | | The previous method isn't compatible with CMake's try_compile() as it will respect CMAKE_EXE_LINKER_FLAGS, but not CMAKE_C_LINK_EXECUTABLE and friends. This results in the default libraries being completely missing, and the compile test failing.
* Handle REQUIRED in our CMake "find" modulesPierre Ossman2023-04-174-0/+17
| | | | | These are expected to abort if they fail to find the relevant software and "REQUIRED" is specified.
* Create .la files at the end of the cmake runPierre Ossman2023-01-101-11/+32
| | | | | We might not have all the necessary information, e.g. all targets might not exist yet, until we're done going through all CMakeLists.
* Bail on missing librariesPierre Ossman2023-01-101-2/+2
| | | | They may be crucial, so refuse to continue if this happens.
* Fall back to dynamic libraries in .la filesPierre Ossman2023-01-101-3/+7
| | | | | This is what the linker does, so we should do the same for correct behaviour.
* Respect library search pathsPierre Ossman2023-01-101-1/+7
| | | | | Things might be in odd places, so make sure we respect where we're told to look for libraries.
* Include other targets in .la filesPierre Ossman2023-01-101-2/+5
| | | | | | We have internal dependencies that should be respected, as otherwise it will be up to the user of the .la file to figure out the correct order of the libraries.
* Handle alternative library suffixesPierre Ossman2023-01-101-1/+9
| | | | | I think this only affects macOS at the moment where they also have .tbd files for linking.
* Make sure frameworks are included in .la filesPierre Ossman2023-01-101-1/+9
| | | | | We don't really use the .la files for macOS at the moment, but let's try to be prepared.
* Remove unnecessary regexp \\Pierre Ossman2023-01-101-3/+3
| | | | | This serves no useful purpose as we have no reason to suspect there will be a dangerous first character in these variables.
* Fix static library check regexpPierre Ossman2023-01-101-1/+1
| | | | | Not sure how the old one ever worked as it incorrectly just tried to match last character and nothing else.
* Get target libraries from INTERFACE_LINK_LIBRARIESPierre Ossman2023-01-101-4/+6
| | | | | <target>_LIB_DEPENDS is an internal variable that contains lots of other weird stuff.
* Use correct FATAL_ERROR CMake optionPierre Ossman2023-01-101-1/+1
|
* Add fallback for finding gmpPierre Ossman2022-09-011-1/+5
| | | | | pkg-config support was added very recently to gmp, so a lot of platforms we want to support won't find gmp this way.
* Split gmp detection to separate modulePierre Ossman2022-09-012-4/+10
| | | | | It is a (weird) dependency of nettle, and not part of nettle itself. So split it to a separate module for clarity.
* Add support for RSA-AES security typespdlan2022-09-012-0/+26
|
* Find FFMPEG using pkg-configPierre Ossman2022-06-071-0/+17
| | | | | | This is the standard method of finding it on Unix systems, so make sure we use it. Still keep a fallback, though, for other systems, e.g. Windows.
* Use pkg-config for pixmanPierre Ossman2022-06-072-40/+9
| | | | | | This is the standard method of finding it on Unix systems, so make sure we use it. Still keep a fallback, though, for other systems, e.g. Windows.
* Add target_link_directory() compat functionPierre Ossman2022-06-071-0/+12
| | | | | | We need this function to deal with pkgconfig files properly, but unfortunately it doesn't exist until CMake 3.13, and we need to support CMake 3.10. So add a hacky compatibility function for older systems.
* Allow building with -DBUILD_VIEWER=OFFAlex Richardson2021-07-151-1/+1
| | | | | Without this change I get CMake errors due to use of ${FLTK_INCLUDE_DIR} and references to the non-existent vncviewer target.
* Fix bad library references for some static depsPierre Ossman2020-12-071-2/+2
|
* Add comment why unistring is linked dynamicallyPierre Ossman2020-12-071-0/+2
|
* Merge branch 'master' of https://github.com/mriphysicist/tigervncPierre Ossman2020-12-071-2/+47
|\
| * Update build system so it will compile on Windows 10.Danny Park2020-08-181-2/+47
| | | | | | | | | | | | With this commit, TigerVNC will compile for Windows using MSYS2, MinGW-w64 and Inno Setup 6. The resulting binaries have some dll dependencies (even with BUILD_STATIC). The required dll dependencies are not included in the installer. Unfortunately, the latest version of MSYS2 and MinGW-w64 do not produce a working executable for Windows 7.
* | Test packaging on TravisPierre Ossman2020-07-161-90/+0
|/ | | | Don't just build things, also test the various packaging.
* Merge branch 'regions' of https://github.com/CendioOssman/tigervncPierre Ossman2020-06-152-0/+41
|\
| * Switch region code to pixmanPierre Ossman2020-05-012-0/+41
| | | | | | | | | | This is the current upstream so let's make use of it to get the latest in features and fixes.
| * Also link in math library in static buildPierre Ossman2020-05-011-1/+1
| | | | | | | | | | It's included by default in dynamic builds so we need to make sure it isn't lost when switching to static.
* | Implement touch gesture handling on UnixAaron Sowry2020-05-291-2/+2
| | | | | | | | | | Allows the user to perform certain important mouse operations using touch gestures instead.
* | Implement X Input pointer handling for UnixAaron Sowry2020-05-291-0/+3
|/ | | | | | | | Switch from using Core events to using X Input events for pointer devices in order to differentiate between mouse events and touch events. Because FLTK doesn't understand X Input 2, we intercept these events and translate them to core events where possible.
* Use standard install dir variable namesPierre Ossman2020-03-121-2/+2
| | | | | This makes our builds directly compatible with most distributions without packagers/users having to specify extra flags.
* Fix C linking when doing static buildsPierre Ossman2020-03-121-2/+3
|