Commit Graph

100 Commits

Author SHA1 Message Date
ManoloFLTK
9ff6ad7885 Continue CMake support of the Darwin+XQuartz+fink test platform 2019-10-31 07:30:39 +01:00
ManoloFLTK
8c6f1b8ece Restore CMake support of Darwin + XQuartz + fink 2019-10-30 18:57:47 +01:00
Matthias Melcher
e25511131b Android: modifying CMake to also create AndroidStudio IDE 2019-01-14 23:27:34 +01:00
Albrecht Schlosser
de199c327e Add a CMake option to generate driver (developer) documentation.
Generating driver documentation can now be configured with CMake. The new
configuration OPTION_INCLUDE_DRIVER_DOCUMENTATION is "marked as advanced"
since only advanced users and/or FLTK developers need this.

Previously this could only be achieved by editing documentation/Doxyfile.in.

Added missing documentation option descriptions as well.
2018-12-29 20:35:10 +01:00
fabien
65d90c33dc Removes few tabs from options.cmake. When removing tabs, also apply cmp standard (two spaces) recommended indentation. 2018-12-22 15:01:20 -06:00
fabien
9338385da7 remove unnecessary double braces in option.cmake cairo detection code 2018-12-22 10:35:52 -06:00
fabien
e3b289e008 CMake CAIRO support minor improvements: Make the conditional code more readeable by reusing the already parsed PKG_CAIRO_FOUND variable instead of testing for it again, which also simplifies the preconditions testing. Fix typo (. in endif statement comment). 2018-12-22 08:26:56 -06:00
Albrecht Schlosser
88129db051 Improve CMake's Cairo detection and issue error message...
... if Cairo was requested (OPTION_CAIRO or OPTION_CAIROEXT) but
Cairo was not found. CMake generation is terminated with a fatal error.

The user has two choices: install Cairo libs and headers or disable
OPTION_CAIRO and OPTION_CAIROEXT.
2018-12-20 19:12:50 +01:00
ManoloFLTK
75293c1725 macOS + CMake + OPTION_APPLE_X11 : restore building of GLU-based test apps. 2018-12-16 19:01:56 +01:00
Matthias Melcher
b1598dc703 Removed macro FL_PORTING, as it has been more confusing than helpful.
The original intention of FL_PORTING was to mark all places in the
source code where changes are required to port FLTK to a new platform.
Thanks to the driver system, this approach has become somewhat
misleading, so I removed all references.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12969 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-06-23 17:04:18 +00:00
Albrecht Schlosser
e0a15603dd CMake/fltk-config: update fltk-config (LDFLAGS) for MacOS.
This is a preliminary patch to enable linking with pango on MacOS
when fltk-config is used. A better solution is under development.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12759 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-16 14:12:05 +00:00
Albrecht Schlosser
5c2d98a5fc CMake + configure: improve generation of fltk-config.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12692 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-25 19:25:45 +00:00
Albrecht Schlosser
c9d4df288c CMake: fix fltk-config generation for MacOS.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12687 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-24 13:44:06 +00:00
Albrecht Schlosser
7d1488507d CMake: Fix fltk-config for Windows and Unix/Linux.
This update ought to work with

  fltk-config [--use-images] [--use-gl] --compile <c source file>

on both Windows and Unix/Linux when built with CMake. It was tested
under Windows and Linux using fltk-config directly from the build tree,
but it should work as well after installation.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12686 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-23 19:41:52 +00:00
Albrecht Schlosser
c7b5d61eb0 CMake: add macro fl_debug_var to debug variables.
Some debug messages are included, but currently disabled.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12658 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-09 20:51:15 +00:00
Albrecht Schlosser
baffc84fa1 CMake: test option compatibility: Pango requires Xft.
Abort CMake configuration/generation if Xft is disabled or not found
but Pango is requested because Pango requires Xft support. A detailed
warning message is issued before the CMake generation is aborted.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12631 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-14 19:34:39 +00:00
Albrecht Schlosser
7aef0cad39 CMake: enable building FLTK in a subdirectory of another project.
Basically replace CMAKE_XXX_DIR with CMAKE_CURRENT_XXX_DIR where
XXX = SOURCE or BINARY.

Patch proposal by cleanrock, FLTK PR #4:
https://github.com/fltk/test-only/pull/4

