The goal is to change the version number for a new release only in
CMakeLists.txt. This is the second step.
This commit also adds a chapter "Migrating Code from FLTK 1.4 to 1.5".
Details:
- documentation/CMakeLists.txt: configure 'version.dox'
- fluid/documentation/CMakeLists.txt: same as above
- documentation/Doxyfile.in: add "Migrating Code from FLTK 1.4 to 1.5"
- documentation/src/index.dox: include 'version.dox' and 'migrating...'
- fluid/documentation/src/index.dox: same as above
- documentation/src/preface.dox: include 'version.dox'
- documentation/version.dox.in: input to CMake configure 'version.dox'
- fluid/documentation/version.dox.in: same as above
- documentation/src/migration_1_4.dox: update links
- documentation/src/migration_1_5.dox: new documentation chapter
- 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.
* Add classes for application and project
* Removed all globals from Fluid.h
* Extracting args and project history into their own classes
* Moving globals into Application class
* Initialize values inside headers for some classes.
* Undo functionality wrapped in a class inside Project.
* File reader and writer are now linked to a project.
* Avoid global project access
* Nodes (former Types) will be managed by a new Tree class.
* Removed static members (hidden globals) form Node/Fl_Type.
* Adding Tree iterator.
* Use nullptr instead of 0, NULL, or 0L
* Renamed Fl_..._Type to ..._Node, FL_OVERRIDE -> override
* Renaming ..._type to ...::prototype
* Splitting Widget Panel into multiple files.
* Moved callback code into widget panel file.
* Cleaning up Fluid_Image -> Image_asset
* Moving Fd_Snap_Action into new namespace fld::app::Snap_Action etc.
* Moved mergeback into proj folder.
* `enum ID` is now `enum class Type`.
All files: remove autoconf/configure related stuff, update links.
- README.txt: describe prerequisites, provide generic instructions
on how to use CMake to build FLTK
- test/demo.cxx: remove code used for configure/make build
- test/CMakeLists.txt: remove obsolete 'target_compile_definitions()'
New functions append "_str" to the function name to
avoid ambiguities when calling them. So
'char *fl_filename_name(const char *)' becomes
'std::string fl_filename_name_str(const std::string &)'