summaryrefslogtreecommitdiff
path: root/CMake
AgeCommit message (Collapse)Author
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
2021-02-15Update CMake and make files, minor edits onlyAlbrecht Schlosser
There are no functional changes to be expected, mostly formatting and comments.
2020-10-28Pango ps (#148)ManoloFLTK
Use cairo-PostScript to output PostScript when pango is available. This allows to draw in vectorial form any script. Before, only the Latin script could be drawn to PostScript in vectorial form.
2020-09-01Fix version number in exported file FLTKConfig.cmakeAlbrecht Schlosser
2020-08-31Fix for cmake + macOS + OPTION_APPLE_X11 regarding GLU-using apps.ManoloFLTK
2020-08-31make + macOS: further fix to the construction of fltk-configManoloFLTK
2020-08-27Remove VERSION_GREATER_EQUAL that requires a more recent CMake version than ↵ManoloFLTK
3.2.3 Replace it by (NOT VERSION_LESS)
2020-08-26Fix cmake-based build under macOS with OPTION_APPLE_X11.ManoloFLTK
cmake now correctly finds GLU support when present.
2020-08-26Fix for cmake-based construction of the fltk-config script under macOS.ManoloFLTK
This also supports OPTION_APPLE_X11 and OPTION_USE_PANGO.
2020-08-26macOS: don't create bundles when using X11Albrecht Schlosser
2020-08-25Towards construction of fltk-config by CMake under macOS (WIP).ManoloFLTK
2020-08-21CMake: add examples folder to build (optional)Albrecht Schlosser
- replace misnamed option 'OPTION_BUILD_EXAMPLES' with 'FLTK_BUILD_TEST' - add option 'FLTK_BUILD_EXAMPLES' to build apps in examples folder - move examples/fltk-versions.cxx to test/fltk-versions.cxx - [Travis-CI] enable option 'FLTK_BUILD_EXAMPLES' for automatic builds
2020-08-18CMake: Fix macOS bundle wrapper generationAlbrecht Schlosser
Now bundle wrapper scripts are created in the particular build folder, i.e. in subdir 'Debug', 'Release' etc. in multi config builds (Xcode). To do this, the scripts are now copied whenever the target is built and not during the configuration phase. To do: "install" wrapper scripts.