Patch modified to fix target dirs for test programs and doxygen docs.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12630 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-10 20:49:03 +00:00
Manolo Gouy
9f0e9ff813 MacOS + CMake: restore use of OPTION_APPLE_X11 under MacOS 10.13
It's necessary to compile with -mmacosx-version-min=10.8 
and to link with -lfontconfig when Xft is used

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12627 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-08 20:52:48 +00:00
Manolo Gouy
1a28d85dc3 Add new Fl_SVG_Image class to support scalable vector graphics images using the (modified) nanosvg software.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12413 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-09-03 13:14:25 +00:00
Albrecht Schlosser
9d10d08ed0 [CMake] Add an option to use High-DPI support (Windows only).
This option can be used with CMake to configure the experimental
high-DPI support under Windows. The option may be removed once high-DPI
support under Windows is complete.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12338 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-07-18 20:15:02 +00:00
Albrecht Schlosser
90f6c8ee26 Update copyright year(s).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12282 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-29 18:12:57 +00:00
Albrecht Schlosser
3eb6b7ea58 CMake: replace improperly used variables with correct ones.
CMake variables FLTK_SOURCE_DIR and FLTK_BINARY_DIR are only defined
if the project name is exactly "FLTK" (all uppercase). These variables
are generated (set) by CMake as <PROJECT_NAME>_SOURCE_DIR etc.

The correct variables are CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR,
respectively, which are always defined.

This commit enables future changes of the FLTK project name, e.g. to
"fltk" or "fltk-1.4.0" (a versioned project name), if we like...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12281 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-29 17:51:27 +00:00
Manolo Gouy
461750c38e X11 platform: Add optional use of the pango library to draw text, gaining the possibility to draw text in any script supported by Unicode.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12153 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-21 15:05:02 +00:00
Albrecht Schlosser
307dd033f0 [CMake] Rewrite pthreads checks for compatibility with configure.
Main point: pthreads must not be checked under Windows (e.g. MinGW)
since Windows always uses native Windows threads (unless Cygwin is used).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12138 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-06 19:20:34 +00:00
Manolo Gouy
21781c3fe9 Add --enable-print option to configure to allow building without print support on X11 platforms.
Also, the NO_PRINT_SUPPORT preprocessor variable is renamed FL_NO_PRINT_SUPPORT.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12131 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-01 17:31:29 +00:00
Manolo Gouy
c794b5ecbd MacOS platform: restore CMake building with OPTION_APPLE_X11 on.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12128 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-01 06:31:25 +00:00
Manolo Gouy
e5e7fa9b1e Fix CMake building under Apple platform that used to set HAVE_GL_GLU_H to 0
On the Mac OS platform, file glu.h is not in a directory called GL.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-08-05 17:14:55 +00:00
Albrecht Schlosser
d0fa58f700 Clarification and better documentation of ABI version configuration.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11804 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-07-09 18:47:06 +00:00
Albrecht Schlosser
420408e7d3 [CMake] Mark OPTION_USE_POLL as advanced.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11292 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-05 13:29:46 +00:00
Matthias Melcher
fcdc7f1212 Made Pico/SDL setup compile and run some minimal code.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11274 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-03 00:07:17 +00:00
Matthias Melcher
53859c584f Add support for SDL as a base library on OS X.
This commit adds the basic setup in CMake to allow SDL as a base
library for FLTK on OS X (and probably for other platforms as well).

The SDL library driver set is derived from yet another new driver
set named 'Pico'. 'Pico' is a base class for a driver that will
allow porting of FLTK with the tinyest amount of effort. This 
implementation of the SDL driver shall be documented very well
to explain the porting process.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11262 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-02 00:54:37 +00:00
Matthias Melcher
478d633620 More device and driver setup.
- building the base structure to have a screen driver, a window driver, and a system driver
- still pondering over the exact implementation

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11147 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-10 13:04:24 +00:00
Matthias Melcher
572b7fe0b8 Starting CMake config to blend out filechoose and filename handling (shrins fltk massively if not needed)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11146 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-10 12:22:38 +00:00
Manolo Gouy
a8a777ff26 New CMake option OPTION_PRINT_SUPPORT turned ON by default
When the option is off, file config.h defines NO_PRINT_SUPPORT 
which in turn produces a library without print support, that is, 
class Fl_Printer does nothing.
When off, the FLTK library is somewhat smaller.
Can be turned off only when the X11 library is used.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11127 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-05 16:34:42 +00:00
Manolo Gouy
254cb01f54 Support of OPTION_APPLE_X11 by CMake: do not use hard-coded paths
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11125 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-03 10:20:03 +00:00
Manolo Gouy
f057cca22b To support OPTION_APPLE_X11
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11122 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-02 14:14:38 +00:00
Manolo Gouy
69ec698e41 Mac OS: modified CMake config files to allow use of OPTION_APPLE_X11
to build an X11-using version of FLTK on the Mac OS platform.
This matches the recent support of the --enable-x11 option
by the configure script on the mac.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10986 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-31 06:19:59 +00:00
Albrecht Schlosser
4f5e6e7732 Harmonize configure and CMake build system (part 1).
The files "config.h" generated by configure and CMake are now almost
identical, except a few comments and some still missing or failing
config tests, for instance checks for some functions in libraries.
[Note: tested and compared on Linux.]

