Commit Graph

96 Commits

Author SHA1 Message Date
Albrecht Schlosser 720b84ef9d CMake: refactor and reformat CMake files
- raise minimum CMake version from 2.6.3 to 3.2.3 (Jun 01, 2015)
- indent all CMake files according to the CMP (2 col.)
- refactor FLTK version number definitions and usage
- unify CMake and autoconf/configure variable names:
  - FL_VERSION -> FLTK_VERSION
  - FL_MAJOR_VERSION -> FLTK_VERSION_MAJOR
  - etc. for _MINOR_ and _PATCH_, respectively
  - note: this does not affect FL_VERSION etc. in source code
- generate "export headers" for all libraries (experimental: OFF)
- port some forgotten goodies from branch-1.3 to master
- merge and improve macro 'create_example' (WIP)
- remove "temporary" options and code for older CMake versions
- include and use 'GenerateExportHeader' (experimental, WIP: OFF)
  - note: created header files are not yet used
- build only *one* DLL with Visual Studio (tested, works)
  - similar to the bundled IDE projects in 1.3.x
- add some dynamically linked test/demo programs ('*-shared')
  if shared libraries are built (WIP)
- split 'macros.cmake': use one file per macro
2020-07-15 00:34:53 +02:00
Albrecht Schlosser f09e17c3c5 Remove $Id$ tags, update URL's, and more
- remove obsolete svn '$Id$' tags from all source files
- update .fl files and generated files accordingly
- replace 'http://www.fltk.org' URL's with 'https://...'
- replace bug report URL 'str.php' with 'bugs.php'
- remove trailing whitespace
- fix other whitespace errors flagged by Git
- add and/or fix missing or wrong standard headers
- convert tabs to spaces in all source files

The only relevant code changes are in the fluid/ folder where
some .fl files and other source files were used to generate
the '$Id' headers and footers.
2020-07-06 20:28:20 +02:00
ManoloFLTK 26e6c3f930 Add classes Fl_SVG_File_Surface and Fl_EPS_File_Surface to draw to SVG and EPS.
Test programs device and pixmap_browser use these new classes.
Class Fl_SVG_File_Surface can be optionally made non functional using the
--disable-svg configure option or turning off OPTION_USE_SVG in CMake.
Class Fl_EPS_File_Surface can be optionally made non functional using the
--disable-print configure option or turning off OPTION_PRINT_SUPPORT in CMake.
2020-06-27 09:56:00 +02:00
Albrecht Schlosser 69d58f485a Remove superfluous dependency on forms library
Some of the test programs were linked with libfltk_forms which was
unnecessary. The only one requiring this is the forms demo.

[CMake] reordered linked FLTK libs in dependency order.
2020-06-21 13:39:25 +02:00
Albrecht Schlosser b8318480f5 CMake: Build static and shared libs side-by-side
Clean up library and variable names.
Remove '_SHARED' suffix from library (output) filenames.

This commit was inspired by David Runge ('dvzrv'), thanks.
See PR #21.

Fixes #21
2020-06-13 14:22:22 +02:00
Matthias Melcher 7e5d6df711 Added Fluid file to Checkers as a tool to inline the PNG images. 2020-01-03 22:53:56 +01:00
Matthias Melcher d97836f5dd macOS: fixed all demo programs that need to access resources
MacOS uses bundles instead of executables. CMake creates those bundles in various locations, depending on the generator used (Xcode or Makefiles). I tried to fix all instances where demo apps did not find the resources they needed. This probably must be done for Linux and MSWindows as well.
2019-12-23 14:33:24 +01:00
Greg Ercolano d31b89798f Fix missing quotes in CMakeLists.txt change. 2019-06-22 09:50:10 -07:00
Greg Ercolano c9c51dbc48 Fix issue #29: Updated buggy/ugly checkers piece icons
OP noticed our one-bit xbm images demonstrated an X11 driver bug
on certain hardware. While it's good that our test programs show the bug
(e.g. test/bitmap), it's bad that our games do.

Removed the 16 xbm files used by checkers which simulated transparency
with dithered images, and replaced with 4 "hexdump" png files that are
cleaner/simpler looking for such lores pieces (46x46 pixels).

Will follow up with a separate commit for the source .png and gimp .xcf
file I used for making the pieces.
2019-06-22 09:02:06 -07:00
Albrecht Schlosser c92f992380 CMake: Cairo demo must also be built w/o Cairo
The Cairo demo program (test/cairo_test.cxx) can and should be built
even if Cairo is not configured with CMake as it is done with
autotools (configure/make).

