| Age | Commit message (Collapse) | Author |
|
|
|
- If shared libraries are built, then fluid, fltk-options, and the
"games" are linked against the shared FLTK libraries. On some
platforms the static and the shared versions of fluid and
fltk-options are built. The games are only built if
FLTK_BUILD_TEST is enabled.
- The CMake 'install' target now installs the games (if built)
and their man pages on all platforms (no matter if that is
useful, for instance on Windows).
- On macOS 'CMAKE_INSTALL_RPATH' is set so *installed* programs
automatically find their shared FLTK libraries. The "shared"
versions of fluid and fltk-options got their own '.plist' files.
This works for both the executables themselves as well as those
included in bundles. There may be more to do on the macOS platform.
|
|
fluid and fltk-options are now installed correctly as bundles and as
stand-alone executables side by side in the 'bin' folder relative
to CMAKE_INSTALL_PREFIX.
This works but the installation folders may be changed in the future.
Targets fltk::fluid is now exported correctly so
find_package(FLTK CONFIG ...)
works with both the build folder and an installed version.
|
|
|
|
This is a big commit and there are too many changes to list them all.
The main changes are:
- rename all CMake build options to 'FLTK_*'
- export library targets with namespace (prefix) 'fltk::'
- standardize shared library target names with suffix '-shared'
- set public build properties on libraries for consumers
- document library names and aliases in README.CMake.txt
- document changes in "Migrating Code from FLTK 1.3 to 1.4"
- partial backwards compatibility for old user projects
Included but not directly related changes:
- fix Windows (Visual Studio) DLL build
- add CMake function fl_debug_target() to show target properties
- don't build test programs if FLTK is a subproject
- internal: reformat CMake code: remove space before '('
Thanks to Matthias and Manolo for their help, testing, and feeback.
|
|
Remove code that checks CMake versions lower than 3.15
|
|
- 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.
|
|
* `FL_DEPRECATED` macro to mark `position()` method that shadow `Fl_Widget::position()` #69 (#666)
|
|
|