summaryrefslogtreecommitdiff
path: root/CMake
AgeCommit message (Collapse)Author
2022-11-24CMake building: improve messages about necessary software packagesManoloFLTK
2022-11-23CMake build for Wayland/X11 hybrid: check for libx???-dev packagesManoloFLTK
2022-11-23Fix whitespace (trailing spaces)Albrecht Schlosser
2022-11-23Have OPTION_USE_WAYLAND / --enable-wayland set to ON by defaultManoloFLTK
2022-11-23Wayland+CMake: stop forcing GTK_FOUND to 0ManoloFLTK
This removes the cause of this developer's message # FIXME: This needs to be redesigned! Forcing GTK_FOUND to 0 (NO) is a bad # FIXME: idea because there could be unwanted side effects. AlbrechtS
2022-11-18CMake+Wayland: check for presence of required software modulesManoloFLTK
Also, remove hardcoded path to wayland-protocols when CMake version ≥ 3.4
2022-11-13Make building Fluid optional. (#539)Matthias Melcher
2022-11-11CMake: improve debug macrosAlbrecht Schlosser
2022-11-08Wayland + CMake: fix generated fltk-config that lacked -lX11ManoloFLTK
2022-10-16macOS + homebrew: restore building with CMake's OPTION_APPLE_X11ManoloFLTK
These option combinations work: -DOPTION_APPLE_X11 -DOPTION_APPLE_X11 -DOPTION_USE_CAIRO But -DOPTION_APPLE_X11 -DOPTION_USE_PANGO is not possible because homebrew doesn't provide the pangoxft package.
2022-09-09New OPTION_WAYLAND_ONLY for CMake to build pure Wayland platform.ManoloFLTK
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-05-21Wayland under FreeBSD: detect <GL/glu.h> and fix LIBDECOR_PLUGIN_DIR.ManoloFLTK
2022-04-07Reorder CMake build options for better order of include directoriesAlbrecht Schlosser
This is only one minor step to remove issues of some CMake options that can cause conflicting include directories ("-I..." switches). See implementation note in CMake/options.cmake.
2022-04-05CMake: Restore removed HAVE_LIBPNG settingAlbrecht Schlosser
This was removed unintentionally.
2022-04-04Remove obsolete config variable 'HAVE_LIBPNG_PNG_H'Albrecht Schlosser
This variable has never been used in the code. Configure and CMake look for a *working* libpng (HAVE_PNG) and set variable HAVE_PNG_H if the header <png.h> can be included. The alternative to include <libpng/png.h> is always used in the #else clause and doesn't need its own config variable. Configure and CMake log what they find, hence this extra variable is not necessary.
2022-04-03Build and use fluid-cmd on Windows for .fl files (#224, #293)Albrecht Schlosser
On Windows fluid.exe is a "GUI" program and does not allow console output which can be a problem in automated builds. In Visual Studio the fluid GUI program would pop up console windows when generating .cxx and .h files from .fl files. The new (additional) fluid-cmd.exe is built as console application for users that need it and it is used in the FLTK build process on Windows to convert the .fl files.
2022-04-03Improve libpng header search (notably on macOS)Albrecht Schlosser
Fix usage of internal cache variables so users can switch between system and builtin libpng reliably.
2022-03-26CMake: Don't install man pages of game programs (issue #23)Albrecht Schlosser
I decided not to install the man pages for consistency because we don't install the executable programs. The instructions are commented out only so they can be activated easily if this will be changed, i.e. if we decide to install the test/game programs in the future. Closes #23
2022-03-26CMake: Remove obsolete platform dependent instructionsAlbrecht Schlosser
The intended effect (building a Windows "GUI" application), is correctly achieved using the "WIN32" option of add_executable() selectively where appropriate rather than setting this platform specific option for *all* (Windows) executables when using GNU compilers (MinGW, MSYS2, Cygwin, ...).
2022-03-26CMake/MSVC: limit "/utf-8" to VS 2015 and later (PR #415)Albrecht Schlosser
According to PR #415 this switch was added in Visual Studio 2015 Update 3. However, version "1900" does not distinguish updates, hence Visual Studio 2015 up to Update 2 may fail to compile with this addition. Installing the updates would obviously fix this.
2022-03-26Add UTF-8 encoding support in setup.cmake for MSVC (PR #415)ZJUGKC
The source files are all encoded by UTF-8 without BOM. This will raise warnings and errors when compiling by the MSVC with some active code pages (ACP). The file `test/ask.cxx` contains such characters with UTF-8 encoding. Adding `/utf-8` here is equivalent to specifying `/source-charset:utf-8 /execution-charset:utf-8`, and all warnings and errors are removed.
2022-03-25CMake: add missing variable initializationAlbrecht Schlosser
Although CMake uses previously undefined variables like empty strings it could happen that variables set in the calling context by other projects initialized some variables with unexpected values. Example: FLTK_LIBRARIES could have been initialized by previous execution of 'find_package(FLTK ...)' in a project using FLTK
2022-03-22Restore CMake build with OPTION_USE_GL=0ManoloFLTK
2022-03-13CMake: Improve fltk-config generationAlbrecht Schlosser
- set executable permissions on MinGW and more platforms - add missing link libraries - improve code formatting (indent) - mark some variables as advanced - simplify search for glib-2.0
2022-03-13Fix CMake version test in setup.cmakeAlbrecht Schlosser
Note: CMake operator 'VERSION_GREATER_EQUAL' was added in CMake 3.7 but we allow 3.2.3
2022-03-13CMake/Windows (MSVC): remove confusing CMake warningAlbrecht Schlosser
The Visual Studio generator does often not find GL/glu.h and locale.h although these headers are in the Visual Studio SDK. The warning has been changed to "info" and the unnecessary and sometimes confusing recommendation to rerun CMake has been removed.
2022-03-13CMake: Improve configuration summary, add fl_debug_pkg macroAlbrecht Schlosser
fl_debug_pkg(...) can be used to display CMake variables set by executing pkg_check_modules(). This is for CMake debugging only. The CMake configuration summary displays configuration options of Wayland, Pango, Xft, and Cairo configuration.
2022-03-07CMake/MinGW/MSYS2: fix building examples with libglew32 (#226)Albrecht Schlosser
CMake/resources.cmake: add NAMES option to find_library examples/CMakeLists.txt: fix linking libGLEW/libglew32
2022-03-04Add the Wayland platform to FLTK 1.4ManoloFLTK
2022-01-23Remove experimental platforms Android, Pico, SDL (PR #376)Albrecht Schlosser
... as discussed in fltk.coredev: "FLTK 1.4.0 release schedule" https://groups.google.com/g/fltkcoredev/c/PDbHTRpXVh0/m/JqboexZ_AwAJ
2021-12-20CMake: export Cairo include directories (issue #350)Albrecht Schlosser
If a user project is built using a FLTK library generated by CMake with Cairo support then the CMake variable FLTK_INCLUDE_DIRECTORIES now includes the required Cairo include directories.
2021-12-18Generate FL/fl_config.h rather than FL/abi-version.hAlbrecht Schlosser
... as discussed in fltk.coredev in thread "RFC: introduce public config header <FL/fl_config.h>", see: https://groups.google.com/g/fltkcoredev/c/xLCs1AIXMVo/m/MHZpQggzAQAJ - Rename abi-version.h to fl_config.h, rename input files, update dependencies, .gitignore, CMake, configure and Makefiles. - Include Cairo options in FL/fl_config.h - Rename FLTK_USE_CAIRO to FLTK_HAVE_CAIROEXT for consistency. - Include <FL/fl_config.h> in config.h and wherever necessary, fix include order (move FL/Fl.H to the top) and more. - Move USE_X11 to fl_config.h and rename to FLTK_USE_X11 - Do not include <config.h> in Cairo demo program which is no longer required in Cairo programs since FLTK 1.4.0
2021-12-18Remove unused and outdated demo, update dependenciesAlbrecht Schlosser
- remove test/connect.cxx - fix typos in comments in a related android file - update dependencies
2021-12-08Fix for issue #278 - continued : add CMake OPTION_USE_KDIALOGManoloFLTK
Use of the kdialog command by class Fl_Naive_File_Chooser can now be turned off at build-time through CMake OPTION_USE_KDIALOG. If building via configure + make, set #define USE_KDIALOG to 0 in config.h before make.
2021-12-03CMake for Apple Xcode usability improvementsMatthias Melcher
2021-11-26Fix for issue #253: Remove xdbe supportManoloFLTK
2021-11-11CMake: Build fluid when cross-compilingAlbrecht Schlosser
2021-07-26Add CMake compatibility functions and macrosAlbrecht Schlosser
CMake/compatibility.cmake: define functions and macros to be used if a particular CMake functionality requires a higher CMake version than FLTK's minimum CMake version, see 'cmake_minimum_required(...)' in the root CMakeLists.txt. Note: target_link_directories() is available since CMake 3.13
2021-07-21Call pthread's recursive mutex on Linux (Issue #245)Albrecht Schlosser
Add CMake test for PTHREAD_MUTEX_RECURSIVE Add autoconf/configure compile test for PTHREAD_MUTEX_RECURSIVE Replace "#ifdef PTHREAD_MUTEX_RECURSIVE" with "#ifdef HAVE_PTHREAD_MUTEX_RECURSIVE" and define HAVE_PTHREAD_MUTEX_RECURSIVE in config.h
2021-05-31Windows platform: use GDI+ to antialias oblique lines and curves.ManoloFLTK
2021-05-13Refactor macOS bundle generation to avoid "quarantine"Albrecht Schlosser
macOS Big Sur 11.3 introduced a new "security feature" such that app bundles created from existing bundle templates in downloaded files (tar distibutions, expanded) could no longer be executed without unsetting the "quarantine" attribute. This commit fixes this by creating all bundles from scratch. Known *workaround* for older tarballs and snapshots: $ xattr -d -r com.apple.quarantine xxx.app
2021-04-30CMake: improve detection and configuration of image libsAlbrecht Schlosser
Also: fix old (pre 3.13) link_directories() usage
2021-04-30Fix build with Cairo for CMake < 3.13Albrecht Schlosser
target_link_directories() was introduced in CMake 3.13
2021-04-26CMake: Document FLTKConfig.cmake and set FLTK_INCLUDE_DIRAlbrecht Schlosser
Some of the output variables had not been documented, and the "new" variable for FLTK include directories is 'FLTK_INCLUDE_DIRS' (plural) rather than 'FLTK_INCLUDE_DIR'. FLTK_INCLUDE_DIR is now also set for compatibility with FindFLTK.cmake supplied by CMake.
2021-04-11Fix CMake install procedure (#212)Albrecht Schlosser
Only install header files to the FL/ include directory.
2021-04-08Fix CMake warningAlbrecht Schlosser
2021-04-08Fix macOS bundle: set missing fields for test appsAlbrecht Schlosser
- MACOSX_BUNDLE_BUNDLE_NAME: CFBundleName - MACOSX_BUNDLE_GUI_IDENTIFIER: CFBundleIdentifier test/demo.cxx: Remove confusing quotes from demo variable output.
2021-03-01Fix cairo build (autoconf + CMake) + README'sAlbrecht Schlosser
- rewrite to use pkg-config with both autoconf + CMake - remove hardcoded library names - fix build dependencies and search directories - remove or replace old and unused variables - update README files To be done: - implement fallback for autoconf/configure if pkg-config is missing - fix pango build (uses cairo internally)
2021-02-16Create classes Fl_XXX_Gl_Window_Driver according to driver model.ManoloFLTK