Commit Graph

74 Commits

Author SHA1 Message Date
Albrecht Schlosser
5175192755 CMake: build shared libs with OPTION_CAIROEXT (issue #250)
- remove separate libfltk_cairo to avoid cyclic dependencies, but
- keep a dummy libfltk_cairo in 1.4.0 for backwards compatibility
- move cairo/Fl_Cairo.cxx to src/Fl_Cairo.cxx
- add preliminary Cairo support for Visual Studio (MSVC)

Static linking is not affected by this change, but users building
with hand-made Makefiles will have to remove libfltk_cairo starting
with FLTK 1.4.0. The dummy library can be linked for backwards
compatibility but it will be removed later (in 1.4.x or 1.5.0).

The shared FLTK library libfltk.{so|dylib|dll|..} depends on libcairo
if and only if FLTK is built with one of the Cairo options. This has
always been the case for OPTION_CAIROEXT but is now also true if only
OPTION_CAIRO is selected, i.e. FLTK programs linked with a Cairo
enabled shared FLTK library will also be linked with libcairo. The same
is true for configure options --enable-cairo and --enable-cairoext,
respectively.

Preliminary Cairo support for MSVC now detects a Cairo installation
using the CMake variable FLTK_CAIRO_DIR which must be set by the user.
Note that this feature is temporary and may be changed in the future
for a better and more comfortable version.
2023-03-09 17:34:05 +01:00
Greg Ercolano
b275ff0715 Fix for fltk when make install used 2022-01-23 03:10:13 -08:00
Greg Ercolano
6546814a23 For issue #358 - adds examples/cairo-draw-x.cxx
Since this is the first cairo example in the examples directory,
    it necessarily involved changes to the Makefile and to fltk-config
    to properly handle the absence/existance of the cairo libs.

    TBD: Add docs to the cario widget describing coordinate system
    and how it differs from the default cairo normalized coordinate system.
2022-01-16 15:22:16 -08:00
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
Albrecht Schlosser
c37ea8b6ca Fix line endings and other (svn) properties of fltk-config.in.
Remove executable property.
Set line ending to LF.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@13001 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-08-03 09:18:07 +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
Manolo Gouy
5a7f80c466 When targetting MacOS+X11, fltk-config should not bundle the executable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12150 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-12-19 14:35:08 +00:00
Albrecht Schlosser
0a6be0a83f Fix compiler warnings (STR 2988), porting from branch-1.3.
This commit is the accumulated patch introduced in branch 1.3
in svn r 11094, 11095, and 11096.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11097 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-31 04:33:54 +00:00
Albrecht Schlosser
fb172ecd3c Fix fltk-config for CMake build.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10787 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-07-12 22:32:30 +00:00
Albrecht Schlosser
1e249a9804 Remove unused variable 'bindir' from fltk-config and fix CMake local usage.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10555 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-06 17:03:54 +00:00
Manolo Gouy
e44018c1d2 Added the NSHighResolutionCapable item to fltk-config --post for fltk apps to be high-resolution ready.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@9861 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2013-04-05 15:28:43 +00:00
Greg Ercolano
4f4a8fc3c7 Modifications to all LGPL headers for STR #2685.
(to clarify static exception LGPL by changing license references)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8864 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-07-19 04:49:30 +00:00
Michael R Sweet
86688384ce Fix fltk-config --post - script wrapper for app bundle had broken dirname call.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@8149 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2011-01-01 00:10:38 +00:00
engelsman
e729fccaf9 added --prefix and --includedir flags to fltk-config (STR #2137)
also fixed typo in fltk-config.cmake.in (STR #2443)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7825 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-13 16:47:47 +00:00
engelsman
db8d9893eb Fixed fltk-config to give --use on one line (STR #2408)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7813 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2010-11-10 21:18:17 +00:00
Matthias Melcher
167d767e0f Changed the copyright to 2009 for header files. Still todo: src and test directory.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6614 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2009-01-01 16:11:32 +00:00
Matthias Melcher
7180c24f3c STR #1962: I tried to fix the configuration scripts so that the image support libraries (fltk_jpeg fltk_png fltk_z) are linked in the same fashion as the fltk_image library. Please verify this fix.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6609 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-12-29 17:10:12 +00:00
Fabien Costantini
268ffc6ef2 Cairo increment 2: Finer cairo granularity, less deps, new fltk_cairo lib
+ added new USE_CAIRO config preprocessor def. 
   to differentiate from HAVE_CAIRO so that we can use the cairo lib 
   without forcing the full fltk lib to be linked against it.
   In that case, cairo autolink context functionality which needs fltk lib 
   instrumentation is disabled.
 + added new --enable-cairoext, which correspond to previous --enable-cairo.
   now, --enable-cairo only adds HAVE_CAIRO def. and keeps fltk lib
   from referencing cairo.
   In both cases (--enable-cairo & --enable-cairoext), a new fltk_cairo lib is 
   created. This lib, similarly to local versions of png,jpeg and zlib, 
   is not generated if cairo is not enabled.
 + added cairo to fltk-config : now new --use-cairo flag is available
 + modified all unix like makefiles to now generate minimum cairo deps and also
   new libfltk_cairo lib.
 + added new cairo subdir to permit conditional fltk_cairo lib generation. 
 + vc2005 project minimum update to compile without be broken, but still needs
   to create a similar fltk_cairo independent lib. For now, it works as before
   with a dedicated cairo env. similar to --enable-cairoext context in unix.
 + regression tested ok with cairo disabled on win32, mac osx, mingw.
  


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6462 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-10-19 01:42:35 +00:00
Fabien Costantini
d436a13198 STR#2028 new fix: replace ' by \" for the $compile var wrapping in fltk-config.in.
Tested successfully on _both_ bash and sh shells,  on Mac OS X 10.5,linux fedora 4,latest cygwin/mingw.

Should also works under IRIX sh, please report feedback on other non bashed based unix platforms.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6177 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-08-29 09:15:26 +00:00
Michael R Sweet
bfbfe8a7b2 Revert change for STR #2028, which is not correct.
$(foo) is NOT portable, and nested quotes like "'$foo'" are required to do
variable expansion for POSIX compatibility.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6176 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-08-28 19:55:57 +00:00
Fabien Costantini
2718170bfd STR #2028 fix: single quotes changed to double quotes around the variable $compile to make it interpreted, Thanks alvin
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6175 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-08-28 18:12:23 +00:00
Michael R Sweet
18b431e02c Make sure script double-quotes $0...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6171 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-08-26 21:07:32 +00:00
Michael R Sweet
e9b9ec812d Use $@ for arguments passed to the bundled executable.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6170 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-08-26 19:21:22 +00:00
Michael R Sweet
ba2e9f3375 Make --post create a basic Mac OS X application bundle with a shell script
that executes the bundled program.

Change the defaults for Quartz, threading, large file support, XDBE, Xft,
and Xinerama to "yes".

Remove the old Mac OS X resource fork file.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@6142 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-07-13 21:39:07 +00:00
Matthias Melcher
ab406a8e79 STR 1875: fixed missing return value from 'fltk-config' for compiles that require a post run
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@6032 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2008-02-20 18:10:13 +00:00
Michael R Sweet
8f270ac7e3 Fix copy/paste error.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@6001 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-12-16 20:44:28 +00:00
Michael R Sweet
d76c1e8cd0 Remove unused variables.
Fix fltk-config --libs and fltk-config --ldstaticflags (STR #1799)


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5985 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-11-20 21:15:08 +00:00
Matthias Melcher
b2e0a1b087 STR #1624: Added --optim option for fltk-config which returns all flags for compilation that are not returned by --cflags or --cxxflags.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5733 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-03-06 20:00:04 +00:00
Matthias Melcher
5add80de70 Added POSTBUILD changes for fltk-config.in which I forgot earlier
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5730 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-03-06 19:13:54 +00:00
Michael R Sweet
31e948ed4b Update packaging files.
Remove --post code from fltk-config (--post is now ignore on all
platforms)

Remove outdated information from README.mac.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5664 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-02-06 19:44:10 +00:00
Michael R Sweet
47fb93aa3c Update pthreads configure test to work on more platforms.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5661 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-02-05 18:39:27 +00:00
Michael R Sweet
84fe87f472 Fix indentation of elements (STR #1549)
Update layout of help dialog to look like other help dialogs.

Drop resource fork stuff from fltk-config (no more --post, it is a no-op)

Use a single table for the header on the documentation page.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5643 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2007-01-28 19:36:51 +00:00
Michael R Sweet
a4c2cbd49a Tweak gtk+ drawing of Fl_Choice.
Add support for "-Dname" option in fltk-config.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5484 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-09-24 04:39:55 +00:00
Michael R Sweet
eea2b38b34 Add --with-archflags option to configure script, and use it in the right
places.

Update changes file.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5216 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-06-19 18:29:31 +00:00
Michael R Sweet
e6bbd2d525 Update copyrights.
Also check for feof() when the character returned by getc is < 0
to work around a bug in Cygwin.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4782 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-01-31 19:00:08 +00:00
Michael R Sweet
bf7082f16c Fix fl_filename_list() bug (STR #1159) caused by changing of the ABI
(dirent size is different for large file mode)

The default is now --disable-largefile; if you use --enable-largefile,
the large file support definitions are propagated to the fltk-config
script as well.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4779 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2006-01-31 15:50:06 +00:00
Michael R Sweet
6936751308 Don't use readlink, it is non-standard.
Sorry, no symlink support for fltk-config, you'll need to use wrapper
scripts.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4689 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-12-07 20:13:12 +00:00
Michael R Sweet
c38c41a0c6 Fix typo in fltk-config script.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4513 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-08-15 20:13:02 +00:00
Michael R Sweet
b04558b30d Revert --prefix. Until we have a valid use case, we WILL NOT add
--prefix, since IMHO it makes no sense to offer it.



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4498 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-08-10 13:54:17 +00:00
Dejan Lekic
d89e94ded2 Added --prefix flag as suggested by Ian McArthur.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4496 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-08-10 12:35:20 +00:00
Michael R Sweet
87a8b2d9c7 Add --cc and --cxx options to fltk-config, which show the compilers that
were used to compile FLTK...


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4488 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-08-08 15:08:06 +00:00
Michael R Sweet
3b659149e6 The fltk-config script now handles invocation via a symlink (STR
#869)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4477 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-08-08 01:09:39 +00:00
Michael R Sweet
9ac6934696 "test -e" is not portable, must use "test -f".
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4399 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-06-24 20:17:53 +00:00
Michael R Sweet
743b0f984e The fltk-config script now supports running from a source
directory (STR #840)



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4341 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-05-12 17:27:59 +00:00
Michael R Sweet
1c399af444 Update source file headers with STR web page.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4288 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-04-16 00:13:17 +00:00
Michael R Sweet
add37faa25 Copyright updates.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4052 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2005-02-24 21:55:12 +00:00
Michael R Sweet
d7fe9245b4 Install image header files in FL/images so that FLTK apps will use the
same headers as the image libraries FLTK uses.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3804 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-09-06 11:20:53 +00:00
Michael R Sweet
1215b40f82 Make sure that -L option comes before image libraries, not after.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3759 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-08-05 20:20:51 +00:00
Michael R Sweet
b98e54a92f Remove the GCC -Wshadow option.
Use fltk_xyz for the PNG, JPEG, and ZLIB libraries instead of the normal
names, to avoid collisions with existing installs.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@3727 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2004-07-29 18:13:11 +00:00