Commit Graph

64 Commits

Author SHA1 Message Date
Albrecht Schlosser
ba56c33726 [CMake] Fix Windows dll build with Visual Studio generator.
Now you can set OPTION_BUILD_SHARED_LIBS:BOOL=ON to build FLTK dll's with
Visual Studio. Tested and works (Visual Studio 2010 + 2015).

Todo: dll names and target directories may need some changes.

Todo: Shared libraries under Linux with CMake don't work yet:
/usr/bin/ld: ../lib/libfltk.a(Fl.cxx.o): relocation R_X86_64_32S against
  `.bss' can not be used when making a shared object; recompile with -fPIC



git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11865 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-08-08 12:25:08 +00:00
Manolo Gouy
9b9fc92768 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@11863 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-08-05 17:07:15 +00:00
Albrecht Schlosser
f41ef4e158 Clarification and better documentation of ABI version configuration.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11803 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-07-09 18:43:31 +00:00
Manolo Gouy
c4d004d5b3 THE best way to test for availability of dlsym().
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11778 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-06-14 05:17:00 +00:00
Albrecht Schlosser
8d67e81b7d [CMake] Add missing end of file comment.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11776 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-06-13 22:29:17 +00:00
Albrecht Schlosser
ccd5f72035 [CMake] Fix restoration of CMAKE_REQUIRED_LIBRARIES.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11775 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-06-13 22:14:31 +00:00
Manolo Gouy
e2b6f1c7ec Fix cases where function dlsym() is not in library libdl
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11773 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-06-13 12:23:22 +00:00
Albrecht Schlosser
c092b92938 [CMake] Improve Mac OS X bundle generation and more (STR #3299).
Remove example specific tests from macro CREATE_EXAMPLE, add
function to set bundle icon, simplify some CMake setup code,
deprecate usage of UseFLTK.CMake.

Todo: Fix documentation.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11742 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-05-16 14:43:37 +00:00
Albrecht Schlosser
448e02574b [CMake] Remove redundant linking in CMake build process (STR #3298).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11442 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-27 16:56:23 +00:00
Albrecht Schlosser
16e1d9db41 [CMake] Fix library name (Debug mode), add fluid dependencies.
The library name in Debug mode must only be 'libname'd.a if the build
is with MSVC; all other builds never appended the 'd' suffix to the name.
This is also documented (see lib/README).

Fluid did not regenerate the .cxx and .h files if the .fl file was changed.
The DEPENDS keyword adds the necessary dependency.
The MAIN_DEPENDENCY keyword "also suggests to Visual Studio generators
where to hang the custom command" according to CMake docs.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11430 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-26 14:20:32 +00:00
Albrecht Schlosser
a3457f745c [CMake] Mark OPTION_USE_POLL as advanced.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11291 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-03-05 13:29:18 +00:00
Manolo Gouy
4592043ee2 Support of OPTION_APPLE_X11 by CMake: do not use hard-coded paths
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11126 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-03 10:28:57 +00:00
Manolo Gouy
551fd6b077 Support for OPTION_APPLE_X11 -- OpenGL libraries
OPTION_APPLE_X11 is a very special option, and the best
way to support it with CMake still requires expert advice.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11123 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-02-02 14:51:15 +00:00
Albrecht Schlosser
1139af35af [CMake] Work around CMake bug in CMake versions 3.4.x.
CMake versions 3.4.x crash when using fltk_wrap_ui, a built-in CMake
command. According to the CMake devs this will be fixed in CMake 3.5.

However, since fltk_wrap_ui is no longer necessary (it can replaced by
custom build commands) and some Linux distributions deploy CMake 3.4.x
we decided to use an own replacement function.

This makes sure that FLTK can be built with CMake 3.4.x, but FLTK users
may still have to rewrite their own CMake files to not use fltk_wrap_ui.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11081 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2016-01-29 13:09:30 +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
3beb45165a [CMake] config.h, part 2 - full compatibility with autoconf.
This commit makes the file config.h generated by CMake 100% compatible
with the one generated by autoconf/configure.

Fixes in this commit:
 - Set FLTK_DATADIR and FLTK_DOCDIR with the same default values.
   Note: needs some cleanup, option values are not clear, '/fltk'
   is currently appended in export.cmake (needs improvement).
 - Simulation of autoconf macro AC_HEADER_DIRENT for correct
   definition of only one 'dirent' header file.
 - Fix more function checks:
    - dlsym
    - png_get_valid
    - png_set_tRNS_to_alpha
 - Improve "Big Endian" check for __APPLE__ (mac_endianness.h).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10985 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-30 21:13:07 +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
17c4817592 Add configure and CMake checks for X11/Xregion.h.
Configure and CMake now both check if X11/Xregion.h exists on the
build system and set HAVE_X11_XREGION_H in config.h accordingly.

src/Fl_Pixmap.cxx: modified to use the configure test as proposed by Manolo
in fltk.coredev on Dec 13 2015 in thread "Using X11 backend on OS X".


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10983 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-30 12:10:15 +00:00
Manolo Gouy
bb4f485708 Mac OS: add if(APPLE condition to Mac OS-specific target property.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10982 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-29 16:50:50 +00:00
Manolo Gouy
8ac33d6b71 Mac OS: Enhanced the application bundle for the editor demo
so it is launchable by dropping any file on its icon. This is
done both for the configure/make and the CMake build systems
(the Xcode build system did that already).
The editor demo is the only one calling fl_open_callback().


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10981 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-29 16:41:15 +00:00
Manolo Gouy
fdd1369292 Mac OS + CMake: this file is used by CMake to build the Info.plist files of the application
bundles it creates. This makes these apps support retina displays, because
the file contains
	<key>NSHighResolutionCapable</key>
	<true/>


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10980 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-12-26 16:14:19 +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
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
a6a75b81d2 [CMake] Update fltk-config generation for AIX (STR #3217).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10719 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-25 20:36:48 +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
Albrecht Schlosser
ce76b65e55 CMake: Remove installation of example programs (STR #3194).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10695 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-10 15:50:59 +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
Manolo Gouy
ab78d7ee61 Make building on Mac OS: compile with -DUSING_XCODE only for demo.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10687 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-08 10:54:24 +00:00
Manolo Gouy
9510c22bd3 CMake building on Mac OS: the demo program uses and finds demo.menu in its bundle.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10686 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-08 09:33:39 +00:00
Manolo Gouy
ccffe4cf63 Corrected typo: resources --> Resources
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10685 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-07 16:13:25 +00:00
Manolo Gouy
b0f05ee7ff CMake for Mac OS: the generated Xcode project creates bundled test applications and
uses appropriate icons for blocks, checkers, and sudoku.

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10683 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-07 15:31:12 +00:00
Albrecht Schlosser
1bb0fb36f6 CMake] install CMake files in DATADIR instead of LIBDIR under Linux.
FLTKConfig.cmake and others have been installed in arch dependent LIBDIR,
but should be in arch independent DATADIR.  The result is that you can
always find FLTKConfig.cmake in <prefix>/share/fltk.

This is where "/path/to/fltk" should point to when FLTK is used in external
projects (see README.CMake.txt).

Todo: test if find_package works w/o defining FLTK_DIR when installed
in a standard location.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10682 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-07 15:18:35 +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
d767ae7ff6 [CMake] Fix and install fltk-config.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10679 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-04-06 13:06:21 +00:00
Albrecht Schlosser
0f45a7adf5 [Version 1.3.4] Update version numbers - hopefully complete.
Note to devs: if I missed something, please mark follow-up commits with
[Version 1.3.4] so we can find the necessary commits for version updates.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10612 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-03-10 01:41:55 +00:00
Albrecht Schlosser
6390a0e09e [CMake] Improve installation, support DESTDIR, and more (STR #3149).
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10580 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2015-02-16 14:30:27 +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
f7b50362c4 [CMake] Fix CMake 3.1 warning about new policy CMP0053.
CMake Warning (dev) at CMake/export.cmake:48 (set):
  Policy CMP0053 is not set: Simplify variable reference and escape sequence
  evaluation.  Run "cmake --help-policy CMP0053" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

Changed old-style @variable@ replacement to ${variable}. 


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10467 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-24 09:35:04 +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
eb6c15bcef [CMake] Fix man page path. Patch posted by Richard Shaw in fltk.general.
Thanks for the patch.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10440 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-11-08 17:21:09 +00:00
Albrecht Schlosser
be24f37905 [CMake] Fix match of .fl files in macro CREATE_EXAMPLE.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10373 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-12 01:24:04 +00:00
Albrecht Schlosser
982e6ffb2c CMake: rename reserved target name "help" (CMake 2.8.12 and later).
The executable built is still help(.exe).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10370 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-09 16:11:36 +00:00
Albrecht Schlosser
cb6cc2d5a9 Revert unintentionally committed files.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10369 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-09 16:09:04 +00:00
Albrecht Schlosser
078df04bfd CMake: Prevent annoying warning under Cygwin.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10368 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-09 16:03:56 +00:00
Albrecht Schlosser
aef482198e Bump version numbers to 1.3.3.
All fluid .fl files have been rewritten with fluid 1.3.3 and may differ
somehow, but there are no significant changes.


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@10353 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2014-10-05 00:03:27 +00:00