configh.cmake.in: Fixed many #cmakedefine and #cmakedefine01 statements
  so they #define their variables as 0 or 1, or /* #undef */ it, resp.,
  as it is done in the configure build.

Added tests:
  - libXrender

Fixed tests:
  - function glXGetProcAddressARB

Todo (still failing tests in CMake):
  - HAVE_PNG_GET_VALID
  - HAVE_PNG_SET_TRNS_TO_ALPHA
  - HAVE_DLSYM

Other remaining issues:
  - compiler flags introduced in configure/make build
  - HAVE_SYS_NDIR_H - maybe missing test in configure ?
  - HAVE_SYS_DIR_H  - maybe missing test in configure ?
  - HAVE_NDIR_H     - maybe missing test in configure ?
  - WORDS_BIGENDIAN and #include <mac_endianness.h> ...
    i.e. Mac OS X specific #include needed or not ?



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10984 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-30 14:37:35 +00:00
Albrecht Schlosser
9adb181156 Make FL_ABI_VERSION configurable (STR #3161).
This commit adds the configure option --with-abiversion and the CMake option
OPTION_ABI_VERSION. Both options can be set e.g. to 10304 to build with
FL_ABI_VERSION = 10304 (FLTK 1.3.4).

For IDE builds there are new files ide/<IDE-NAME>/FL/abi-version.h that
can be edited to change the ABI version before the FLTK lib is built.
Note that this file MUST be copied to the include/FL directory if the
IDE-built library is to be installed.

The default is FL_ABI_VERSION = FL_MAJOR*10000 + FL_MINOR*100 + 0, i.e.
10300 for all FLTK 1.3.x versions to keep binary compatibility (ABI).

Todo: more tests and more documentation.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10786 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-12 19:23:55 +00:00
Albrecht Schlosser
f5bf727e37 [CMake] Add option to suppress CMake regeneration (STR #3215).
This option is marked as advanced and only available with CMake >= 3.0.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10721 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-25 22:57:17 +00:00
Albrecht Schlosser
5f3f1c8bc6 [CMake] Add doxygen documentation generation (STR #3195).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10720 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-25 21:42:51 +00:00
Albrecht Schlosser
e23bf0b768 [CMake] Fix CMake build's fltk-config (STR #3217).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10716 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-25 13:50:27 +00:00
Manolo Gouy
f7ffa787fc Don't use -pthread in link commands on Mac OS.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10681 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-07 09:05:24 +00:00
Albrecht Schlosser
6cf13f1308 [CMAKE] Remove -DUSE_X11 from fltk-config --c[xx]flags.
This flag is not needed and not used by fltk-config created by configure.
It is only used internally, and for this reason it is in config.h.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10557 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-06 18:18:15 +00:00
Albrecht Schlosser
c87147578d [CMake] Add missing build libraries (STR #3011).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10556 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-06 17:34:23 +00:00
Albrecht Schlosser
8e19bc8c6d CMake: fix a few typos.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10554 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-06 16:01:14 +00:00
Albrecht Schlosser
fd4784a340 Set correct svn properties on CMake files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10466 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-22 00:42:44 +00:00
Albrecht Schlosser
318c3619dc CMake enhancements, as discussed in STR #3055.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10342 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-27 00:41:06 +00:00
Pierre Ossman
332dc1b7ac Add method to set any custom cursor, based on a Fl_RGB_Image object.
Also change our fallback cursors to use this method, so that fallback
cursors are handled in a platform independent manner. STR #2660.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10196 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-16 11:17:57 +00:00
Albrecht Schlosser
f352740953 Split CMake files for better maintenance, as discussed in fltk.general.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10098 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-02-09 18:41:29 +00:00