The message window shown when Cairo support is not available has been
improved (is more explicit and has a window title).
2019-02-12 15:09:42 +01:00
Matthias Melcher 2f0e45e7a7 Android CMake: icons, docs, more apps 2019-01-17 21:29:24 +01:00
Matthias Melcher 111985665d Andoird CMake: trying to autocreate Fluid files 2019-01-17 00:49:44 +01:00
Matthias Melcher 563baced13 Android CMake: fix, more autogenerated files
Fixed a bug that would cause an error is Android Build was NOT
defined. Creating list of test targets automatically.
2019-01-16 02:12:29 +01:00
Matthias Melcher 6de1c93e54 Android CMake: macro for multiple tests
Added a macro that creates the IDE files for a named test.
This is just a rough layout and will only work for the
simpelest of test targets.
2019-01-16 01:25:59 +01:00
Matthias Melcher a4fc8b06e1 Fixed typo in test/Cmake 2019-01-15 01:32:26 +01:00
Matthias Melcher b450cea7e2 Android: starting to use CMake to build AndroidStudio files. 2019-01-15 01:22:18 +01:00
Matthias Melcher 42555053a1 More Android changes.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12699 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-03-02 20:03:04 +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
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
Albrecht Schlosser 16774ddc4e Rename test/help demo program to test/help_dialog.
This change avoids a name conflict with CMake's auto-generated target 'help'
for "Unix Makefiles", "Ninja", and supposedly other generators as well.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12171 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-02-08 02:06:52 +00:00
Albrecht Schlosser ace85426bc [CMake] Improve sound support detection.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11781 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-06-14 11:00:29 +00:00
Manolo Gouy cba54044a7 Fix building on FreeBSD that failed for test programs requiring audio output.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11769 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-06-07 10:39:15 +00:00
Manolo Gouy a6b31a05af CMake on Mac OS: copy support files to application bundles.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11740 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-15 14:07:48 +00:00
Albrecht Schlosser 020a96b4a8 Fix more compiler warnings.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11536 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-04-05 21:15:45 +00:00
Albrecht Schlosser 3f401f4477 Add Ian's offscreen test program.
Same commit as branch-1.3, svn r11287.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11288 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-05 00:53:40 +00:00
Albrecht Schlosser b69fbf21bf [CMake only] Add examples/fltk-versions to test programs.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11135 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-09 01:22:51 +00:00
Albrecht Schlosser 6cc67c18f2 Reflect changes in new Windows IDE (Debug Mode).
Windows executables in Debug mode don't have the trailing 'd'
they used to have with the old (bundled) IDE files.
The removal of 'd' (e.g. from askd.exe) was removed.

Also prepared test/CMakeLists.txt for a better installation
path of test files (copied from the source directory).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11090 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-30 21:00:12 +00:00
Manolo Gouy 3ec8bab10e CMake build on Mac OS: r10688 was not a good move because it works with
the makefiles generator but not with the Xcode generator. Stepping back one commit.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10689 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-08 12:16:52 +00:00
Manolo Gouy 4b5b11a1cb CMake building on Mac OS: use a simpler way to put files within app bundles.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10688 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-08 11:37:14 +00:00
Albrecht Schlosser b89035f360 Add new animated demo to CMakeLists.txt, update .gitignore and svn props.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10643 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-18 13:31:59 +00:00
Albrecht Schlosser 24dd515f30 [CMake] Fix creation of example directory when copying support files.
This was a regression introduced in svn r 10573 that affects new builds,
when the target directory for test files (bin/examples) doesn't exist yet.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10577 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-13 12:16:38 +00:00
Albrecht Schlosser 5b801eae16 [CMake] Copy support files for demo programs to build directory (incomplete).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10573 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-11 15:15:46 +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
Albrecht Schlosser eb1af07952 Add Fl_Window::wait_for_expose() and test program (STR #3124).
Also modified .gitignore, svn-properties, Makefile and CMake-Files.

Todo: test/twowin.cxx and test/windowfocus.cxx need to be added to ide files
(MS VC++ and Xcode).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10339 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-09-26 23:58:05 +00:00
Pierre Ossman f58b1a91b3 Add ability to set custom icons for windows. STR #2816.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10197 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-06-16 11:39:32 +00:00
Manolo Gouy bc509d32eb Fix STR #2504 (first part). Replaced HAVE _CAIRO by FLTK_HAVE_CAIRO and USE_CAIRO
by FLTK_USE_CAIRO everywhere.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8198 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-06 10:24:58 +00:00
Albrecht Schlosser 8c56fc7e22 Updated CMake files with patches from Michael Surette (STR #2317).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7919 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-30 10:34:43 +00:00
Albrecht Schlosser 6bd9230bcf Updated CMake files and removed now obsolete test/tree.cxx and
test/tree.h files.
Note: CMake not yet tested with these modifications.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7675 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-07-10 14:25:46 +00:00
Albrecht Schlosser 1ad2e5bf81 Added missing examples in CMake files: applied missing_examples_7473.patch
(STR #2317).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7528 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-18 15:09:04 +00:00
Albrecht Schlosser a0d26b634a Mostly rewritten CMake files by Michael Surette. They are more complete
than what we had previously, but may need some more testing. The latest
changes (removing old APPLE_QD definitions and code) might need another
update.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7451 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-04-05 22:33:58 +00:00
Albrecht Schlosser ff861ae5c0 Added missing table and tree examples to CMake build files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7011 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-01-15 16:07:19 +00:00
Albrecht Schlosser ec908230a1 Added Fl_Table, Fl_Tree, and Fl_Native_File_Chooser CMake build files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7010 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-01-15 16:02:00 +00:00
Albrecht Schlosser 1b2df88ed0 More CMake updates (STR #2244):
- added missing files in src/CMakeLists.txt
 - added -DUSE_X11 for Unix builds
 - added new test/unittests program

Thanks to Yassine (yostane) for testing and helping to update the CMake files.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6847 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-08-30 21:15:43 +00:00
Michael R Sweet 1f2456132e Cmake updates (STR #645)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4026 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-06 00:17:50 +00:00
Michael R Sweet ca005c4067 Documentation updates (STR #568)
More CMake updates (STR #499)

The Watcom C++ compiler needed a small change (STR #567)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3869 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-10-18 20:29:58 +00:00
Michael R Sweet 1ca225e19d Added (unsupported) CMake files (STR #499)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3829 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-09-13 02:12:41 +00:00