# Category cmake History

See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top).
It must **not** be used as a substitute for writing good git commit messages!

-------------------------------------------------------------------------------

## 2026-02-17 Ben Morgan (cmake-V11-03-18)
- Use CMake 3.16-3.19 compatible construction of interface libraries.
  - Fixes [Bugzilla 2700](https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2700)
- Fix logic error in construction of link interface to such interface
  libraries that resulted in empty target creation/export.

## 2025-11-17 Ben Morgan (cmake-V11-03-17)
- Bump PhotonEvaporation dataset definition to v6.1.2
  - Provides fixes for Bugzilla 2685 (z75.a187).
  - See request in Issue #266.

## 2025-11-10 Ben Morgan (cmake-V11-03-16)
- Bump PhotonEvaporation dataset definition to v6.1.1
  - Provides fixes for Bugzilla 2682 (z94.a239), 2577 (z5.a11),
    2170 (z91.a234).
  - See request in Issue #265.

## 2025-11-07 John Allison (cmake-V11-03-15)
- Remove all references to HepRep:
  - cmake/Templates/Geant4Config.cmake.in
  - cmake/Templates/geant4-config.in

## 2025-11-03 John Allison (cmake-V11-03-14)
- Remove all references to Qt3D:
  - cmake/Templates/Geant4Config.cmake.in
  - cmake/Templates/geant4-config.in
  - cmake/Modules/G4InterfaceOptions.cmake
  - cmake/Modules/G4ConfigurePkgConfigHelpers.cmake

## 2024-10-29 Ben Morgan (cmake-V11-03-13)
- Bump G4PARTICLEXS dataset definition to 4.2
  - See request in Issue #263 

## 2025-10-24 Ben Morgan (cmake-V11-03-12)
- Bump G4CHANELLING dataset definition to 2.0
  - See request in Issue #262

## 2025-10-20 Ben Morgan (cmake-V11-03-11)
- Remove obsolete G4ClangFormat module
  - Use of clang-format will be through IDEs or pre-commit rather than build
    system going forward.

## 2025-10-18 Ben Morgan (cmake-V11-03-10)
- Bump G4EMLOW dataset to version 8.8 (Issue #261)

## 2025-10-02 Ben Morgan (cmake-V11-03-09)
- Bump G4INCL dataset to version 1.3 (Issue #259)

## 2025-08-28 Ben Morgan (cmake-V11-03-08)
- Support creation of categories that are just an interface to other categories.
  - Needed to support splitting of libraries whilst retaining old target names
    for backward link/build compatibility.

## 2025-08-04 Ben Morgan (cmake-V11-03-07)
- Add option to add shorten-64-to-32 warning to command line macOS build
  flags to match Xcode.

## 2025-06-10 Ben Morgan (cmake-V11-03-06)
- Include external categories (G4zlib etc) in link resolution for unit test
  executables

## 2015-06-09 Ben Morgan (cmake-V11-03-05)
- Update G4EMLOW dataset to version 8.7
  - Requested in #251 to support microelec physics

## 2025-05-01 Ben Morgan (cmake-V11-03-04)
- Default to using Qt6 when selecting Qt support
  - User must set `GEANT4_USE_QT_QT5` to force find/use of Qt5

## 2025-04-24 Igor Semeniouk (cmake-V11-03-03)
- G4ConfigureGNUMakeHelpers.cmake - correction for windows
  - add bin for external dll libraries to PATH
  - fix path to share/fonts

## 2025-04-04 John Allison (cmake-V11-03-02)
- Co-works: visman-V11-03-07, raytracer-V11-03-00.
- Code for RayTracerQt.

## 2025-04-02 Ben Morgan (cmake-V11-03-01)
- Export CMAKE_EXPORT_COMPILE_COMMANDS setting from toolkit to the build of
  any test done by geant4_add_test to assist use of clang-tidy and other tooling.

## 2025-02-18 Ben Morgan (cmake-V11-03-00)
- Add ENVIRONMENT to any build step of geant4_add_test for consistency and to
  allow easier propagation of additional build settings.

## 2024-11-25 Ben Morgan (cmake-V11-02-30)
- Bump RadioactiveDecay dataset version to 6.1.2
  - Fixes Issue #237

## 2024-11-19 Ben Morgan (cmake-V11-02-29)
- Bump RadioactiveDecay dataset version to 6.1.1

## 2024-11-08 Ben Morgan (cmake-V11-02-28)
- Bump dataset versions:
  - PhotonEvaporation 6.1
  - RadioactiveDecay 6.1
  - Fixes Issue 234

## 2024-10-30 Ben Morgan (cmake-V11-02-27)
- Ensure sanitizer flags are forwarded to the linker when using Xcode, and all
  linker flags are forwarded to builds of tests done by geant4_add_test.
  - Fixes Issue #227

## 2024-10-02 Ben Morgan (cmake-V11-02-26)
- Bump URRPT dataset version to 1.1
  - Fixes Issue #228

## 2024-09-25 Ben Morgan (cmake-V11-02-25)
- Default GEANT4_INSTALL_PACKAGE_CACHE to OFF
  - This file is highly unstable on macOS and SPack installs, and causes more problems
    for most users than it solves.

## 2024-09-24 Ben Morgan (cmake-V11-02-24)
- Support running example build-and-run tests in Xcode
  - Part of Issue #227

## 2024-09-23 Gunter Folger (cmake-V11-02-23)
- Bump dataset version:
  - RadioactiveDecay 6.0.1
  - Fixes Issue #226

## 2024-09-19 Ben Morgan (cmake-V11-02-22)
- Bump dataset versions:
  - G4ENSDFSTATE 3.0
  - PhotonEvaporation 6.0
  - RadioactiveDecay 6.0
  - Fixes Issue #224

## 2024-08-28 Ben Morgan (cmake-V11-02-21)
- Bump G4EMLOW dataset version to 8.6.1

## 2024-08-27 Ben Morgan (cmake-V11-02-20)
- Add new G4CHANNELING dataset to support channeling physics processes/models.

## 2024-06-24 Ben Morgan (cmake-V11-02-19)
- Simplify CMake/CTest functions and settings
  - Move geant4_add_test function to dedicated module, retiring "UseGeant4_internal"
    file
  - Reduce oversetting of Geant4_DIR variable for use by tests

## 2024-06-07 Ben Morgan (cmake-V11-02-18)
- Add optional install of new URRPT data model
  - Fixes Issue #217

## 2024-06-04 Ben Morgan (cmake-V11-02-17)
- Do not export HDF5 version to Geant4Config
  - Fixes Issue #214

## 2024-05-17 Gunter Folger (cmake-V11-02-16)
- Use patched G4NDL 4.7.1 dataset.

## 2024-05-17 Ben Morgan (cmake-V11-02-15)
- Add optional install of new NuDEXLib data model

## 2024-05-09 Ben Morgan (cmake-V11-02-14)
- Provide CMake function to assist in linking unit tests to final libraries
  given required source code modules.

## 2024-05-08 Ben Morgan (cmake-V11-02-13)
- Remove configuration/setup of TiMemory in Geant4.

## 2024-05-03 Ben Morgan (cmake-V11-02-12)
- Introduce new `FullRelWithDebInfo` build mode.
  - Essentially `-O3 -g`, so maximum optimization with debugging symbols
  - Intended to help diagnose FPE exceptions on Alma9/gcc13/c++20 and future
    proof against similar
- Remove obsolete `Maintainer` build mode that is nothing more than `Debug` 

## 2024-04-30 Ben Morgan (cmake-V11-02-11)
- Simplifications to Geant4Config.cmake
  - Remove obsolete and never run "whole archive" linking of G4physics_lists
  - Replace TOOLSSG vis driver variables that are just synonyms for more
    fundamental config options (e.g. GEANT4_USE_QT) with the underlying
    variable.

## 2024-03-26 Ben Morgan (cmake-V11-02-10)
- Disable use of FindPythia6 outside of internal Geant4 examples.

## 2024-04-17 Stephan Hageboeck (cmake-V11-02-09)
- Mention the possibility of using cvmfs datasets in the cmake configure warning

## 2024-04-17 Ben Morgan (cmake-V11-02-08)
- Bump G4EMLOW dataset to v8.6

## 2024-04-08 Guilherme Amadio (cmake-V11-02-07)
- Fix also find_package(SoXt) and find_package(SoWin)

## 2024-04-20 Ben Morgan (cmake-V11-02-06)
- Update FindPythia8 module to:
  - Apply [GitHub PR 68](https://github.com/Geant4/geant4/pull/68)
  - Reduce capability to only that required by py8decayer example
  - Emit error if used in project outside Geant4 or py8decayer

## 2024-03-12 Ben Morgan (cmake-V11-02-05)
- Update FindPythia6 module to account for lib64
  - Applies [GitHub PR 63](https://github.com/Geant4/geant4/pull/63)

## 2024-03-11 Ben Morgan (cmake-V11-02-04)
- Fix escaping of regex in geant4_module_check to satisfy latest Python3. 

## 2024-03-06 Ben Morgan (cmake-V11-02-03)
- Bump G4PARTICLEXS dataset to v4.1

## 2024-01-29 Ben Morgan (cmake-V11-02-02)
- Manually check versions of found SoXX packages to workaround their use of
  the `ExactVersionOnly` version checking strategy in find_package. Geant4
  only requires a minimum version. 

## 2024-01-26 Ben Morgan (cmake-V11-02-01)
- Add -F flag for Qt when on macOS and with a framework build of Qt
  - Addresses [Bugzilla 2589](https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2589)

## 2024-01-19 Ben Morgan (cmake-V11-02-00)
- Add compiler flags for GCC only to help detect/debug LTO-related problems when
  building with CMAKE_INTERPROCEDURAL_OPTIMIZATION. 

## 2023-11-28 Ben Morgan (cmake-V11-01-30)
- Bump minimum VecGeom version to 1.2.6

## 2023-11-14 Ben Morgan (cmake-V11-01-29)
- Export QT_VERSION value to GNUmake setup script

## 2023-11-03 Ben Morgan (cmake-V11-01-28)
- Prefix ZLIB/EXPAT variables with "G4" to prevent clash with VTK's own internal
  find of these packages.

## 2023-10-09 Ben Morgan (cmake-V11-01-27)
- Use FindPython in place of deprecated FindPythonInterp in FindStatTest

## 2023-10-06 Ben Morgan (cmake-V11-01-26)
- Update G4INCL to v1.2
- Update G4EMLOW to v8.5

## 2023-09-06 Stewart Boogert (cmake-V11-01-25)
- Update VTK module deps for geometry IO
- Updated module init for VTK

## 2023-09-05 Ben Morgan (cmake-V11-01-24)
- Allow source code modules to have an AUTOMOC property and promote this to
  consuming target to remove hardcoding of Qt-using modules

## 2023-08-02 Ben Morgan (cmake-V11-01-23)
- Export non-cache variables to Geant4PackageCache to support CMake>=3.27
  - Fixes Bugzilla 2556

## 2023-07-05 Igor Semeniouk (cmake-V11-01-22)
- print md5sum in coreutils format for compatibility with busybox

## 2023-06-21 Ben Morgan (cmake-V11-01-21)
- Remobe obsolete and confusing GEANT4_BUILD_TESTS option and configuration

## 2023-06-14 Gunter Folger (cmake-V11-01-20)
- Update to use G4EMLOW 8.4, as provoded by Vladimir

## 2023-05-31 Ben Morgan (cmake-V11-01-19)
- Require Qt5 >= 5.9 if Qt5 support is selected
  - Version chosen as current system version on oldest support OS (CentOS7)  

## 2023-05-29 Guy Barrand (cmake-V11-01-18)
- Templates/Geant4Config.cmake.inm Modules/G4InterfaceOptions.cmake: handle the TOOLSSG_[X11,XT,WINDOWS,QT]_ZB vis drivers.

## 2023-05-23 Ben Morgan (cmake-V11-01-17)
- Add capabilities to geant4_module_check.py:
  - Given a module, print list of modules that depend on it
  - Print all modules sorted in descending order of the number of modules using them
  - Show which headers from linked modules are included by a module in its
    usage requirements output

## 2023-05-12 Ben Morgan (cmake-V11-01-16)
- Make linking a source code module to a final Geant4 library a cmake-time error
  - Fixes #161

## 2023-05-10 Ben Morgan (cmake-V11-01-15)
- Update config scripts for split of G4persistency library

## 2023-05-10 Gunter Folger (cmake-V11-01-14)
- Update to use G4INCL 1.1

## 2023-04-28 Ben Morgan (cmake-V11-01-13)
- Export VTK_DIR and QtX_DIR to package cache to assist in refinding both.

## 2023-04-27 Ben Morgan (cmake-V11-01-12)
- Find and refind Qt6OpenGLWidgets module in Qt6 for use by Qt/OpenGL consumers.

## 2023-04-26 Ben Morgan (cmake-V11-01-11)
- Support finding and use of Qt6 on request for beta testing.

## 2023-04-02 Ben Morgan (cmake-V11-01-10)
- No longer link to QtPrintSupport, which is not used in the toolkit.

## 2023-03-28 Gunter Folger (cmake-V11-01-09)
- Update to use G4ABLA 3.3

## 2023-03-22 Ben Morgan (cmake-V11-01-08)
- Remove setting of -D flags in Geant4Config to enable vis drivers. Libraries
  now export compile definitions for what they support to move to a "use on link"
  model.

## 2023-02-16 Gunter Folger (cmake-V11-01-07)
- Update to use G4EMLOW 8.3

## 2023-02-13 Stewart Boogert (cmake-V11-01-06)
- streamlined VTK cmake components.

## 2023-02-06 Ben Morgan (cmake-V11-01-05)
- Remove no longer required G4VecGeomShim module.
  - VecGeom supports/supplies full imported targets since 1.1.18
  - Use of VECGEOM_LIBRARIES variable required to allow build against CUDA-enabled VecGeom

## 2023-01-30 Ben Morgan (cmake-V11-01-04)
- Update Qt MOC application for G4UIimplementation in place of G4UIbasic/G4UIcommon

## 2023-01-25 Ben Morgan (cmake-V11-01-03)
- Initial support for declaring headers of a source code module private.
  - Headers declared private are not installed
  - geant4_module_check reports an inconsistency if a private header is used
    non-privately

## 2023-01-18 Ben Morgan (cmake-V11-01-02)
- Fix configuration/use of G4ToolsSG in geant4-config
  - Addresses issue reported on [Geant4 Forum](https://geant4-forum.web.cern.ch/t/missing-g4toolssg-in-geant4-config-in-pre-compiled-geant4-11-1-for-linux/9738)

## 2023-01-09 Ben Morgan (cmake-V11-01-01)
- Use PROJECT_ or Geant4_ scoped _SOURCE/BINARY_DIR variables in place of CMAKE_ 
  scope version to ease use of Geant4 as a CMake subproject. 
  - Fixes [GitHub PR #52](https://github.com/Geant4/geant4/pull/52)

## 2022-12-20 Gunter Folger (cmake-V11-01-00)
- Use new dataset G4ABLA 3.2

## 2022-12-05 Ben Morgan (cmake-V11-00-50)
- Revert VecGeom minimum version to 1.2.0 due to issues with 1.2.1 reported by
  CMS but not yet triaged in VecGeom itself.

## 2022-11-29 Ben Morgan (cmake-V11-00-49)
- Stamp minimum versions of CLHEP and VecGeom required for 11.1 release

## 2022-11-21 Ben Morgan (cmake-V11-00-48)
- Only support Qt5. Code updates to support Qt6 did not make release deadline, so
  remove find of Qt6, retaining other support structures to enable quick updates
  later.

## 2022-11-15 Ben Morgan (cmake-V11-00-47)
- Remove Geant4Py from toolkit build, pointing users to upstream repo if they
  set GEANT4_USE_PYTHON in the CMake arguments.

## 2022-11-07 Ben Morgan (cmake-V11-00-46)
- Keep file timestamps from unpacked data libraries in CMake 3.24 and newer.

## 2022-10-27 Ben Morgan (cmake-V11-00-45)
- Fix bug in Qt3D activation as [reported on the Forum](https://geant4-forum.web.cern.ch/t/compiling-geant4-11-1-0-beta-failed-on-built-target-g4physicslist-s/9064/8) 

## 2022-10-20 Guy Barrand (cmake-V11-00-44)
- Modules/G4InterfaceOptions.cmake: remove usage of GEANT4_USE_TOOLSSG since ToolsSG
  is now "always on" on all platforms.
- Templates/Geant4Config.cmake.in: remove usage of _geant4_use_toolssg_library, and
  setup of -DG4VIS_USE_TOOLSSG for compilation.

## 2022-10-13 Ben Morgan (cmake-V11-00-43)
- Find, use and re-find Qt OpenGLWidgets component when Qt6 is in use.

## 2022-10-12 Gunter Folger (cmake-V11-00-42)
- add new dataset G4EMLOW 8.2 as provided by Vladimir:
    This modification include additions for atomic de-excitation for Z=101-104 
    and N2 DNA data. No change for existing tests is expected.

## 2022-10-07 Gabriele Cosmo (cmake-V11-00-41)
- Added "-diag-disable=10441" CXX option to Intel compilers, to disable
  icc compiler deprecation message.

## 2022-09-27 Ben Morgan (cmake-V11-00-40)
- Promote INTERFACE module properties to PUBLIC when merging them into a non-INTERFACE
  final target.

## 2022-09-25 Ben Morgan (cmake-V11-00-39)
- Fix bug causing failure in `do_provides` function of geant4_module_check.py

## 2022-09-10 Ben Morgan (cmake-V11-00-38)
- Implement mechanism to filter out headers in geant4_module_check with linting comment

## 2022-09-09 Ben Morgan (cmake-V11-00-37)
- Fix geant4_module_check returning 1 on successful run
- Filter out C++ filesystem library from checks

## 2022-09-03 Ben Morgan (cmake-V11-00-36)
- Filter out Vis driver modules from consistency check for G4vis_management
  - G4VisExecutive is a user level compile time interface to "plugin" drivers.
  - Driver headers need filtering out as they are not linked to in Geant4 itself
    to avoid circular dependencies.

## 2022-08-31 Ben Morgan (cmake-V11-00-35)
- New geant4_module_check.py script to provide convenient interface for developers
  and testing to check module/library cycles and dependency inconsistencies.

## 2022-07-14 Ben Morgan (cmake-V11-00-34)
- Remove obsolete and now longer built G4gl2ps target

## 2022-07-14 Ben Morgan (cmake-V11-00-33)
- Address [Bugzilla 2485](https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2485)
  - Update extraction of include paths from VecGeom to use imported target
    property.

## 2022-06-09 Igor Semeniouk (cmake-V11-00-32)
- G4ConfigureGNUMakeHelpers.cmake (geant4.[c]sh, geant4.bat generation )
   - use the environment variable GEANT4_DATA_DIR as top data dir
   - the environment variables for individual dataset commented in scripts

## 2022-06-07 Ben Morgan (cmake-V11-00-31)
- Rationalize interlinked PTL/TBB build options 

## 2022-05-30 Guilherme Amadio (cmake-V11-00-30)
- Add options --sh and --csh to geant4-config script

## 2022-05-18 Guilherme Amadio (cmake-V11-00-29)
- Use more standard install location for CMake files
- Remove version from default installation directories
- Add required configuration to be able to generate DEB/RPM packages with CPack

## 2022-05-16 Guilherme Amadio (cmake-V11-00-28)
- Add source validation exception for G4FindDataDir.hh generated header

## 2022-05-03 Ben Morgan (cmake-V11-00-27)
- Preliminary configuration support for Qt5 and Qt6

## 2022-04-27 Gunter Folger (cmake-V11-00-26)
- add new dataset G4NDL 4.7 with new TermalScattering data

## 2022-04-11 Ben Morgan (cmake-V11-00-25)
- Allow library composition to be overriden in developer builds

## 2022-04-11 Ben Morgan (cmake-V11-00-24)
- Do not use "readlink -f" to support pre-Monterey macOS systems

## 2022-04-08 Ben Morgan (cmake-V11-00-23)
- Add -Og to GNU/Clang default debug flags

## 2022-04-06 Ben Morgan (cmake-V11-00-22)
- Don't add CLHEP_INCLUDE_DIRS directly through include_directories to prevent potential
  issues with it holding relative paths (reported by Seth Johnson)

## 2022-04-05 Ben Morgan (cmake-V11-00-21)
- Copy .clang-tidy file to build directory to assist run-clang-tidy reporting.

## 2022-04-04 Igor Semeniouk (cmake-V11-00-20)
- In G4ConfigurePkgConfigHelpers.cmake, geant4-config.in (geant4-config generation)
  - new flag "--features", add vtk and qt3d feature
  - allow use md5sun if openssl missing
  - canonicalize prefix path
- In G4ConfigureGNUMakeHelpers.cmake (geant4.[c]sh, geant4.bat generation )
   - allow full path source in zsh, sh
   - unset local variables at the end
   - introduced GEANT4_DATA_DIR, all DS path relative to this

## 2022-03-25 Ben Morgan (cmake-V11-00-19)
- Add commands for working with categories analagous to module commands

## 2022-03-28 Ben Morgan (cmake-V11-00-18)
- Remove retired G4tasking library from configuration files

## 2022-03-28 Ben Morgan (cmake-V11-00-17)
- Fix typo in G4DeveloperAPI that prevented install of headers

## 2022-03-25 Ben Morgan (cmake-V11-00-16)
- Do not use CMAKE_VERBOSE_MAKEFILE when building tests

## 2022-03-22 Ben Morgan (cmake-V11-00-15)
- Add geant4_module_sources command to enable appending of headers/sources
  to a module after creation

## 2022-03-18 Ben Morgan (cmake-V11-00-14)
- Change default value of GEANT4_BUILD_BUILTIN_BACKTRACE to OFF

## 2022-03-15 Ben Morgan (cmake-V11-00-13)
- Rationalize declaration and use of internal builds of required externals CLHEP, 
  zlib, expat, PTL and tools libraries.

## 2022-03-10 Ben Morgan (cmake-V11-00-12)
- Remove deprecated functions in G4DeveloperAPI
- Support declaration and composition of header-only modules and libraries  

## 2022-03-03 Ben Morgan (cmake-V11-00-11)
- Provide GEANT4_BUILD_ENABLE_ASSERTIONS option to enable assert() in all
  release build modes (Release, RelWithDebInfo, MinSizeRel)
  - Addresses GitLab Issue #104
- Forward `CMAKE_<LANG>_FLAGS[_<MODE>]` flags to `geant4_add_test` so that
  a consistent set is used through the project. 

## 2022-03-07 Gunter Folger (cmake-V11-00-10)
- fix in CMakeCPackOptions.cmake.in to avoid PATH with only /, without \, for g4_small.bmp

## 2022-02-11 Gunter Folger (cmake-V11-00-09)
- add new dataset G4EMLOW 8.1

## 2022-02-11 Igor Semeniouk (cmake-V11-00-08)
- Bug fix introduced in cmake-V11-00-06
  - G4ConfigureGNUMakeHelpers.cmake - Fix for _g4tc_prepend_path on geant4.bat genaration ( Windows only)
  - History - fix comment syntax

## 2022-02-11 Ben Morgan (cmake-V11-00-07)
- Apply [GitHub PR 37](https://github.com/Geant4/geant4/pull/37) from gondiaz.
  - Add G4ptl and G4tasking libraries to link list in geant4-config
- Fixup: place G4tasking in correct location in dependency list 

## 2022-02-11 Igor Semeniouk (cmake-V11-00-06)
- Bug fix in functions _g4tc_prepend_path, _g4tc_apppend_path on geant4.bat genaration ( Windows only)

## 2022-02-10 Igor Semeniouk (cmake-V11-00-05)
- In G4ConfigureGNUMakeHelpers.cmake
  - not set LD_LIBRARY_PATH configuration on MacOS (Darwin)
  - add paths to DLL into PATH on Windows

## 2022-02-08 Ben Morgan (cmake-V11-00-04)
- Enable ToolsSG and backends based on use of external libraries (Qt, X11, Xm, Win32)
  - Backends made non-mutally exclusive
  - Remove GEANT4_USE_TOOLSSG public CMake option
  - Addresses #117

## 2022-02-06 Gabriele Cosmo (cmake-V11-00-03)
- Updated compilation flags for Intel icc/icx compilers.

## 2022-02-05 Gunter Folger (cmake-V11-00-02)
- Add icpx/icx compiler to G4ConfigureGNUMakeHelpers.cmake

## 2022-01-28 Ben Morgan (cmake-V11-00-01)
- Correct logic error in checking whether module is already composed
- **DEPRECATIONS**
  - `geant4_define_module`
  - `geant4_global_library_target`
  - Implementation reduced to emitting a CMake warning message on what to replace with

## 2021-12-10 Ben Morgan (cmake-V11-00-00)
- Change to new Markdown History format

---

# History entries prior to 11.0

09 November 2021 - Ben Morgan (cmake-V10-07-53)
- Only configure public release contribution guide if present

30 November 2021 - Ivana Hrivnacova (cmake-V10-07-52)
- Removed FindAIDA.cmake from Modules

29 November 2021 - Ben Morgan (cmake-V10-07-51)
- Require VecGeom 1.1.18 or newer
- Configure/find Vtk alongside other UI/Vis options

26 November 2021 - Ben Morgan (cmake-V10-07-50)
- Strip .git{ignore,lab,hub} files/dirs from source package
- Use XZ compression instead of BZIP for source package

22 November 2021 - Ben Morgan (cmake-V10-07-49)
- Improve/modernize CPack source packaging

12 November 2021 - Ben Morgan (cmake-V10-07-48)
- Retire G4VIS_... preprocessor symbols in toolkit build, only required
  by obsolete GNUmake system

8 November 2021 - Ben Morgan (cmake-V10-07-47)
- Retire G4UI/G4INTY_... preprocessor symbols in toolkit build, only required
  by obsolete GNUmake system
  
2 November 2021 - Gunter Folger (cmake-V10-07-46)
- switch to new dataset G4EMLOW8.0, given by Vladimir

27 October 2021 - Guy Barrand (cmake-V10-07-45)
- Modules/G4DeveloperAPI.cmake: ToolsSG => G4ToolsSG in the list of Qt moc-able modules.

25/27/28 October 2021 - Gunter Folger (cmake-V10-07-44)
- switch to new dataset G4TENDL1.4 provided by Alberto

22 October 2021 - Guy Barrand (cmake-V10-07-43)
- Modules/G4DeveloperAPI.cmake: have ToolsSG as a Qt moc-able module.

13 October 2021 - Ben Morgan (cmake-V10-07-42)
- Add XercesC library directory to Linux LD_LIBRARY_PATH for GNUmake.
  Workaround for incorrect setup on LCG stacks for Nightly builds

12 October 2021 - Ben Morgan (cmake-V10-07-41)
- Make ToolsSG options mutually exclusive

04 October 2021 - Stewart Boogert / Laurie Nevay (cmake-V10-07-40)
- Add options and find module for VTK visualisation driver

27 September 2021 - Ben Morgan (cmake-V10-07-39)
- Change default value of GEANT4_BUILD_MULTITHREADED to ON

22 September 2021 - Guilherme Amadio (cmake-V10-07-38)
- geant4_add_test:
  - Ensure that Geant4 being built is picked up to build examples.
  - Ensure that the same compiler is used to build the tests.

13 September 2021 - Gabriele Cosmo (cmake-V10-04-37)
- Set CLHEP-2.4.5.1 as the required minimum version.

3 September 2021 - Ben Morgan (cmake-V10-04-36)
- geant4_add_test creates separate build/run tests when asked to do both
  - Required to support valgrind/memcheck runs without valgrind-ing
    the build part of the test.

1 September 2021 - Ben Morgan (cmake-V10-04-35)
- Remove obsolete geant4_{executable,link_library} options

26 August 2021 - Ben Morgan (cmake-V10-07-34)
- Remove obsolete network VRML driver option
- Remove obsolete network FukuiRenderer driver option

23 August 2021 - Guilherme Amadio (cmake-V10-07-33)
- Rename Geant4::HDF5 to hdf5::hdf5 to be compatible with
  imported target provided since CMake 3.20.

20 August 2021    - Gunter Folger  (cmake-V10-07-32)
- Switch to G4ParticleXS 4.0

22 July 2021 - Ivana Hrivnacova (cmake-V10-07-31)
- Fixed path to g4tools/fonts, now in source/externals

30 June 2021 - Ben Morgan (cmake-V10-07-30)
- Remove obsolete GEANT4_USE_SYSTEM_CLHEP_GRANULAR option

29 June 2021 - Ben Morgan (cmake-V10-07-29)
- Disable creation of clang-formatting targets

21 June 2021   - Julia Yarba    (cmake-V10-07-28)
- Clean cmake/Modules/FindPythia8.cmake
  (remove trailing whitespaces)

18 June 2021   - Julia Yarba    (cmake-V10-07-27)
- Add cmake/Modules/FindPythia8.cmake
- Update cmake/Modules/G4ConfigureCMakeHelpers.cmake

8 June 2021    - Gunter Folger  (cmake-V10-07-26)
- Switch to G4EMLOW 7.17

03 June 2021 - Ben Morgan (cmake-V10-07-25)
- Remove explicit setting of PTL_ cmake options.
- Add GEANT4_USE_PTL_LOCKS option to forward to internal PTL
  as PTL_USE_LOCKS.

27 May 2021 - Ben Morgan (cmake-V10-07-24)
- Implement build/test script in Python to check for cycles in the
  declared source module dependency graph.

25 May 2021 - Jonathan Madsen (cmake-V10-07-23)
- External PTL requires v2.0.0

25 May 2021 - Ben Morgan (cmake-V10-07-22)
- Clarify use of Freetype for both analysis and visualization
  - Remove use of no longer required imported target shim for build

24 May 2021 - Ben Morgan (cmake-V10-07-21)
- Bump minimum CMake version to 3.12

22 May 2021 - Ben Morgan (cmake-V10-07-20)
- Qualify geant4_add_feature descriptions with "G4_" to distinguish them from
  CMake property descriptions.

18 May 2021 - Ben Morgan (cmake-V10-07-19)
- Require C++17 as minimum standard to compile Geant4
  - Allow compilation against C++23 with CMake 3.20 and newer
  - Check for filesystem support in native or extension (GNU/Clang) libraries

15 May 2021 - Jonathan Madsen (cmake-V10-07-18)
- Set GEANT4_BUILD_BUILTIN_BACKTRACE to ON by default so novice
  and intermediate users can, by default, get valuable information
  on segmentation faults. Projects with their own signal handlers
  can configure with this option off, set G4BACKTRACE="none" in
  the environment, create their signal handlers after G4RunManager
  gets created, or add `G4BackTrace::DefaultSignals() = std::set<int>{};`
  before G4RunManager gets created.

10 May 2021    - John Allison  (cmake-V10-07-17)
- With vis-V10-07-03, incorporating visman-V10-07-06 and vis_toolsg-V10-07-00.
  Introduce a new vis driver, TOOLSSG (Guy Barrand).
  o Four (mutually exclusive) options:
    . TOOLSSG_X11_GLES
    . TOOLSSG_WINDOWS_GLES
    . TOOLSSG_XT_GLES
    . TOOLSSG_QT_GLES

7 May 2021    - Gunter Folger  (cmake-V10-07-16)
- Switch to G4EMLOW 7.16

4th May 2021 - Ben Morgan (cmake-V10-07-15)
- Remove obsolete -stdlib flag for AppleClang

3 May 2021    - Gunter Folger  (cmake-V10-07-14)
- Switch to G4EMLOW 7.15

28 April 2021 - Ben Morgan (cmake-V10-07-13)
- Preliminary support for sanitizers

22 March 2021 - Alberto Ribon (cmake-V10-07-12)
- Modules/G4BuildSettings.cmake : removed deprecated PHP_AS_HP
  environmental variable.

19th March 2021 - Gunter Folger (cmake-V10-07-11)
- Update to older G4TENDL 1.3.2, 1.4 has problems.

18 March 2021 - Ben Morgan (cmake-V10-07-10)
- Check for unparsed arguments in G4DeveloperAPI functions to
  provide better validation against typos/etc in use

09 March 2021 - John Allison (cmake-V10-07-09)
- Remove all references to Wt.

23 February 2021 - Ben Morgan (cmake-V10-07-08)
- Store PUBLIC/PRIVATE/INTERFACE module usage requirements explicitly

18th February 2021 - Ben Morgan (cmake-V10-07-07)
- Add G4tools target to CMake/GNUmake configuration following its
  migration from analysis to externals categories.

4th February 2021 -  Igor Semeniouk (cmake-V10-07-06)
- geant4.bat prototype
- hint to run geant4-config on windows

30th January 2021 - Gunter Folger (cmake-V10-07-05)
- Update to patched dataset G4PARTICLEXS 3.1.1 as provided by Vladimir I.

22nd January 2021 - Ben Morgan (cmake-V10-07-04)
- Update for GitHub PR #17: Provide same fix for MacPorts
- Address Bugzilla #2303: Fail configuration if Qt is enabled with CMake < 3.9

15th January 2021 - Ben Morgan (cmake-V10-07-03)
- Apply GitHub PR #17 from Florian Uhlig: Fix installation
  error with Homebrew X11/GL.

11th January 2021 - Ben Morgan (cmake-V10-07-02)
- Apply GitHub PR #16 from andriish: Fix configure/build with
  system PTL 1.0.0.

5th January 2010 - Gunter Folger (cmake-V10-07-01)
- Update to dataset G4EMLOW 7.14 as provided by Sebastien

8th November 2020 - Ben Morgan (cmake-V10-07-00)
- Install/Use builtin PTL CMake scripts from PTL subdirectory
  alongside Geant4Config.cmake

20th November 2020 - Ben Morgan (cmake-V10-06-46)
- Make GEANT4_USE_SYSTEM_PTL option advanced

12th November 2020 - Jonathan Madsen (cmake-V10-06-45)
- Updated find package routines for timemory

19th November 2020 - Ben Morgan (cmake-V10-06-44)
- Require VecGeom 1.1.8 or newer

18th November 2020 - Ben Morgan (cmake-V10-06-43)
- Add GEANT4_BUILD_BUILTIN_BACKTRACE option to enable automatic
  use of G4BackTrace signal handling in G4RunManager.

17th November 2020 - Gunter Folger (cmake-V10-06-42)
- Bump CLHEP minimum required version to 2.4.4.0

4th November 2020 - Ben Morgan (cmake-V10-06-41)
- Make Qt53D driver optional based on find of required Qt5 modules

2nd/3rd November 2020 - Gunter Folger   (cmake-V10-06-40)
- Update to dataset RadioactiveDecay5.6 and PhotonEvaporation5.7 as
    provided by Laurent

30th October 2020 - Gunter Folger   (cmake-V10-06-39)
- Update datasets as provided by Laurent:
  - G4ENSDFSTATE2.3
  - PhotonEvaporation5.6
  - RadioactiveDecay5.5

29th October 2020 - Ben Morgan (cmake-V10-06-38)
- Remove obsolete Geant4MacroDefineModule and G4DeveloperAPI_OLD modules
- Make Geant4MacroLibraryTargets module a no-op pending final removal in
  2021
- Remove GEANT4_USE_NEW_CMAKE option to complete migration to new system
- Use STRINGS cache property for enum options and CMAKE_BUILD_TYPE to
  give easier interface in (G)UIs
- Remove pre CMake3 functionality from G4InstallData module

27th October 2020 - Gunter Folger   (cmake-V10-06-37)
- Add optional TENDL dataset

26th October 2020 - Ben Morgan (cmake-V10-06-36)
- Explicitly initialize GEANT4_USE_QT3D to OFF to prevent
  user override.

26th October 2020 - Gunter Folger   (cmake-V10-06-35)
- Switch to G4PARTICLEXS 3.1

23rd October 2020 - John Allison (cmake-V10-06-34)
- Introduce changes for Qt3D vis driver.

20th October 2020 - Ben Morgan (cmake-V10-06-33)
- Update functions to use G4expat{-static} as custom built targets.
  Fixes GitLab Issue #44.

19th October 2020 - Ben Morgan (cmake-V10-06-32)
- Support CMake 3.8 through 3.18
- Allow specification of C++20 for CMake 3.12 and above

12th October 2020 - Daren Sawkey (cmake-V10-06-31)
- Switch to new data set G4RealSurface 2.2

12th October 2020 - Gunter Folger   (cmake-V10-06-30)
- Switch to G4PARTICLEXS 3.0

24th September 2020 - Gunter Folger (cmake-V10-06-29)
- Switch to G4EMLOW 7.13

15 September 2020 - Jonathan Madsen (cmake-V10-06-28)
- Updated GEANT4_TEST_ENVIRONMENT to set G4RUN_MANAGER_TYPE=TBB when MT and
  GEANT4_USE_TBB=ON

28 August - Ben Morgan (cmake-V10-06-27)
- Improve support for Inventor (Coin)
  - Simplify configuration options, handling co-working ones both
    at configure time and by client applications.
  - Separate out dependency finding to keep these in one place.
  - Improve consistency of using XQuartz vs System OpenGL on
    macOS.
  - Remove obsolete FindInventor module

21 July 2020 - Ben Morgan (cmake-V10-06-26)
- Provide new GEANT4_BUILD_PHP_AS_HP option to enable ParticleHP as
  HP in G4processes. Replaces PHP_AS_HP environment variable.
- Add PHP_AS_HP "feature" in Geant4Config.cmake/geant4-config to allow
  clients to check availability.

17th June 2020 - Jonathan Madsen (cmake-V10-06-25)
- Moved TBB before PTL
- Forced PTL_USE_TBB to be set to GEANT4_USE_TBB when not
  using system PTL
- Added Geant4::G4ptl ALIAS targets for build tree testing
- Added support for building G4ptl, GEANT4_USE_TBB option
- Updated FindTBB.cmake to be more robust
- Updates to PTL internal/external handling
- fixed PTL find_dependency

15th June 2020 - Gunter Folger (cmake-V10-06-24)
- Switch to G4EMLOW 7.12

8th June 2020 - Ben Morgan (cmake-V10-06-23)
- Default GEANT4_USE_NEW_CMAKE to ON to use new build organization
  as the primary system.
- Fix bug in setting of AUTOMOC
- Handle install of G4clhep{-static} independently of main modules
  due it being built outside the category system.
- Retain GEANT4_BUILDTREE_INCLUDE_DIRS in new CMake system to support
  clients that may not yet support CMake target usage requirements.
- Protect recursion into tests module on existence of the directory

2nd June 2020 - Guilherme Amadio (cmake-V10-06-22)
- Avoid warnings from propagating CMAKE_DISABLE_FIND_PACKAGE_ROOT
  down to tests.

30th May 2020 - Ben Morgan (cmake-V10-06-21)
- Modules/Geant4DeveloperAPI.cmake: Import new "target" style API for
  declaring and composing libraries from modules of source code.
  Provide GEANT4_USE_NEW_CMAKE option, OFF by default, to switch between
  systems.

28th May 2020 - Gunter Folger (cmake-V10-06-20)
- Switch to G4EMLOW 7.11

26th May 2020 - Ben Morgan (cmake-V10-06-19)
- Use "VecGeom::vecgeom" as imported target name for VecGeom library
  to bring in line with upstream master of VecGeom. Export VecCore_DIR
  if it is set to package cache file, as new VecGeomConfig needs to refind
  VecCore.

20 May 2020 - Frederick Jones (cmake-V10-06-18)
- Modules/G4InterfaceOptions.cmake: added GEANT4_USE_XM to Open
  Inventor X driver code block to correct Xm and Xt link order.

19th May 2020 - Guilherme Amadio (cmake-V10-06-17)
- Propagate value of CMAKE_DISABLE_FIND_PACKAGE_ROOT down to tests
  that optionally support ROOT to allow testing Geant4 with ROOT support
  disabled. This is necessary when testing Geant4 with a different C++
  standard than ROOT when it's installed.

29th April 2020 - Ben Morgan (cmake-V10-06-16)
- Add GEANT4_USE_NEW_CMAKE option in preparation for testing of modular
  build updates. Added now to suppress Continuous warnings

22 April 2020 - Frederick Jones (cmake-V10-06-15)
- Modules/G4InterfaceOptions.cmake, Templates/Geant4Config.cmake.in:
  Added support for Open Inventor Qt Vis driver to be built
  and used in applications.  The library can be built with the
  OIQT driver, or with the OIX/OIXE drivers, but not both.

6th April 2020 - Ben Morgan (cmake-V10-06-14)
- Activate build of geant4py when GEANT4_USE_PYTHON is set
  Check that MT builds use global-dynamic TLS to allow Python
  module loading of the Geant4 dynamic libraries.

21st April 2020 - Ben Morgan (cmake-V10-06-13)
- BUGFIX: Only store variables in Geant4PackageCache if they have
  a value.

20th April 2020 - Ben Morgan (cmake-V10-06-12)
- Remove Qt4 support

17th April 2020 - Ben Morgan (cmake-V10-06-11)
- Add GEANT4_USE_PYTHON option to suppress Continuous warnings

3rd April 2020 - Guilherme Amadio (cmake-V10-06-10)
- Use full path to datasets if GEANT4_INSTALL_DATADIR is an absolute path

2nd April 2020 - Guilherme Amadio (cmake-V10-06-09)
- Customize CMAKE_INSTALL_DATADIR in a single location

18th March 2020 - Gunter Folger (cmake-V10-06-08)
- In Modules/G4CPack.cmake suppress warnings about icc libraries not existing
  for Intel icc version 19.

16th March 2020 - Gunter Folger (cmake-V10-06-07)
- Switch to G4EMLOW 7.10

14th February 2020 - Ben Morgan (cmake-V10-06-06)
- No longer create gnumake symlinks on Windows
  Windows permissions may prevent creation of symlinks, leading to
  errors at install time. As gnumake is no longer supported on
  Windows, protect symlink creation with test on host platform.

4th February 2020 - Ben Morgan (cmake-V10-06-05)
- BUGFIX 2221
  Use "${FOO:-}" variable expansion and "-z" test to check for
  undefined variables in Bourne Shell scripts. Prevents errors when
  shell is in "set -u" mode. Report and patch supplied by Michael Reilly

27th January 2020 - Gunter Folger (cmake-V10-06-04)
- Switch to G4EMLOW 7.9.1

15th January 2020 - Ben Morgan (cmake-V10-06-03)
- Quote VECGEOM_COMPILE_DEFINITIONS to avoid incorrect argument errors

6th January 2020 - Ben Morgan (cmake-V10-06-02)
- Apply patch from TXCorp to allow compilation on Windows using Clang

12th December 2019 - Ben Morgan (cmake-V10-06-01)
- Remove requirement on presence of XQuartz GLU library
- No longer save glu related variables in the package cache

6th December 2019 - Ben Morgan (cmake-V10-06-00)
- Remove obsolete Geant4Wrapping module in preparation for full G4Py
  build support
- Rename remaining internal "Geant4..." modules to "G4" convention
  Retain Geant4DefineModule and Geant4LibraryTargets until new modularization
  scheme in place.
- Format G4ClangFormat

25th November 2019 - Ben Morgan (cmake-V10-05-29)
- Disable configuration of Wt UI/Vis driver due to it no longer
  compiling with recent Wt versions

22nd November 2019 - Jonathan Madsen (cmake-V10-05-28)
- Updated Geant4OptionalComponents.cmake and Geant4Config.cmake.in to support
  the timemory find_package COMPONENTS and the INTERFACE library generation
- Updated "TiMemory" package name to simple "timemory"

20th November 2019 - Ben Morgan (cmake-V10-05-27)
- Require MSVC 19.20 (Visual Studio 2019) or newer to support
  std::filesystem on Windows platforms

18th November 2019 - Gunter Folger (cmake-V10-05-26)
- Switch to PhotonEvaporation 5.5

16th November 2019 - Ben Morgan (cmake-V10-05-25)
- BUGFIX: Ensure visibility of custom modules in scope of Geant4Config.
  Custom modules must be visible during scope of Geant4Config so packages
  such as XQuartzGL can be refound.

14th November 2019 - Ben Morgan (cmake-V10-05-24)
- BUGFIX: Ensure installation of all *Shim.cmake files

13th November 2019 - Ben Morgan (cmake-V10-05-23)
- BUGFIX: Fix typo in setup of Qt4 libraries that resulted in use of a
  Qt5 imported target
- BUGFIX #1663: Prepend Geant4_CXX_FLAGS[_<MODE>] to CMAKE_CXX_FLAGS[_<MODE>]
  instead of overwriting

12th November 2019 - Ben Morgan (cmake-V10-05-22)
- BUGFIX: Use VECGEOM_INCLUDE_DIRS in INTERFACE_INCLUDE_DIRECTORIES for
  the VecGeom::VecGeom imported targets. This will include required
  externals such as VecCore and similar.

7th November 2019 - Ben Morgan (cmake-V10-05-21)
- Use target_XXX usage requirements to transport header paths and
  links. Remove requirement to use complete include_directories chain
  in Module sources.cmake files
- Retain exported "Geant4_INCLUDE_DIR{S}" variables in case clients use
  ROOT dictionary generation (which does not understand usage requirements
  of targets until latest versions).
- Namespace exported targets with "Geant4::" to enforce use of targets and
  prevent accidental linkage via "-lG4name" expansion.
- Migrate use of all external packages to use and refind exported targets,
  with shim scripts to support CMake versions from 3.8 at build/use time.
- Store build-time locations of used external packages in an optionally
  installable CMake script for reuse, if present, by Geant4Config.cmake
  in refinding packages.
- Remove remaining -D flags set via add_definitions, moving to
  target_compile_definitions

6th November 2019 - Ben Morgan (cmake-V10-05-20)
- Remove GEANT4_FORCE_QT4 option, deprecating Qt4 support
- Retain fallback to finding Qt4, emitting a CMake warning that use
  of Qt4 is deprecated.
- Fixes GitLab Issue #23

5th November 2019 - Gunter Folger (cmake-V10-05-19)
- Switch to PhotonEvaporation 5.4 and to RadioactiveDecay 5.4

31st October 2019 - Ben Morgan (cmake-V10-05-18)
- Require MSVC 19.11.25505 (Visual Studio 2017 update 3) as
  minimum required version to build Geant4 on Windows. Needed
  to support use of C++17 filesystem in visualization with standard
  selection.
- Support compile features for this MSVC when using CMake < 3.10
- Default C++ Standard with MSVC is now C++17
- Remove old genwindef method of generating DLL symbol exports, as
  min cmake version of 3.8 fully supports direct generation via target
  properties.

25th October - Ben Morgan (cmake-V10-05-17)
- Bump minimum CMake version for build/use of Geant4 to 3.8, addressing Bug #2044
- Update IntelCompileFeatures to support C++17 for ICC 18 and above when
  using CMake 3.8-3.10

23rd October 2019 - Gunter Folger (cmake-V10-05-16)
- Switch to G4NDL 4.6

14th October 2019 - Gunter Folger (cmake-V10-05-15)
- Switch to G4EMLOW 7.9

2nd October 2019 - Gunter Folger (cmake-V10-05-13)
- Switch to G4EMLOW 7.8

6th September 2019 - Ben Morgan (cmake-V10-05-12)
- Templates/UseGeant4_internal.cmake: Only scope location of test executable
  when using a generator that supports multiconfig.
  Allows tests to be run with Ninja Generator as "ninja test"

21st August 2019 - Ben Morgan (cmake-V10-05-11)
- Modules/Geant4InterfaceOptions.cmake: set OpenGL_GL_PREFERENCE to LEGACY
  Prevents warning on CMake >= 3.10, and keeps existing behaviour.

20th August 2019 - Gunter Folger (cmake-V10-05-10)
- Switch to G4PARTICLEXS 2.1

13th August 2019 - Gabriele Cosmo (cmake-V10-05-09)
- Modules/Geant4OptionalComponents.cmake: added ELLIPSOID, ELLIPTICALCONE and
  ELLIPTICALTUBE flags to enable wrapping of G4Ellipsoid, G4EllipticalCone and
  G4EllipticalTube in GEANT4_USOLIDS_SHAPES.
  Coworks with tag geom-specific-V10-04-13.

11th July 2019 - Ben Morgan (cmake-V10-05-08)
- Fix path-with-spaces bug reported by Eleanor Murray on Discourse
  - https://geant4-forum.web.cern.ch/t/problem-running-example-b1/451
  - Triaged as the include paths not being quoted so that when they have
    spaces in them, the several expansions involved mean CMake can interpret
    the space as a list seperator (;). This causes the wrong paths to be used
    in compiler commands
  - Explicitly quote Geant4 header paths from creation to export and use.

4th July 2019 - Ben Morgan (cmake-V10-05-07)
- Fix logic of setting up components in Geant4Config.cmake.
  - Set up component when:
    - Is found (Geant4_comp_FOUND is TRUE)
    - comp exists in Geant4_FIND_COMPONENTS
  - Don't remove found components from Geant4_FIND_COMPONENTS
  - Check if component is FOUND and REQUIRED as last action,
    setting Geant4_FOUND to FALSE if a missing required component
    is detected.
- Fixes Bugzilla #2139

3rd July 2019 - Ben Morgan (cmake-V10-05-06)
- Do not switch off CMAKE_CXX_EXTENSIONS in Geant4Config.
  Not required for client applications.
- Fixes Bugzilla #2002

6th June 2019 - Ben Morgan (cmake-V10-05-05)
- Remove G4FPE_DEBUG from Debug build mode
  - Not appropriate for basic debug and incompatible with Qt
- Provide new "Debug_FPE" build mode which copies Debug mode and
  appends -DG4FPE_DEBUG to allow continued use without clashing
  with common primary modes.

24th May 2019 - Gunter Folger (cmake-V10-05-04)
- Switch to G4PARTICLEXS 2.0

14th May 2019 - Ben Morgan (cmake-V10-05-03)
- Promote always required -D flags for VecGeom replacements to fixed
  #define/undef flags in a header
  - See geommng-V10-05-05, G4GeomTypes/G4GeomConfig.hh
- Set CMake variables for G4GEOM_USE_... parameters as configured
- Retain add_definitions for VecGeom until it supports usage requirements
- Update XXHelpers scripts for generating GNUmake/pkg-config/CMake files

8th February 2019 - Ben Morgan (cmake-V10-05-02)
- DEV-250: Promote global, always required, -D flags to fixed #define/undef
  in new G4GlobalConfig.hh header:
  - G4USE_STD11
  - G4MULTITHREADED
  - G4_STORE_TRAJECTORY
  - G4VERBOSE
  - GEANT4_USE_TIMEMORY
- Remove use of add_definitions of CMAKE_CXX_FLAGS to set these in Geant4
  and client scripts
- Used by global-V10-05-02

7th February 2019 - Ben Morgan (cmake-V10-05-01)
- Remove obsolete GEANT4_BUILD_MUONIC_ATOMS_IN_USE option
  and associated configuration/compiler flags.

21st December 2018 - Makoto Asai (cmake-V10-05-00)
- Modules/Geant4OptionalComponents.cmake:
- Template/Geant4Config.cmake.in:
   Add GEANT4_USE_SMARTSTACK

5th November 2018 - Gunter Folger  (cmake-V10-04-27)
- Switch to G4PARTICLEXS 1.1

5th November 2018 - Gunter Folger  (cmake-V10-04-26)
- Modules/Geant4DatasetDefinitions.cmake:
   remove entry for G4NEUTRONXS

2nd November 2018 - Gunter Folger  (cmake-V10-04-25)
- Modules/Geant4DatasetDefinitions.cmake:
   Add new  G4PARTICLEXS data set; this replaces G4NEUTRONXS
- fix dates of two entries below; was wrong, not even a typo

29th October 2018 - Gunter Folger  (cmake-V10-04-24)
- Switch to new dataset RadioactiveDecay5.3

29th October 2018 - Gunter Folger  (cmake-V10-04-23)
- Switch to new dataset PhotonEvaporation5.3

18th October 2018 - Ben Morgan (cmake-V10-04-22)
- Modules/Geant4InstallData.cmake: Use https for URL
- Templates/geant4-config.in: Add -L flag to curl to follow redirects
  when accessing dataset url

28th September 2018  - Gabriele Cosmo (cmake-V10-04-21)
- Modules/Geant4MakeRules_cxx.cmake: added -DGL_SILENCE_DEPRECATION
  to CMAKE_CXX_FLAGS_INIT for clang to silence GL deprecation compilation
  warnings on MacOS 10.14 Mojave.

19th September 2018  - Gunter Folger (cmake-V10-04-20)
- Switch to G4SAIDDATA2.0

17th September 2018  - Gunter Folger (cmake-V10-04-19)
- Switch to G4EMLOW7.7

22nd August 2018 - Gabriele Cosmo (cmake-V10-04-18)
- Updated FindInventor.cmake to properly setup SoQt if existing.
- Geant4InterfaceOptions.cmake: added check for existance of SoQt package.

9th August 2018  - Gunter Folger (cmake-V10-04-17)
- Switch to G4EMLOW7.6

3rd August 2018  - Gunter Folger (cmake-V10-04-16)
- Add new dataset for INCL, G4INCL1.0

4th July 2018  - Gunter Folger (cmake-V10-04-15)
- Switch to G4EMLOW7.5

19th June 2018 - Gunter Folger (cmake-V10-04-14)
- Templates/geant4_validate_sources.cmake.in, revert addition of .c and .h
  Skip checking sources for zlib
    (.c and .h match far too many other files)
- Switch to G4EMLOW7.4

14th June 2018 - Gunter Folger (cmake-V10-04-13)
-  Templates/geant4_validate_sources.cmake.in: add C sources and headers

8th June 2018 - Ben Morgan (cmake-V10-04-12)
- Add "auto" dummy Thread Local Storage model
  Per request from CERN, when "auto" is used,
  no explicit compiler flag to select the TLS model is
  set. Record this in Geant4Config.cmake and geant4-config
  as unset/empty variables.

6th Jun 2018 - Jonathan Madsen (cmake-V10-04-11)
- Addition of TiMemory as an optional package

23rd May 2018 - Ben Morgan (cmake-V10-04-10)
- Remove CMake warning about building MT DLLs on Windows, as
  these are now supported.

23rd May 2018 - Gunter Folger  (cmake-V10-04-09)
- Update Geant4DatasetDefinitions to use G4RealSurface 2.1.1
   patched version bringing back data lost in 2.1

14st May 2018 - Gunter Folger  (cmake-V10-04-08)
- Update Geant4DatasetDefinitions to use G4NEUTRONXS 2.0

21st March 2018 - Ben Morgan (cmake-V10-04-07)
- G4BuildSettings.cmake: Allow Windows MT builds to use DLLs, but warn.

26th February 2018 - Ben Morgan (cmake-V10-04-06)
- Geant4InstallData.cmake, Geant4CTest.cmake: Update URL for downloads
  to "cern.ch/geant4-data" as the correct alias to new EOS area, seperate
  from main website.

26th February 2018 - Ben Morgan (cmake-V10-04-05)
- Geant4InstallData.cmake, Geant4CTest.cmake: Update URL for downloads
  to "cern.ch/geant4" as the correct alias.

26th February 2018 - Ben Morgan (cmake-V10-04-04)
- G4BuildSettings.cmake: Add 17/c++17 to C++ standards against which
  Geant4 can be compiled. Will require a minimum CMake version of
  3.8 to enable, but this is not checked.

20th February 2018 - Ben Morgan (cmake-V10-04-03)
- Initial configuration support for MT on Windows
- Modules/G4BuildSettings.cmake: Remove restrictions and warnings on enabling
  MT on Windows. Add restriction on building MT DLLs, emitting a fatal error
  if this combination is selcted, and report needed settings to enable
  static MT libraries.

18th January 2018 - Ben Morgan (cmake-V10-04-02)
- Support use of WINDOWS_EXPORT_ALL_SYMBOLS for DLL builds with cmake >=3.4
  retaining old capability for CMake 3.3.
- Modules/G4WindowsDLLSupport.cmake: New module to hold old DLL support.
  Create old `genwindef` support program, moved from G4BuildSettings.
  Implement `__geant4_add_dll_old` macro which expands to the pre cmake 3.4
  use of `genwindef` to export symbols and create DLL.
- Modules/G4DeveloperAPI_OLD.cmake: Include G4WindowsDLLSupport module, and
  use functionality to create DLL when CMake is <3.4. Otherwise, use
  new WINDOWS_EXPORT_ALL_SYMBOLS property when building a shared library.

11th January 2018 - Gabriele Cosmo (cmake-V10-04-01)
- Modules/Geant4OptionalComponents.cmake: add TESSELLATEDSOLID flag to enable
  wrapping of G4TessellatedSolid in GEANT4_USOLIDS_SHAPES.
  Coworks with tag geom-specific-V10-04-03.

8th December 2017 - Ben Morgan (cmake-V10-04-00)
- Templates/UseGeant4_internal.cmake: When running test driver directly,
  make it run in WORKING_DIRECTORY if this is supplied.

30th November 2017 - Gabriele Cosmo (cmake-V10-03-49)
- Replaced USolids specific flags with VecGeom in Geant4OptionalComponents.cmake.
  From now on VecGeomConfig.cmake will be required and used instead of
  USolidsConfig.cmake, as well as VecGeom_DIR instead of USolids_DIR.

29th November 2017 - Ben Morgan (cmake-V10-03-48)
- Bugfix: Restore reporting of GEANT4_BUILD_CXXSTD.

27th November 2017 - Ben Morgan (cmake-V10-03-47)
- Remove obsolete FindROOT module

10th November 2017 - Gunter Folger  (cmake-V10-03-46)
- Switch to new dataset G4PhotonEvaporation5.2

10th November 2017 - Gabriele Cosmo (cmake-V10-03-45)
- G4ConfigureGNUMakeHelpers.cmake: corrected setting of USOLIDS_BASE_DIR
  path for GNUmake.

7th November 2017 - Ben Morgan (cmake-V10-03-44)
- Modules/Geant4OptionalComponents.cmake:
  When using HDF5 with Multithreaded Geant4, check
  that found install of HDF5 was built with thread
  safety. Require HDF5 >= 1.8.

3rd November 2017 - Ben Morgan (cmake-V10-03-43)
- BUGFIX: Make HDF5 component checkable by clients
- Templates/Geant4Config.cmake.in : Add "hdf5" component
  with associated boolean Geant4_hdf5_FOUND.
- Templates/geant4-config.in: add "hdf5" feature

27th October 2017 - Gunter Folger  (cmake-V10-03-42)
- Switch to new dataset G4EMLOW 7.3

25th October 2017 - Ben Morgan (cmake-V10-03-41)
- Modules/Geant4LibraryBuildOptions.cmake:
  Add new advanced build option GEANT4_BUILD_MUONIC_ATOMS_IN_USE,
  requested by Krzysztof Genser and Makoto Asai. OFF by default,
  when ON, adds G4MUTOMS_INUSE to compile definitions. As the
  code protected by the symbol only appears in .cc files, do
  not export this definition to clinet side build settings.
- Templates/geant4-config.in, Templates/Geant4Config.cmake.in
  Record use of GEANT4_BUILD_MUONIC_ATOMS_IN_USE as a feature
  and component respectively. Neither affects the build settings,
  it's simply a report on whether the option was used or not.

19th October 2017 - Gunter Folger  (cmake-V10-03-40)
- Switch to new dataset G4EMLOW 7.2

19th October 2017 - Gunter Folger  (cmake-V10-03-39)
- Switch to new dataset G4ABLA 3.1

16th October 2017 - Gabriele Cosmo (cmake-V10-03-38)
- Modules/Geant4OptionalComponents.cmake: add HYPE flag to enable
  wrapping of G4Hype in GEANT4_USOLIDS_SHAPES.
  Coworks with tag geom-specific-V10-03-21.

26th September 2017 - Gunter Folger (cmake-V10-03-37)
- Switch to new datasets:
  - G4ENSDFSTATE2.2
  - G4PhotonEvaporation5.1
  - G4RadioactiveDecay5.2

13th September 2017 - Ben Morgan (cmake-V10-03-36)
- Modules/Geant4OptionalComponents.cmake: Require system expat version
  >= 2.0.1. Identified in Bugzilla #2003. g4tools uses expat functions
  only present in 2.0.1 or higher. Though Geant4 supported systems all
  meet this requirement, check expat version and error out if version
  is < 2.0.1. On error, report information on cause and how to rectify.

11th September 2017 - Ben Morgan (cmake-V10-03-35)
- Modules/G4CMakeMain.cmake: Remove GEANT4_BUILD_EXAMPLES option.
  Add GEANT4_INSTALL_EXAMPLES option. Advanced and ON by default,
  thia is for use by developers who wish to save time/space by not
  installing all the example code.

7th September 2017 - Ben Morgan (cmake-V10-03-34)
- Modules/G4DeveloperAPI_OLD.cmake: Set INSTALL_RPATH on macOS
  Requested by Fons Rademackers. Loading Geant4 dylibs in Python
  can lead to resolution errors as they cannot locate each other.
  Append "@loader_path" to the INSTALL_RPATH for all Geant4 libraries.
  This will expand to the directory of the library being loaded, which
  will contain the other Geant4 libraries. Append is used to that
  users may still supply CMAKE_INSTALL_RPATH at configure time,
  and this will be preferred.

5th September 2017 - Gunter Folger (cmake-V10-03-33)
- Modules/Geant4DatasetDefinitions.cmake: switch to G4EMLOW7.1

23rd August 2017 - Gunter Folger   (cmake-V10-03-32)
- Modules/Geant4DatasetDefinitions.cmake: switch to G4EMLOW7.0

3rd August 2017 - Ben Morgan (cmake-V10-03-31)
- Create a G4HDF INTERFACE target for uniform access to HDF5 headers
  and libraries at build, test and install time. It is not completely
  relocatable as the target hardcodes header/library paths. However,
  it creates a single point of access so that adding relocation
  will require minimal changes, limited to the cmake category.

27th July 2017 - Ivana Hrivnacova (cmake-V10-03-30)
- Removed FindHdf5.cmake as the find module is provided with CMake

27th July 2017 - Ivana Hrivnacova (cmake-V10-03-29)
- Modules/Geant4OptionalComponents.cmake : Add new GEANT4_USE_HDF5
  option, OFF by defaults, to allow user to enable Hdf5 support
  in analysis library.

18th July 2017 - Andrea Dotti (cmake-V10-03-27,-28)
- Modules/FindStatTest.cmake fix logic to set
  STATTEST_FOUND==FALSE if GEANT4_ENABLE_TESTING==FALSE

17th July 2017 - Gabriele Cosmo (cmake-V10-03-26)
- Modules/G4ConfigureGNUMakeHelpers, Modules/Geant4InterfaceOptions.cmake:
  corrected Qt setup for GNUmake builds, avoid setting QTLIBS and GLQTLIBS
  as already handled by the GNUmake system for Qt4 and Qt5.

11th July 2017 - Gabriele Cosmo (cmake-V10-03-25)
- Modules/Geant4OptionalComponents.cmake: add PARA flag to enable
  wrapping of G4Para in GEANT4_USOLIDS_SHAPES.
  Coworks with tag geom-csg-V10-03-29.

10th July 2017 - Gabriele Cosmo (cmake-V10-03-24)
- Modules/Geant4OptionalComponents.cmake: add CTUBS flag to enable
  wrapping of G4CutTubs in GEANT4_USOLIDS_SHAPES.
  Coworks with tag geom-csg-V10-03-28.

12th June 2017 - Ben Morgan (cmake-V10-03-23)
- Remove support for modulefile generation, as not used and
  generated files not compatible with relocatability. It's
  expected that software stack managers will generate a
  modulefile file according to their requirements.

9th June 2017 - Gabriele Cosmo  (cmake-V10-03-22)
- Corrected exporting of external packages paths from VecGeom.

8th June 2017 - Gunter Folger   (cmake-V10-03-21)
- Modules/Geant4DatasetDefinitions.cmake: switch to G4EMLOW6.54

31st May 2017 - Gunter Folger   (cmake-V10-03-20)
- Modules/Geant4DatasetDefinitions.cmake: switch to RealSurface 2.1

30th May 2017 - Gabriele Cosmo  (cmake-V10-03-19)
- Modules/Geant4OptionalComponents.cmake: added VECGEOM_EXTERNAL_INCLUDES
  to include directories for USolids/VecGeom enabled build, in order to
  allow for detection of external packages paths from VecGeom (e.g. Vc if
  Vetor backend is chosen at installation of VecGeom).

24th May 2017 - Gabriele Cosmo  (cmake-V10-03-18)
- Modules/Geant4OptionalComponents.cmake: appended VECGEOM_DEFINITIONS
  to GEANT4_USOLIDS_COMPILE_DEFINITIONS. Preparing for introducing direct
  dependency on VecGeom in G4U* wrappers, and deprecate USolids.

16th May 2017 - Ben Morgan      (cmake-V10-03-17)
- BUGFIX #1960: Do not set or modify DYLD_LIBRARY_PATH in basic and
  geant4make setup scripts on macOS.

2nd May 2017 - Gunter Folger    (cmake-V10-03-16)
- Update G4EMLOW data to 6.53

4th April 2017 - Gunter Folger  (cmake-V10-03-15)
- Update PhotonEvaporation data to 5.0

27th March 2017 - Gunter Folger (cmake-V10-03-14)
- fix previous tag: the download file for RealSurface re-named
   from RealSurface to G4RealSurface, making this name is  consistent
   with other datafiles.

23rd March 2017 - Gunter Folger (cmake-V10-03-13)
- Update RealSurface data to 2.0

9th March 2017 - Gunter Folger  (cmake-V10-03-12)
- Modules/G4CMakeMain.cmake: add directory verification to testing

23rd February 2017 - Ben Morgan (cmake-V10-03-11)
- Bugfix-1934
- Templates/Geant4Config.cmake.in: Re-include CLHEP
  include directories when using external CLHEP. Needed
  to allow examples using ROOT to generate dictionaries
  as ROOT's CMake functions do not support usage requirements
  or generator expressions yet.

21st February 2017 - Gunter Folger  (cmake-V10-03-10)
 base on tag cmake-V10-03-06, and only update History
 and Modules/Geant4DatasetDefinitions.cmake to trunk.
 Changes to above two files committed first in trunk.
 Then create branch cmake-V10-03-06_branch for tagging.
- switch to PhotonEvaporation 4.3.2


21st February 2017 - Gunter Folger  (cmake-V10-03-09)
 rejected: as based on previous rejected tags
- switch to PhotonEvaporation 4.3.2

10th February 2017 - Ben Morgan (cmake-V10-03-08)
- Bugfix: Continuous identified issue on Windows and internal CLHEP.
  Way that DLLs are built means that target_include_directories are
  not propagated to intermediate archive library, causing builds
  to fail due to missing CLHEP headers.
- Geant4OptionalComponents.cmake : Set CLHEP_INCLUDE_DIRS to internal
  path for CLHEP headers with using builtin CLHEP.
- TODO: look at resolution via better DLL build process.

9th February 2017 - Ben Morgan (cmake-V10-03-07)
- BUGFIX-1934
- Incorporates all changes from branch cmake-bugfix-1934

8th February 2017 - Ben Morgan (branch cmake-bugfix-1934)
- BUGFIX 1934
- Note that this patch should not be applied to Geant4 < 10.3 without additional
  changes to support CLHEP's imported targets in versions =< 2.3.3.0.
- See the comments in Geant4OptionalComponents.cmake for details.
- Remove obsolete FindCLHEP.cmake module
- Geant4OptionalComponents.cmake: Update Internal/System CLHEP selection
  - Prepend CLHEP_ROOT_DIR to CMAKE_PREFIX_PATH so that find_package's
    Config mode finds CLHEP as FindCLHEP did. Retain auto-activation
    of GEANT4_USE_SYSTEM_CLHEP if CLHEP_ROOT_DIR supplied.
  - Simplify System/Granular CLHEP selection using dependent options
  - Simplify location/setup of system CLHEP as CLHEP >= 2.3.3.0 provides
    CLHEP_LIBRARIES set with appropriate single/granular targets with
    full usage requirements.
  - Remove setting of GEANT4_USE_BUILTIN_CLHEP variable.
- G4ConfigureCMakeHelpers.cmake: Remove install of deleted FindCLHEP module
- Geant4Config.cmake.in: Update re-find of CLHEP to use find_package Config mode
  - Set CLHEP_DIR rather than CLHEP_ROOT_DIR.
  - Add new variable Geant4_system_clhep_FOUND set from expansion of
    buildtime GEANT4_USE_SYSTEM_CLHEP option.
  - Set value of Geant4_builtin_clhep_FOUND as boolean inverse of Geant4_system_clhep_FOUND

7th February 2017 - Ben Morgan (cmake-V10-03-06)
- Restructure developer API scripts for clarity ready for new system
- Merge Geant4MacroDefineModule.cmake and Geant4MacroLibraryTargets.cmake
  into single G4DeveloperAPI_OLD.cmake module
- Create new G4DeveloperAPI.cmake module. This will be the eventual home
  for the new developer API, but for now it simply forwards to
  G4DeveloperAPI_OLD.cmake.
- Leave Geant4MacroDefineModule and Geant4MacroLibraryTargets modules
  as stubs which simply forward to G4DeveloperAPI. At present these modules
  are included in several places, so maintaining their presence is required.
- Include G4DeveloperAPI in top levl G4CMakeMain module.

3rd February 2017 - Gunter Folger  (cmake-V10-03-05)
- switch to
  - PhotonEvaporation 4.3.1
  - RadioactiveDecay 5.1.1

27th January 2017 - Ben Morgan (cmake-V10-03-04)
- Refactor core Configure/Build and Client Script modules for
  clarity and cohesion.
- Module renames and changes:
  - Modules/G4CMakeSettings.cmake (NEW)
    - Handles all core CMake behaviour and extensions
  - Modules/Geant4MacroUtilities.cmake -> Modules/G4CMakeUtilities.cmake
    - Rename to better reflect purpose
  - Modules/Geant4LibraryBuildOptions.cmake -> Modules/G4BuildSettings.cmake
    - Handles all core build/link options not dependent on externals
    - All functionality in Modules/Geant4BuildModes.cmake moved to this module
  - Modules/Geant4ToolchainBackwardCompatibility.cmake -> Modules/G4ConfigureGNUMakeHelpers.cmake
    - Rename to clearly identify task
    - Move all GMake related setup to this module
  - Modules/Geant4ConfigureConfigScript.cmake -> Modules/G4ConfigurePkgConfigHelpers.cmake
    - Rename to clearly identify task
  - Modules/Geant4BuildProjectConfig.cmake -> Modules/G4ConfigureCMakeHelpers.cmake
    - Rename to clearly identify task
- Modules/Geant4CTest.cmake
  - All test-related options moved into file.

16th January 2017 - Ben Morgan (cmake-V10-03-03)
- Remove/refactor obsolete CMake modules
- Modules/CMakeMacroParseArguments.cmake: Remove as interface
  provided by CMake builtin CMakeParseArguments. Use builtin
  interface in modules:
  - FindROOT.cmake
  - Geant4MacroDefineModule.cmake
  - Geant4MacroLibraryTargets.cmake
  - Geant4MacroUtilities.cmake
  - UseGeant4_internal.cmake
- Modules/Geant4InstallDirs.cmake: Remove as interface
  provided by CMake builtin GNUInstallDirs, included in
  G4CMakeMain.cmake
- Modules/MacroEnsureVersion.cmake: Remove as unused, version
  comparison now supplied in CMake if()
- Modules/ResolveCompilerPaths.cmake: Remove as unused.
- Modules/Geant4BuildProjectConfig.cmake: Remove install
  of obsolete modules.

5th January 2017 - Gunter Folger    (cmake-V10-03-02)
- switch to EMLOW6.52

19th December 2016 - Gunter Folger (cmake-V10-03-01)
- switch to EMLOW6.51

12th December 2016 - Ben Morgan (cmake-V10-03-00)
- Modules/G4CMakeMain.cmake : New Module
  Refactor core implementation from top level CMake script into a module
  under the CMake category. This assists with tagging and upcoming
  modularization work, as changes will be tagged in category and
  can be made without requiring changes and co-working tag for
  top level script.

24th November 2016 - Gunter Folger  (cmake-V10-02-37)
- Switch to PhotonEvaporation 4.3

22nd November 2016 - Ben Morgan (cmake-V10-02-36)
- Modules/Geant4MakeRules_cxx.cmake : Change optimization level for MSVC in
  Release mode to -Ox for consistentcy with GNUmake system.

18th November 2016 - Ben Morgan (cmake-V10-02-35)
- Modules/Geant4BuildModes.cmake : Change default build type to Release
  when using single mode tools like Make/Ninja.
- Modules/Geant4InstallData.cmake : Always convert exported data paths to
  native CMake paths. Prevents parse errors on Windows, where native
  paths are exported (reported by Brian Smith)

17th November 2016 - Ben Morgan (cmake-V10-02-34)
- Fix bug in Qt4/5 handling on Windows
- Templates/Geant4Config.cmake.in : Move re-find of Qt4 inside overall
  Qt4/5 setup section.
- Modules/Geant4BuildProjectConfig.cmake : Remove setting of GEANT4_THIRD_PARTY_IMPORT_SETUP
  variable, and replace with dedicated GEANT4_QT4_IMPORT_SETUP variable for Qt
- Export Qt library path to dynamic loader path in Geant4GNUmake environment setup
- Modules/Geant4ToolchainBackwardCompatibility.cmake :
  Prepend Qt library path to dynamic loader path, noting obselescense on
  macOS.
- Templates/geant4make-skeleton.in : Add expansion variable for Qt dynamic
  loader setup.

15th November 2016 - Ben Morgan (cmake-V10-02-33)
- Export USolids/VecGeom compile defs to Geant4GNUmake environment setup scripts
- Modules/Geant4ToolchainBackwardCompatibility.cmake :
  Configure export variables based on choice of USolids full/partial
  replacement
- Templates/geant4make-skeleton.in : Add entries for required env vars

9th November 2016 - Ivana Hrivnacova  (cmake-V10-02-32)
- Added FindDCMTK.cmake needed for extended/medical/DICOM example

8th November 2016 - Gunter Folger  (cmake-V10-02-31)
- switch to RadioactiveDecay5.1, PhotonEvaporation4.2, G4ENSDFSTATE2.1

3rd November 2016 - Gunter Folger  (cmake-V10-02-30)
- switch to PhotonEvaporation 4.1

31st October 2016 - Ben Morgan (cmake-V10-02-29)
- Modules/Geant4MakeRules_cxx.cmake : fix bug - use correct
  CMAKE_CXX_FLAGS_INIT variable to add -pipe argument to.

31st October 2016 - Ben Morgan (cmake-V10-02-28)
- Bugfix #1877
- Templates/geant4-env-skeleton.in : Provide placeholder
  variable for adding setting of XercesC libpath
- Modules/Geant4ToolchainBackwardCompatibility.cmake
  Extract and export XercesC library directory to geant4.(c)sh
  scripts. Add new _g4tc_append_path function to allow appending
  of entries to a path-like variable. This ensures paths to third
  party libraries appear after the core Geant4 library path which
  should prevent clashes.

27th October 2016 - Gunter Folger (cmake-V10-02-27)
- switch to G4EMLOW 6.50

6th October 2016 - Ben Morgan (cmake-V10-02-26)
- Modules/Geant4MakeRules_cxx.cmake : Move all -f optimization options
to Release mode only. Add -fno-math-errno and -ftree-vectorize.


6th October 2016 - Ben Morgan (cmake-V10-02-25)
- Modules/Geant4MakeRules_cxx.cmake : Add -fno-trapping-math to default
flags of GCC/Clang compielrs to assist in auto-vectorization (recommended
by CMS/GCC). Bump optimization level in Release mode to O3 on all supported
compilers.

3rd October 2016- Gunter Folger (cmake-V10-02-24)
- switch to use G4ENSDFSTATE 2.0
	(requires tag particles-V10-02-28)

29th September 2016 - Robert Hatcher (cmake-V10-02-23)
- Templates/Geant4Config.cmake.in : No longer use --whole-archive for
G4physicslists on static builds; this was never possible for _WIN32 and recent
physics list factory work makes this untenable on some build platforms.

28th September 2016 - Andrea Dotti  (cmake-V10-02-22)
- add option for TEXT output file in FindStatTest.cmake script

19th September 2016 - Gunter Folger (cmake-V10-02-21)
- switch to PhotonEvaporation 4.0

7th September 2016 - Gunter Folger (cmake-V10-02-20)
- switch to G4RadioactiveDecay.5.0

22nd August 2016 - Ben Morgan (cmake-V10-02-19)
- Templates/UseGeant4.cmake : Force core and per-mode flags to those used to
  build Geant4. When Geant4 is built with a single mode generator, default
  CMAKE_BUILD_TYPE for the client to that used to build this install. This
  guarantees matching of librayr/application optimization for most use cases.
  NB: No default mode can be provided if Geant4 itself was built/installed using
  multimode tool like Xcode/VS. This is because multiple modes may be installed
  at once so a sensible default cannot be set (to be looked at further).
- Templates/Geant4Config.cmake.in : Add new Geant4_BUILD_TYPE variable to hold
  build type of install when Geant4 is installed using a single mode tool.
- Modules/Geant4BuildProjectConfig.cmake : Set Geant4_BUILD_TYPE to CMAKE_BUILD_TYPE
  when building with a single mode tool.

15th August 2016 - Gunter Folger (cmake-V10-02-18)
- switch to G4EMLOW.6.49

17th June 2016 - Gabriele Cosmo (cmake-V10-02-17)
- Modules/Geant4OptionalComponents.cmake: set CLHEP-2.3.3.0 as the required
  version for external CLHEP library.

9th June 2016 - Gunter Folger  (cmake-V10-02-16)
- revert change in Templates/Geant4Config.cmake.in in tag cmake-V10-02-14,
    revision 97140; the coworking tags have been rejected.

3rd June 2016 - Gunter Folger  (cmake-V10-02-15)
- switch to RadioActiveDecay 4.4.1 and  G4ENSDFSTATE 1.3.1, both provided by
   Laurent.

25th May 2016 - Robert Hatcher (cmake-V10-02-14)
- Templates/Geant4Config.cmake.in : No longer use --whole-archive for
G4physicslists on static builds; this was never possible for _WIN32 and recent
physics list factory work makes this untenable.

25th May 2016 - Ben Morgan (cmake-V10-02-13)
- Modules/Geant4InterfaceOptions.cmake : Always add Xmu to X11_LIBRARIES when
using Motif/OpenInventor to avoid missing symbol errors on OS X.

24th May 2016 - Ben Morgan (cmake-V10-02-12)
- Modules/Geant4OptionalComponents.cmake : Fix regex to avoid matching to "CONS"
  shape is check for all shapes.

24th May 2016 - Ben Morgan (cmake-V10-02-11)
- Modules/Geant4OptionalComponents.cmake : Initial implementation of a list
  based interface to GEANT4_USE_USOLIDS. Rather than booleans, unify USolids
  replacement into single string/list variable with following behaviour:
  1) Setting to "all", any CMake boolean true value, or a list containing either
     results in complete usolids replacement
  2) A list, i.e. "a;b;c", or shapes to replace with Usolids equivalents may be supplied.
  Validate arguments to prevent unknown shapes being set, and otherwise retain previous
  behaviour
  List allowed values in option docstring.
- Modules/Geant4BuildProjectConfig.cmake : Ensure setting of Usolids use marker to a
  proper boolean value.
- Templates/Geant4Config.cmake.in : Use new full boolean variable as expansion variable
  to indicate usolids support.

23rd May 2016 - Ben Morgan
- Modules/Geant4OptionalComponents.cmake : Allow developers to select
  subsets of solids to replace with USolids equivalents. Request from developers
  and CMS to assist in performance evaluation. NOT INTENDED FOR USERS!
  If GEANT4_USE_SOLIDS is set, use existing configuration/setup. If it is OFF,
  allow setting of additional CMake options, one per shape, to enable replacement
  of that shape with USolids equivalent. When any of these variables are set, set
  additional internal variable GEANT4_USE_PARTIAL_USOLIDS. Convert variables to
  internal preprocessor flags for shape/usolid activation.
- Modules/Geant4BuildProjectConfig.cmake : Export needed USOLIDS/shape activation
  preprocessor flags for selected configuration.
- Modules/Geant4ConfigureConfigScript.cmake : Export needed USOLIDS/shape activation
  preprocessor flags for selected configuration.

28th April 2016 - Ben Morgan (cmake-V10-02-10)
- Templates/Geant4Config.cmake.in: BUGFIX #1855. When using an external
  CLHEP, the provided FindCLHEP module is not used. Wrap call to
  find_package(CLHEP) with push/pop of CMAKE_MODULE_PATH to ensure
  Geant4's builtin module is used and not interfere with any user
  settings of CMAKE_MODULE_PATH.

19th April 2016 - Gunter Folger (cmake-V10-02-09)
-  correct Modules/genwindef/LibSymbolInfo.cpp for use with VC 64 bit compilation

29th March 2016 - Gunter Folger (cmake-V10-02-08)
-  switch to RadioActiveDecay 4.4; dataset identical to 4.3.1, packaging
    corrected to be a compressed tar file, 4.3.1 is plain tar

16th March 2016 - Ben Morgan (cmake-V10-02-07)
- Modules/Geant4InterfaceOptions.cmake : Fix Bug #1828
  Apply patch from Vladimir Belov to add libXt to X11_LIBRARIES on all
  Unix platforms when using Motif/Inventor.

23rd February 2016 - Gunter Folger (cmake-V10-02-06)
-  Correct md5sum for RadioactiveDecay.4.3.1 after removal of MAC Safari files.

23rd February 2016 - Gunter Folger (cmake-V10-02-05)
- Modules/Geant4DatasetDefinitions.cmake:
    - revert back to G4ENSDFSTATE.1.3
	 - use patched RadioactiveDecay data 4.3.1

23rd February 2016 - Gunter Folger (cmake-V10-02-04)
- Modules/Geant4DatasetDefinitions.cmake: Use data set G4ENSDFSTATE.1.2.1
   Note 1.2.1 is identical to 1.3, it is a patch on 1.2

5th February 2016 - Gunter Folger (cmake-V10-02-03)
- Modules/Geant4DatasetDefinitions.cmake: Use new data set G4ENSDFSTATE.1.3

22nd January 2016 - Ben Morgan (cmake-V10-02-02)
- Modules/FindCLHEP.cmake : Restore from last version. Update regexing
  of defs.h file for CLHEP 2.3.1.1 changes, retaining compatibility with
  earlier versions. Create imported targets CLHEP and CLHEP::<COMPONENT>
  to ease transition to full Config mode support once we can support it.
- Modules/Geant4OptionalComponents.cmake : Rollback to using package-mode
  to locate CLHEP. Modify CLHEP_LIBRARIES after finding to fill this with
  the imported targets instead of absolute paths.
- Modules/Geant4BuildProjectConfig.cmake : Add FindCLHEP.cmake to installed
  modules so that Geant4Config.cmake can refind CLHEP and hence the imported
  targets.
- Templates/Geant4Config.cmake.in : Refind CLHEP using package-mode,
  using hardcoded CLHEP_ROOT_DIR if set as a hint.

15th December 2015 - Ben Morgan (cmake-V10-02-01)
- Templates/Geant4Config.cmake.in : Use PATHS option in find_package
  for CLHEP, setting it to discovered CLHEP_DIR. Required at present
  to provide a hint to builds of tests, which do not have
  CMAKE_PREFIX_PATH set appropriately.

15th December 2015 - Ben Morgan (cmake-V10-02-00)
- [BUGFIX #1805] : Preliminary fix for CLHEP 2.3.1.1 config error
- Modules/FindCLHEP.cmake : REMOVED as obsolete
- Modules/Geant4OptionalComponents.cmake : Use NO_MODULE in
  find_package(CLHEP) so that CLHEPConfig.cmake is preferred.
  Retain use of CLHEP_ROOT_DIR temporarily for transition in
  testing system
- Modules/Geant4BuildProjectConfig.cmake : Remove setting of explicit CLHEP
  directory, defering this to find_package call in Geant4Config.cmake
- Templates/Geant4Config.cmake.in : Use namespaced name for Geant4 cmake
  directory to avoid upstream clashes.
  Add explicit call to find_package(CLHEP) so that imported targets are refound.
  Move inclusion of targets file to after setup steps to ensure all external
  targets exist before this is included. This is also to help further work
  on use of imported targets.
- Modules/Geant4ConfigureConfigScript.cmake : Extract LOCATION property from
  CLHEP targets to provide setting of lib paths in geant4-config
- Templates/geant4-config.cmake.in : Remove explicit calls to clhep-config
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Extract LOCATION
  properties from CLHEP imported targets.


25th November 2015 - Ben Morgan (cmake-V10-01-41)
- Modules/Geant4InterfaceOptions.cmake : Move force Qt4 option
  alongside use Qt option so that it can be set in Curses/GUI before
  first-pass search for Qt.
- Modules/Geant4BuildModes.cmake : Change default build mode for
  single config generators to RelWithDebInfo to match testing
  system and UNIX conventions.
- Modules/Geant4LibraryBuildOptions.cmake : Add new MSVC only option
  GEANT4_BUILD_MSVC_MP, defaulting to OFF. When ON, it prepends /MP
  to CMAKE_CXX_FLAGS to enable file level parallel compilation when
  using MSBuild.

23rd November 2015 - Ben Morgan (cmake-V10-01-40)
- Modules/FindROOT.cmake : Apply patch from Ivana Hrivnacova to provide
  compatibility with ROOT6 and allow usage of ROOTConfig.cmake, if
  available.
- Modules/Geant4MakeRules_cxx.cmake : Correct checking of Intel compiler
  to use better CMAKE_CXX_COMPILER_ID variable.
- Modules/Geant4InterfaceOptions.cmake : Allow user to force search for
  Qt4 only when GEANT4_USE_QT is selected. Requested on User Forum by
  Jan Pipek (http://hypernews.slac.stanford.edu/HyperNews/geant4/get/installconfig/1766.html)

18th November 2015 - Ben Morgan (cmake-V10-01-39)
- Modules/IntelCompileFeatures.cmake : Fix logic error in conditionals
  that resulted in only one branch being followed and a non-complete
  set of compile features being set.

17th November 2015 - Ben Morgan (cmake-V10-01-38)
- Modules/Geant4LibraryBuildOptions.cmake : To provide backward
  compatibility, allow GEANT4_BUILD_CXXSTD to be supplied as either
  an epoch like '11' or as 'c++<epoch>'. If the latter form is supplied
  postprocess to remove the 'c++' so that standards can be dealt with in
  a uniform numeric manner.

17th November 2015 - Ben Morgan (cmake-V10-01-37)
- Use CMake Compile Features to setup C++ Standard
- Modules/Geant4MakeRules_cxx.cmake : Remove setup of standard selection
  via compiler version checking.
- Modules/Geant4LibraryBuildOptions.cmake : Create list of compile
  features required by Geant4, per C++ Taskforce report. For 10.2, do
  not include
  - cxx_deleted_functions
  - cxx_generalized_initializers
  - cxx_constexpr
  - cxx_inheriting_constructors
  to provide backward compatibility with Visual Studio 2013 (MSVC 18).
  Maintain GEANT4_BUILD_CXXSTD option to allow user to choose between
  C++11 and C++14 standards. When newer standard is chosen, require that
  compiler supports at least one feature from that standard, and add all
  supported features of that standard to the required list.
- Modules/IntelCompileFeatures.cmake : CMake does not currently provide
  builtin compile features for ICC. Use info provide by Intel to support
  compile features for this compiler.
- Modules/Geant4MacroLibraryTargets.cmake : Use target_compile_features
  to set the required features on all Geant4 targets.
- Modules/Geant4BuildProjectConfig.cmake,
  Templates/Geant4Config.cmake.in, Templates/geant4-config.in: Update
  setting of flags and standard used to obtain information from
  compile features.

10th November 2015 - Gabriele Cosmo (cmake-V10-01-36)
- Put CLHEP version 2.3.1.0 as the minimum required in script
  Modules/Geant4OptionalComponents.cmake.

9th November 2015 - Gunter Folger (cmake-V10-01-35)
- Modules/Geant4DatasetDefinitions.cmake: Use new data sets
  PhotonEvaporation3.2 and RadioactiveDecay4.3.

2nd November 2015 - Ben Morgan (cmake-V10-01-34)
- Modules/Geant4CTest.cmake : Add TOOLS_FONT_PATH to test environment
  when Freetype support enabled.

28th October 2015 - Gunter Folger (cmake-V10-01-33)
- Modules/Geant4DatasetDefinitions.cmake: Use new data set G4EMLOW6.48

23th October 2015 - Gunter Folger (cmake-V10-01-32)
- Modules/Geant4DatasetDefinitions.cmake: Use new data set G4ENSDFSTATE.1.2

22nd October 2015 - Ben Morgan (cmake-V10-01-31)
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Add export
  of TOOLS_FONT_PATH to environment when Freetype support is enabled,
  pointing to the fonts/ subdirectory of Geant4's share directory.
  For the buildtree, point it to PROJECT_SOURCE_DIR/source/analysis/fonts
  Treat TOOLS_FONT_PATH as a UNIX style PATH variable with normal
  separators.
- Templates/geant4-env-skeleton.in, Templates/geant4make-skeleton.in :
  Add export variables for configuring TOOLS_FONT_PATH variable.

21st October 2015 - Ben Morgan (cmake-V10-01-30)
- Modules/Geant4ConfigureConfigScript.cmake : Export value of
  GEANT4_USE_FREETYPE to geant4-config to allow this to report support
  status of freetype in G4analysis
- Templates/geant4-config.in : Add freetype feature to report status of
  freetype support in G4analysis
- Templates/Geant4Config.cmake.in : Add freetype component to require
  freetype support in G4analysis.

19th October 2015 - Ben Morgan
- Modules/Geant4OptionalComponents.cmake : Add new GEANT4_USE_FREETYPE
  option, OFF by defaults, to allow user to enable Freetype support
  in analysis library.

12th October 2015 - Gunter Folger (cmake-V10-01-29)
- Modules/Geant4DatasetDefinitions.cmake: Use new data set G4EMLOW.6.47

8th October 2015 - Ben Morgan (cmake-V10-01-28)
- Modules/Geant4OptionalComponents.cmake: Only allow use of system
  USolids. Remove old "USE_SYSTEM_USOLIDS" option, and always call
  find_package for USolids.
- Modules/GeantBuildProjectConfig.cmake, Templates/Geant4Config.cmake.in:
  Remove old system usolids settings as USolids is always system now
- Modules/Geant4ConfigureConfigScript.cmake, Templates/geant4-config.in:
  Remove old system Usolids settings as Usolids is alsways system now.
  Ensure include paths exported.

6th October 2015 - Ben Morgan (cmake-V10-01-27)
- Modules/Geant4MakeRules_cxx.cmake: Update AppleClang detection to
  for Xcode 7 and match to CMake 3's AppleClang rules. Provide
  CXXSTD_IS_AVAILABLE for MSVC 19 so that appropriate standard selection
  preprocessor symbols are defined.

1st October 2015 - Gunter Folger (cmake-V10-01-26)
- Modules/Geant4DatasetDefinitions.cmake: Use new data set G4EMLOW.6.46

18th September 2015 - Ben Morgan (cmake-V10-01-25)
- Modules/Geant4LibraryBuildOptions.cmake, Modules/Geant4MacroLibraryTargets, Modules/GeantBuildProjectConfig.cmake: Allow both static and shared libs
  to be built on Windows. Remove G4LIB_BUILD_DLL preprocessor def from
  global settings, only adding it to the public compile defs of the
  resulting DLL. To create DLL, always compile dedicated archive library
  separate from installed version. Compile the sources of this dedicated
  archive library with G4LIB_BUILD_DLL set so that DLL relevant symbols
  are used.

16th September 2015 - Gunter Folger (cmake-V10-01-24)
- Modules/Geant4DatasetDefinitions.cmake: Use new data set G4ENSDFSTATE.1.1

14th September 2015 - Ben Morgan (cmake-V10-01-23)
- Modules/Geant4CTest.cmake, Modules/Geant4InstallData.cmake, Modules/Geant4ToolchainBackwardCompatibility.cmake: Export and use G4ENSDFDATA dataset
  and environment variable. It will become the default to use this dataset
  so requires export.

1st September 2015 - Gunter Folger (cmake-V10-01-22)
- Modules/Geant4DatasetDefinitions.cmake: Use new data set G4EMLOW.6.45

31st August 2015 - Gabriele Cosmo (cmake-V10-01-21)
- Modules/Geant4OptionalComponents.cmake, GeantBuilsProjectConfig.cmake and
  Templates/geant4-config.in: added specific compilation flag
  "-DG4GEOM_USE_SYS_USOLIDS" to distinguish build with sys-installed
  USolids/VecGeom module (temporary, until internal USolids module will be
  removed).

12th August 2015 - Gabriele Cosmo (cmake-V10-01-20)
- Modules/Geant4MakeRules_cxx.cmake: removed -gcc-sys in CMAKE_CXX_FLAGS
  for the Intel compiler, as no longer necessary.
- Modules/Geant4LibraryBuildOptions.cmake: removed try-compile block for
  atomics on Intel compiler, as no longer necessary.

7th August 2015 - Gabriele Cosmo (cmake-V10-01-19)
- Modules/Geant4MakeRules_cxx.cmake: replaced -no-gcc with -gcc-sys
  in CMAKE_CXX_FLAGS when using Intel compiler, to allow for GNU macros
  to be defined when compiling system headers.

31st July 2015 - Ben Morgan (cmake-V10-01-18)
- Modules/Geant4MacroLibraryTargets.cmake : Updates for migration to
  CMake >= 2.8.12. Use generator expressions in setting of per-mode
  compile definitions for Geant4 libs. Use INTERFACE_LINK_LIBRARIES
  instead of LINK_INTERFACE_LIBRARIES on Windows. Replace use of
  INSTALL_NAME_DIR with MACOSX_RPATH property for OS X libraries.

29th July 2015 - Ben Morgan
- Module/Geant4LibraryBuildOptions.cmake : Add try-compile for
  atomics with Intel in C++1X mode and use Intel atomic if system
  cannot support them. Reported by Andrea Dotti,
  because Geant4 uses Intel's no-gcc flag to prevent thread local
  issues, system atomic header will be used by default. If system
  compiler does not support atomic, builds will fail.

27th July 2015 - Ben Morgan (cmake-V10-01-17)
- Modules/Geant4MakeRules_cxx.cmake : Always use libc++ with Apple
  Clang so that std-supporting library is used for C++11 mode on
  older Mac systems where libstdc++ is the default.

23rd July 2015 - Ben Morgan (cmake-V10-01-16)
- Modules/Geant4MacroLibraryTargets.cmake : Update rules for .def
  file generation to use new output dirs and to separate .def files
  for each build mode.
- Modules/Geant4MakeRules_cxx.cmake : To permit transition to C++11
  update std-flag setting rules to only allow C++11 builds with compiler
  versions that are know to support the features in current use.

22nd July 2015 - Ben Morgan (cmake-V10-01-15)
- Modules/Geant4MakeRules_cxx.cmake : When compiler allows selection
  of C++ standard and allows C++0x/11, default to using this standard.

13th July 2015 - Ben Morgan (cmake-V10-01-14)
- Modules/Geant4LibraryBuildOptions.cmake : Migrate output directories
  for build products to use same layout as install tree. For single
  mode generators (Makefiles/Ninja), products are output to a
  'BuildProducts' subdir of the main binary dir which holds bin/lib
  directories as derived from requested install dirs. With multimode
  generators (Xcode/VS), 'BuildProducts' holds an extra directory layer,
  one per build mode, under which the same bin/lib structure is used.
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Update to use
  correct output dirs.
- Modules/Geant4ConfigureConfigScript.cmake : Note that this will not
  work for multimode builds.

8th June 2015 - Ben Morgan (cmake-V10-01-13)
- Templates/Geant4Config.cmake.in : Always re-find Qt5 via find_package
  if Geant4 was configured with Qt5 support. Qt5 libraries are in
  public link interface of G4interfaces and G4OpenGL whether or not it
  is activated for an application, so must always be linked. Without
  refinding, dangling imported targets are left in the link interfaces
  of G4interfaces and G4OpenGL.

26th May 2015 - Gunter Folger (cmake-V10-01-12)
-  Modules/Geant4DatasetDefinitions.cmake: Use new data set G4EMLOW.6.44

19th May 2015 - Gunter Folger (cmake-V10-01-11)
-  Modules/Geant4DatasetDefinitions.cmake: Use new data set G4EMLOW.6.43

5th May 2015 - Ben Morgan (cmake-V10-01-10)
- Modules/Geant4ConfigureModulefile.cmake : Genarate a modulefile
  for the build tree. Requested by developers, but otherwise unsupported.
- Templates/geant4-modulefile.in : Update export variables to allow
  transparent configuration of build/install tree versions.

29th April 2015 - Ben Morgan (cmake-V10-01-09)
- Modules/Geant4MakeRules_cxx.cmake: Add `-no-gcc` to CMAKE_CXX_FLAGS
  when using Intel compiler. This is temporary fix to give
  matching flags against old GNUmake build. It requires further checks
  to understand full behaviour of this flag to tune code versus
  Intel's `-gcc-sys` flag and `__INTEL_COMPILER` macro.

22nd April 2015 - Ben Morgan (cmake-V10-01-08)
- Modules/FindCLHEP.cmake: Add CLHEP_ROOT_DIR to CMake cache, allowing
  it to be editted in the CMake curses/GUI. Use unset command to remove
  LIBRARY and INCLUDE_DIR variables for CLHEP from the cache when
  CLHEP_ROOT_DIR is changed.
- Templates/geant4-env-skeleton.in: Add expansion entry for CLHEP library
  path
- Modules/Geant4ToolchainBackwardCompatibility.cmake: Export setting
  of dynamic library path to prepend system CLHEP's library path in
  geant4.(c)sh

17th April 2015 - Ben Morgan (cmake-V10-01-07)
- Fixes for JIRA DEV-185 (Allow use of system CLHEP granular libraries)
- Modules/FindCLHEP.cmake: Allow component arguments to be supplied to
  find_package, each component being a CLHEP granular library. Support
  dependencies between components, and fail on REQUIRED if any requested
  component or dependency is not found. Set cache variables for each requested
  component library, and fill CLHEP_LIBRARIES with the requested libraries
- Modules/Geant4OptionalComponents.cmake: Provide new advanced option
  GEANT4_USE_SYSTEM_CLHEP_GRANULAR, which can be set to enable use of CLHEP
  granular libraries from the system. When activated, use new FindCLHEP
  interface to search for Geant4's required components.
- Templates/Geant4Config.cmake.in: Export and document a new variable,
  Geant4_system_clhep_ISGRANULAR that clients can query to check whether
  the system CLHEP was linked in granular mode.
- Modules/Geant4ConfigureConfigScript.cmake: Process and export system CLHEP
  library list to support either singular or granular CLHEP libraries.
- Templates/geant4-config.in: Support CLHEP granular library listing in
  '--libs' argument.
- Modules/Geant4ToolchainBackwardCompatibility.cmake: Export CLHEP_LIB env var
  to support use of system CLHEP libraries in granular mode.
- Templates/geant4make-skeleton.in: Export CLHEP_LIB env var to support
  system CLHEP libs in granular mode.

15th April 2015 - Ben Morgan (cmake-V10-01-06)
- Modules/Geant4MakeRules_cxx.cmake: Update AppleClang version regex for
  Xcode 6.1. This version adds the patch number to the "based on LLVM"
  id. The full version number is now derived.

20th March 2015 - Gabriele Cosmo (cmake-V10-01-05)
- Modules/Geant4MacroLibraryTargets.cmake: Added external G4geomUSolids
  library to static linkage list. Addressing problem report #1725.

2nd February 2015 - Ben Morgan
- Modules/Geant4CPackBase.cmake: Exclude directories named "test"
  and "tests" from source package. Provide function to pad version
  triplet entries to two digits (with zeros), and name source package
  following convention of standatd release proceedure. CAVEATS: Patch
  version still included with initial release, no use of beta/patch/rc
  tags in patch numbering.

29th January 2015 - Ben Morgan (cmake-V10-01-04)
- Modules/Geant4MakeRules_cxx.cmake: Minor update to only use c++11
  on Intel 15 compiler and better. Though this standard can be used
  on slightly earlier versions, only 15 has full features (for Geant4's
  needs). We would like to be consistent in standard use so that 'c++0x'
  is always used for compilers with partial support (even if 'c++11' is
  allowed), reserving 'c++11' for fully supported cases. This still
  needs review for GNU and Clang.

29th January 2015 - Ben Morgan (cmake-V10-01-03)
- Modules/Geant4MakeRules_cxx.cmake: Add support for compiling against
  c++1y standard for GNU and Clang compilers. Add support for compiling
  against c++11 standard for Intel compiler.

17th December - Ben Morgan (cmake-V10-01-02)
- Modules/Geant4InterfaceOptions.cmake: BUGFIX #1683. Correct search
  path for X11 libraries to ensure location of Xquartz libs on OS X.

15th December 2014 - Gunter Folger (cmake-V10-01-01)
-  Modules/Geant4DatasetDefinitions.cmake: Use new data set G4EMLOW.6.42

05th December 2014 - Ben Morgan (cmake-V10-01-00)
- Modules/Geant4LibraryBuildOptions.cmake: When on OS X, check
  whether compiler IDed as Clang is actually g++ via command
  path. Ensures that "GEANT4_COMPILER" is correctly set for
  GNUmake compatibility.

01st December 2014 - Ben Morgan (cmake-V10-00-37)
- Modules/Geant4BuildProjectConfig.cmake: Correct export of USolids
  system headers so that these are exported whether or not USolids
  are used to replace G4 solids.

18th November 2014 - Ben Morgan (cmake-V10-00-36)
- Templates/UseGeant4.cmake : Include Geant4 headers as SYSTEM and after
  other headers. This is to help to suppress warnings when user has
  more stringent compiler settings than us.

12th November 2014 - Ben Morgan (cmake-V10-00-35)
- Modules/Geant4LibraryBuildOptions.cmake: Remove GEANT4_BUILD_TPMALLOC
  as this is no longer required

11th November 2014 - Gunter Folger (cmake-V10-00-34)
- Modules/Geant4DatasetDefinitions.cmake: update md5sum
   for G4EMLOW6.21 after correction of files access permissions.

10th November 2014 - Gunter Folger (cmake-V10-00-33)
- Modules/Geant4DatasetDefinitions.cmake: RadioactiveDecay4.2
   and update md5sum for G4EMLOW6.21 after correction of files
	access permissions.

07th November 2014 - Ben Morgan (cmake-V10-00-32)
- Modules/Geant4OptionalComponents.cmake : BUGFIX: Failures of static
  builds traced to typo in USolids settings in static mode where
  EXPAT_LIBRARIES was overwritten. Correct typo.

30th October 2014 - Ben Morgan (cmake-V10-00-31)(INTERNAL)
- Modules/Geant4OptionalComponents.cmake : Update USolids configuration
  to decouple GEANT4_USE_USOLIDS and GEANT4_USE_SYSTEM_USOLIDS
  options.
  - GEANT4_USE_USOLIDS ON means that Geant4 solids are replaced with
    USolids equivalents, OFF means Geant4 solids and USolids are available
  - A USolids lib must ALWAYS be availble, so GEANT4_USE_SYSTEM_USOLIDS
    simply switches between these.
- Templates/Geant4Config.cmake.in : decouple GEANT4_USE_USOLIDS and
  GEANT4_USE_SYSTEM_USOLIDS
- Templates/geant4-config.in : decouple GEANT4_USE_USOLIDS and
  GEANT4_USE_SYSTEM_USOLIDS

30th October 2014 - Ben Morgan (cmake-V10-00-30)(INTERNAL)
- Support builtin/system USolids library
- Modules/Geant4OptionalComponents.cmake : Update USolids configuration
  use internal G4geomUSolids by default if USolids support requested.
  Add dependent option to allow system USolids to be searched for.
  This assumes that USolids will supply a "USolidsConfig.cmake" file
- Modules/Geant4BuildProjectConfig.cmake : Update to export USolids
  settings as required.
- Templates/Geant4Config.cmake.in : Update to provide new USolids
  component and relevant variables and settings
- Modules/Geant4ConfigureConfigScript.cmake : Update to export
  USolids settings as required
- Templates/geant4-config.in : Update to support USolids builtin/system
  switch.

23rd October 2014 - Ben Morgan (cmake-V10-00-29)
- Templates/geant4-config.in : Add command line arguments to report
  C++ standard compiled against and TLS model used if multithreading
  support available.
  Add presence of static libs as a feature argument that can be checked.
- Modules/Geant4ConfigureConfigScript.cmake : Export yes/no value
  indicating presence of static libraries to config script.
- Templates/Geant4Config.cmake.in : Add variables to indicate C++
  standard compiled against and TLS model used. Latter is only set
  if multithreading support is available.
- Modules/

22nd October 2014 - Gunter Folger (cmake-V10-00-28)
- Modules/Geant4DatasetDefinitions.cmake: G4EMLOW.6.41

21st October 2014 - Ben Morgan (cmake-V10-00-27)
- Modules/Geant4ConfigureModulefile.cmake : New file to configure
  and install a basic Environment Modules modulefile for Geant4.
  Provides basic Path/Datapath settings only, in line with geant4.(c)sh
  scripts. Because the location of modulefiles can be highly system
  dependent, install file in datarootdir with absolute paths coded in.
  Allows file to be moved later on as required on the system and
  patched accordingly.
- Templates/geant4-modulefile.in : basic template for a modulefile
- Modules/Geant4ToolchainBackwardCompatibility.cmake : include and
  call functionality in Geant4ConfigureModulefile.

20th October 2014 - Ben Morgan
- Modules/Geant4ToolchainBackwardCompatibility.cmake,
  Templates/geant4make-skeleton.in: Revert changes introduced to
  support modulefiles due to uneeded variables being exported.

10th October 2014 - Andrea Dotti (cmake-V10-00-26)
- Modules/FindROOT.cmake add ROOT_BIN_DIR variable to point to the
  path of root executables. Needed to use hadd application for
  physics testings (merging of output files for MT)

08th October 2014 - Ben Morgan (cmake-V10-00-25)
- Templates/UseGeant4.cmake : BUGFIX #1663, Append existing CMake
  CXX/EXE_LINKER flags to Geant4 flags when setting overall CMake flags.
  This allows users to override the base set if needed, at their own
  risk.

26th September 2014 - Ben Morgan (cmake-V10-00-24)
- Modules/Geant4ToolchainBackwardCompatibility.cmake,
  Templates/geant4make-skeleton.in: Revert changes introduced to
  support modulefiles due to incorrect installation names of scripts.

26th August 2014 - Gunter Folger (cmake-V10-00-23)
-  Modules/Geant4CTest.cmake: Add variable for reference files for testing

26th August 2014 - Ben Morgan (cmake-V10-00-22)
- Modules/Geant4MacroLibraryTargets.cmake : Remove any self-links
  from internal library link list when building global libraries.

26th August 2014 - Gunter Folger (cmake-V10-00-21)
- Modules/Geant4DatasetDefinitions.cmake: G4EMLOW.6.40

19th August 2014 - Gunter Folger (cmake-V10-00-20)
- Modules/Geant4DatasetDefinitions.cmake: G4NDL.4.5

08th July 2014 - Andrea Dotti (cmake-V10-00-19)
- Templates/UseGeant4_internal.cmake in geant4_add_test function convert
  character '=' present in command line to be executed to '@'
- Modules/Geant4TestDriver.cmake convert back character '@' to '=' for
  command line to be executed in test
Both changes are needed to support "offloading" of tests (e.g. will be
used by testing on Xeon Phi co-processors that require complex command
lines containing '=' character).

06th June 2014 - Ben Morgan (cmake-V10-00-18)
- Templates/geant4-config.in : Add zlib and g3tog4 to list of features
  that --has-feature recognizes and can query (Patch from Ivana
  Hrivnacova)

05th June 2014 - Gunter Folger (cmake-V10-00-17)
- Modules/Geant4DatasetDefinitions.cmake: G4EMLOW6.39

27th May 2014 - Ben Morgan (cmake-V10-00-16)
- Modules/Geant4MakeRules_cxx.cmake : Factor -ftls-model flag
  out of GEANT4_MULTITHREADED_CXX_FLAGS and provide function
  supplying available thread local storage model flag arguments.
  Addresses JIRA DEV-142
- Modules/Geant4LibraryBuildOptions.cmake : Provide advanced option
  to select thread local storage model when building multithreaded.
  Default to supported initial-exec model. Addresses JIRA DEV-142.

26th May 2014 - Ben Morgan (cmake-V10-00-15)
- Modules/Geant4MakeRules_cxx.cmake : Add -DG4FPE_DEBUG to GNU/Clang
flags for Debug build mode. Added following discussion with Gunter
Folger to help developers diagnose FPE problems.

09th May 2014 - Gunter Folger (cmake-V10-00-14)
- Modules/Geant4DatasetDefinitions.cmake: G4EMLOW6.38

10th April - Ben Morgan (cmake-V10-00-13)
- Modules/Geant4LibraryBuildOptions.cmake: When building against the C++11
  standard, append -DG4USE_STD11 to CMAKE_CXX_FLAGS. Requested by Gabriele
  Cosmo (DEV-138). Known issues: Provides no guarantee that required
  C++11 features are present. Does not work on MSVC yet, but neither
  will the parts of the code making use of C++11 features.

18th March 2014 - Gunter Folger (cmake-V10-00-12)
- Modules/Geant4DatasetDefinitions.cmake: G4EMLOW6.37

20th March 2014 - Ben Morgan (cmake-V10-00-11)
- Templates/Geant4Config.cmake.in : Fixes by Witold Pokorski for correct
  static archive flags on Clang and syntax fixes for GNU.

18th March 2014 - Gunter Folger (cmake-V10-00-10)
- Modules/Geant4DatasetDefinitions.cmake: G4EMLOW6.36

6th March 2014 - Ben Morgan (cmake-V10-00-09)
- Modules/Geant4Config.cmake.in : When static libraries are used,
  wrap G4physicslists library with flags suitable to import whole
  archive. Implemented for GNU/Clang/Intel compilers. Other compilers
  require further checks on flags and how to apply to single library.
  This functionality is needed to support global registration of
  factories.

5th March 2014 - Ben Morgan (cmake-V10-00-08)
- Modules/Geant4MacroLibraryTargets.cmake : Fixup usage of shared/static
  builtin libraries. Ensure that shared builtins do not get linked to
  static.
- Templates/Geant4Config.cmake.in : Add new component 'static' allowing
  user to select static Geant4 libraries if they are available.

26th February 2014 - Gunter Folger (cmake-V10-00-07)
- Modules/Geant4DatasetDefinitions.cmake: PhotonEvaporation3.1

26th February 2014 - Gunter Folger (cmake-V10-00-06)
- Modules/Geant4DatasetDefinitions.cmake: RadioactiveDecay4.1

18th February 2014 - Ben Morgan (cmake-V10-00-05)
- Modules/Geant4ConfigureConfigScript.cmake : Export use of builtin
  zlib or otherwise to geant4-config (Bugfix #1572).
- Template/geant4-config.in : Add builtin zlib to list of features,
  adding G4zlib to list of libraries when used (Bugfix #1572).
- Template/geant4-config.in : Replace use of GNU awk extension 'length'
  for determining number of datasets. Use return value of split function
  to get length of array. Problem reported on Hypernews:
  http://hypernews.slac.stanford.edu/HyperNews/geant4/get/installconfig/1614.html

17th February 2014 - Ben Morgan (cmake-V10-00-04)
- Templates/geant4make-skeleton.in : Add variables for
  G4LIB_{BUILD,USE}_EXPAT as for ZLIB. Fixes Bug #1567
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Export
  G4LIB_{BUILD,USE}_EXPAT based on value of GEANT4_USE_SYSTEM_EXPAT.
  Fixes Bug #1567.

21st January 2014 - Jonathan Madsen (cmake-V10-00-03)
- Updated Modules/Geant4InterfaceOptions.cmake to include /opt/X11
   paths that are now the standard places for X11 and OpenGL on Mac OSX
   as of Mavericks (OS X 10.9). Without these paths configuring CMake with
   GEANT4_USE_OPENGL_X11=ON fails

18th December 2013 - Gunter Folger (cmake-V10-00-02)
- Modules/Geant4TestDriver.cmake: CTEST_TEST_TIMEOUT is empty, or
   its setting is not visible.
	Directly using environment variable CTEST_TIMEOUT finally works.

16th December 2013 - Gunter Folger (cmake-V10-00-01)
- Modules/Geant4TestDriver.cmake: fix typo introduced in previous tag

16th December 2013 - Gunter Folger (cmake-V10-00-00)
- Modules/Geant4TestDriver.cmake: use CTEST_TEST_TIMEOUT if set to set
  default timeout

28th November 2013 - Ben Morgan (cmake-V09-06-45)
- Modules/Geant4CTest.cmake : Remove G4ENSDFSTATE dataset from list
  exported to the testing environment, as it should not be used by
  default.
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Remove G4ENSDFSTATE
  from datasets exported to the environment. This is because this dataset
  should not be set in the environment by default.
- Modules/Geant4InstallData.cmake : Remove G4ENSDFSTATE dataset from
  export definitions. The ENSDF data is not intended to be used by
  default, and any setting of its environment variable changes the
  behaviour of Geant4 (i.e. it's an active rather than passive variable).

27th November 2013 - Gunter Folger (cmake-V09-06-44)
- Modules/Geant4DatasetDefinitions.cmake: Add ENSDFSTATE data

27th November 2013 - Ben Morgan (cmake-V09-06-43)
- Modules/Geant4MakeRules_cxx.cmake : Set GEANT4_MULTITHREADED_CXX_FLAGS
  for Intel compiler to "-ftls-model=initial-exec -pthread" as for GNU and
  Clang.

26th November 2013 - Ben Morgan (cmake-V09-06-42)
- Modules/Geant4LibraryBuildOptions.cmake : Mark GEANT4_BUILD_MULTITHREADED
  as advanced on Win32, and emit a warning on Win32 if it is activated.
  This allows developers to keep working whilst warning users about the
  non-support.

21st November 2013 - Ben Morgan (cmake-V09-06-41)
- Modules/Geant4InterfaceOptions.cmake : Fix bug in checking of status
  of Xmu include path and library variables that resulted in no error
  being emitted if these were not found.

19th November 2013 - Ben Morgan (cmake-V09-06-40)
- Modules/Geant4ConfigureConfigScript.cmake : Fix bug in list manipulation
  of non-existant list backported in by accident by previous tag. This
  caused an error report when using Qt5.

14th November 2013 - Gunter Folger (cmake-V09-06-39)
- use G4RadioactiveDecay.4.0
- use G4PhotonEvaporation.3.0

13th November 2013 - Ben Morgan (cmake-V09-06-38)
- Modules/Geant4BuildProjectConfig.cmake : Add FindTBB to exported modules.
- Modules/Geant4OptionalComponents.cmake : Correct usolids include path.
  Document option and feature report as "EXPERIMENTAL".

12th November 2013 - Ben Morgan (cmake-V09-06-37)
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Fix mistake in
  configuration of binary directory PATH which resulted in G4INCLUDE
  being overwritten.

8th November 2013 - Ben Morgan (cmake-V09-06-36)
- Modules/Geant4ConfigureConfigScript.cmake : Add support for export
  of existence of USolids support to geant4-config.
- Templates/geant4-config.in : Add usolids as a new feature. If present,
  ensure G4GEOM_USE_USOLIDS compile definition is prepended to the cflags.
- Modules/Geant4BuildProjectConfig.cmake : Export required
  G4GEOM_USE_USOLIDS to core definitions if USolids support enabled.
- Modules/Geant4OptionalComponents.cmake : Add option to enable support
  for USolids classes. Marked as advanced.

6th November 2013 - Ben Morgan (cmake-V09-06-35 internal)
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Add support
  for export of multithreading and application PATH variables.
- Templates/geant4make-skeleton.in : Export G4MULTITHREADED variable,
  and prepend binary directory to PATH to provide direct access to
  geant4-config.
- Modules/Geant4ConfigureConfigScript.cmake : Add support for export
  of multithreading variables.
- Templates/geant4-config.in :
   Bug fixes : add core compiler flags to cflags
             : add support for multithreading (NB default is to supply
               cflags for multithreading if Geant4 built in MT)
   New feature : Implement post install of datasets. Supplying the
                 --install-data flag will perform a download and
                 install of all datasets to the configured data directory
                 of Geant4.
- Modules/Geant4InstallData.cmake : Append filename and md5 to tuples
  exported by geant4_export_datasets. This is used by geant4-config to
  set up the post-install of datasets.

6th November 2013 - Ben Morgan (cmake-V09-06-34 internal)
- Modules/Geant4DatasetDefinitions.cmake : Add definition for ABLA
dataset.

28th October 2013 - Ben Morgan (cmake-V09-06-33)
- Modules/Geant4InterfaceOptions.cmake : BUGFIX : add Wt_HTTP_LIBRARY to
list of libraries required by Wt interface.

26th October 2013 - Ben Morgan (cmake-V09-06-32)
- Modules/Geant4DatasetDefinitions.cmake : Remove ENSDFSTATE data definition

25th October 2013 - Ben Morgan (cmake-V09-06-31)
Templates/Geant4Config.cmake.in : Re-find Qt5 when Geant4 uses it to ensu     re imported targets are recreated
Templates/geant4make-skeleton.in : Support export of QT4/5 variables to G     eant4Make
Modules/Geant4ToolchainBackwardCompatibility.cmake : Support export of QT     4/5 variables to Geant4Make
Modules/Geant4InterfaceOptions.cmake : Support export of QT4/5 variables      to Geant4Make

25st October 2013 - Gunter Folger
- switch to G4ELOW6.35
- add new NuclideTable with datafile ENSDFSTATE

24th October 2013 - Ben Morgan (cmake-V09-06-30)
- Modules/FindWt.cmake : add use of FindPackageHandleStandardArgs to
  ensure correct behaviour when supplying REQUIRED/QUIET keywords

24rd October 2013 - Laurent Garnier
- Template/Geant4Config.cmake.in
  Template/geant4make-skeleton.in
  Modules/Geant4ConfigureConfigScript.cmake
  Add Wt support

24th October 2013 - Ben Morgan
- Modules/Geant4InterfaceOptions.cmake : Simplify configuration of
  Wt and Boost location.

24rd October 2013 - Laurent Garnier
- Modules/Geant4InterfaceOptions.cmake : Add section for locating Wt
- Modules/FindWt.cmake : New file taken form Wt sources
  http://www.webtoolkit.eu/wt/download

23rd October 2013 - Ben Morgan (cmake-V09-06-29)
- Templates/Geant4UseQt5.cmake.in : New file providing forward
  compatibility of compilation against Qt5 with no changes required
  to CMake scripts in interfaces and OpenGL.
- Modules/Geant4InterfaceOptions.cmake : Search for Qt5 first, then Qt4.
  When Qt5 is found, configure forward compatibility use file using
  Geant4UseQt5.cmake.in template. If Qt5 is not found, unset its usage
  and require loacation of Qt4.

21st October 2013 - Gunter Folger (cmake-V09-06-28)
- switch to G4NEUTRONXS 1.4

14th October 2013 - Gunter Folger (cmake-V09-06-27)
- switch to G4EMLOW 6.34

26th September 2013 - Ben Morgan (cmake-V09-06-26)
- Modules/Geant4LibraryBuildOptions.cmake : When building in
  multithreaded mode on a UNIX system, perform a compile test to check
  that compiler supports thread local storage via availability of
  "__thread". Emit a FATAL_ERROR if the compiler does not support TLS,
  reporting this and the compiler used.
- Templates/geant4-config.cmake.in : Implement new --check-datasets and
  --install-datasets tasks. The former checks that the known datasets are
  installed in the configured location, reporting status. The latter is a
  stub for implementing post-install download and unpack of datasets

17th September 2013 - Ben Morgan (cmake-V09-06-25)
- Templates/geant4-config.cmake.in : Expand export variable holding
  list of dataset tuples. Process list from CMake ';' separated to
  shell ' ' separated list. Implement new '--datasets' argument to
  print out space separated dataset name, envvar name and path, with
  information for each dataset on a separate line.
- Templates/Geant4Config.cmake.in : Expand export variable holding
  list of dataset tuples. Process list to create variable holding a
  list of dataset names, plus variables, one per dataset, holding the
  dataset environment variable and configured path.
- Modules/Geant4ConfigureConfigScript.cmake : Call geant4_export_datasets
  function before configuration of build/install tree version(s) of
  geant4-config so dataset information can be exported to it
- Modules/Geant4BuildProjectConfig.cmake : Call geant4_export_datasets
  function before configuration of build/install tree version(s) of
  Geant4Config.cmake so dataset information can be exported to the
  CMake config script.
- Modules/Geant4InstallData.cmake : Implement new geant4_export_datasets
  function. Write list of dataset tuples to an output variable, each
  tuple consisting of dataset name, envvar name and path separated by "|"
  Use option argument BUILD|INSTALL to use build and install paths for
  datasets respectively.

16th September 2013 - Ben Morgan (cmake-V09-06-24)
- Modules/Geant4LibraryBuildOptions.cmake : Emit fatal error if
  GEANT4_BUILD_GRANULAR_LIBS variable is set.

30th August 2013 - Gunter Folger (cmake-V09-06-23)
- add FindXvfb checking if fake X server Xvfb is installed in system (/usr/bin)
    needed by test202.

22nd August 2013 - Ben Morgan (cmake-V09-06-22)
- Modules/Geant4MakeRules_cxx.cmake : Check for "Apple LLVM" string
  in output of regex parse of "clang++ -v" command output. If string is
  found, re-parse string to extract LLVM version on which Apple LLVM is
  based because this reflects the true LLVM, and hence C++ Standard
  support, of the compiler. Fixes problem with being unable to change
  C++ Standard with latest Xcode reported by Gabriele Cosmo.

16th August 2013 - Ivana Hrivnacova (cmake-V09-06-21)
- Suppress error messages from FindAIDA module for informative options.
  This fixes problem report #1485.

23rd July 2013 - Gunter Folger (cmake-V09-06-20)
- Update datasets for NDL to NDL4.4

23rd July 2013 - Ben Morgan (cmake-V09-06-19)
- Modules/Geant4InstallData.cmake : Remove GEANT4_INSTALL_EXAMPLES option.
  Always install example/ directory, move installation scripting into
  the top level CMakeLists.txt.

25th June 2013 - John Apostolakis (cmake-V09-06-18)
- Added FindTBB.cmake module for Intel Threading-Building-Blocks library.

13th June 2013 - Ben Morgan (cmake-V09-06-17)
- Templates/geant4-config.in : BUGFIX #1477 : Correct output of
  --has-feature for clhep feature.

11th June 2013 - Gunter Folger (cmake-V09-06-16)
- Update md5sum for NDL after removal of data for Z>92

11th June 2013 - Gunter Folger (cmake-V09-06-15)
- Update datasets for NDL, EMLOW, and RadioactiveDecay

11th June 2013 - Pere Mato (cmake-V09-06-14)
- Modules/FindROOT.cmake : Minor changes for gccxml dictionary generation.

28th May 2013 - Ben Morgan (cmake-V09-06-13)
- Modules/Geant4LibraryBuildOptions.cmake : Add option
  GEANT4_BUILD_TPMALLOC. It defaults to OFF, and is set to OFF if
  GEANT4_BUILD_MULTITHREADED is OFF or the platform is WIN32.
  When set, this adds a global compiler definition G4TPMALLOC.
  Feature requested by Andrea Dotti.

22nd May 2013 - Ben Morgan (cmake-V09-06-12)
- Modules/FindROOT.cmake : Remove "/usr/include" from list of
  include directories passed to rootcint in root_generate_dictionary
  function. Needed to workaround bug in rootcint reported by Andrea
  Dotti.

7th May 2013 - Ben Morgan (cmake-V09-06-11)
- Modules/Geant4OptionalComponents.cmake : Set variables
  GEANT4_USE_BUILTIN_{CLHEP,EXPAT,ZLIB} when the builtin versions
  of these packages are used. This is to assist the generation of
  Geant4Config.cmake using simple expansion variables
- Templates/Geant4Config.cmake.in : Add and document new variables
  Geant4_builtin_{clhep,expat,zlib}_FOUND which are expanded to
  the value of GEANT4_USE_BUILTIN_{CLHEP,EXPAT,ZLIB} respectively.
- These fixes are applied to support an issue in the nanobeam example,
  which requires the full CLHEP, so must check that the builtin
  version is not used. Whilst the test build is protected in
  tests/ctests/CMakeLists.txt, the nanobeam example uses an
  internal Geant4 variable to check for an external CLHEP, and so
  always fails.

6th May 2013 - Gunter Folger (cmake-V09-06-10)
- modification for internal zlib:
   ZLIB_INCLUDE_DIRS: added ${PROJECT_BINARY_DIR}/source/externals/zlib to
    make generated zconf.h available; as side effect this zconf.h will be
    installed.

22nd April 2013 - Gabriele Cosmo (cmake-V09-06-09)
- Fixed comments in scripts Geant4MakeRules_cxx.cmake and
  Geant4LibraryBuildOptions.cmake...

15th April 2013 - Ben Morgan (cmake-V09-06-08)
- Modules/Geant4MakeRules_cxx.cmake : Use -pthread flag for clang and
  gcc compilers in preference to -lpthread. Remove -lpthread from
  exe linker flags as the compiler flag should get passed to this.
- Modules/Geant4LibraryBuildOptions.cmake : Remove addition of MT flags
  from exe linker flags, as main CXX flags should handle this.

9th April 2013 - Andrea Dotti
- Adding -lpthread to GCC linker flags if GEANT4_BUILD_MULTITHREADED is on.

25th March 2013 - Ben Morgan
- Modules/Geant4ToolchainBackwardCompatibility.cmake : BUGFIX #1399
  Applied Mike's patch for selflocation to C-shell template
  generation.

25th March 2013 - Ben Morgan (cmake-V09-06-07)
- Modules/Geant4OptionalComponents.cmake : BUGFIX #1322 Noted that
  FindZLIB in CMake < 2.8 does not set the ZLIB_INCLUDE_DIRS variable,
  so set it manually to ensure uniform behaviour in ZLIB clients.

25th March 2013 - Ben Morgan
- Modules/Geant4OptionalComponents.cmake : BUGFIX #1322 Enable option
  GEANT4_USE_SYSTEM_ZLIB to locate system zlib if requested and otherwise
  use internal version. This will co-work with externals-V09-06-00.
  It *breaks* the analysis module, and HepRep module requires adjustment
  as reported in above bug report to ensure zlib is enabled.

25th March 2013 - Ben Morgan (cmake-V09-06-06)
- Modules/Geant4MacroLibraryTargets.cmake : BUGFIX #1353 : Add a build
  mode dependent compiler definition to the build of each Geant4 target
  in the form GEANT4_DEVELOPER_<CONFIG> where <CONFIG> is the uppercased
  build mode as determined from CMAKE_CONFIGURATION_TYPES or
  CMAKE_BUILD_TYPE as appropriate for the generator.
  Checked on Linux and Mac with Make/Xcode generators, tagging for testing

1st March 2013 - Ben Morgan (cmake-V09-06-05)
- Templates/Geant4Config.cmake.in : Add 'multithreaded' component to
  indicate if Geant4 was built with multithreading. If it is requested,
  and the build is multithreaded, append the -DG4MULTITHREADED compile
  definition to GEANT4_DEFINITIONS. Note clear this is the best option
  yet, but awaits testing and example builds.
- Modules/Geant4LibraryBuildOptions.cmake : Add option
  GEANT4_BUILD_MULTITHREADED which when ON, adds the compiler definition
  -DG4MULTITHREADED globally, and appends GEANT4_MULTITHREADED_CXX_FLAGS
  to CMAKE_CXX_FLAGS. Set to OFF by default as requested for testing.
- Modules/Geant4MakeRules_cxx.cmake : For GNU compiler only (which may also
  apply to clang compiler with CMake 2.8.2 and earlier), set a new variable
  GEANT4_MULTITHREADED_CXX_FLAGS to hold any extra flags needed by
  multithreaded build, but would conflict with sequential. Not clear
  this separation is needed yet, but this aims for safety to allow testing
  of MT builds without interfering with other work.

21st February 2013 - Gunter Folger (cmake-V09-06-04)
- Updated dataset G4NEUTRONXS 1.3 ( previous was not yet released)

13th February 2013 - Gunter Folger (cmake-V09-06-03)
- Switch to G4NEUTRONXS 1.3

12th February 2013 - Ben Morgan (cmake-V09-06-02)
- Modules/Geant4MakeRules_cxx.cmake : Revert default CXX flags for GNU
  (and clang) compilers to non-MT versions. Leave MT flag set as commented
  out line for future reference, although MT will be optional.

11th February 2013 -  Pere Mato  (cmake-V09-06-01)
- Modules/Geant4TestDriver.cmake : increased the timeout safety to 120
  seconds. This is to avoid having a timeout in a test without having
  the time to write the output.

18th December 2012 -  Ben Morgan       (cmake-V09-06-00)
- Templates/UseGeant4_internal.cmake : Tidy layout
- Templates/UseGeant4.cmake : Tidy layout and remove obsolete
  geant4_collate_application_sources macro.
- Templates/Geant4ConfigVersion.cmake.in : Tidy layout
- Templates/Geant4Config.cmake.in : Tidy layout
- Modules/ResolveCompilerPaths.cmake : Tidy layout and convert macros to
  consistent use of lowercase naming.
- Modules/MacroEnsureVersion.cmake : Tidy layout and convert macros to
  consistent use of lowercase naming.
- Modules/Geant4ValidateSources.cmake : Tidy up layout/commenting
- Modules/Geant4TestDriver.cmake : Tidy up layout/commenting
- Modules/Geant4OptionalComponents.cmake : Tidy up layout.
- Modules/Geant4MakeRules_fortran.cmake : Remove obsolete file.
- Modules/Geant4MacroDefineModule.cmake : Tidy up layout and add basic
  documentation placeholders for main macros.
- Modules/Geant4LibraryBuildOptions.cmake : Tidy up layout
- Modules/Geant4InstallDirs.cmake : Tidy up layout
- Modules/Geant4ConfigureConfigScript.cmake : Tidy up layout
- Modules/Geant4CTest.cmake : Tidy up layout
- Modules/Geant4CPackBase.cmake : Tidy up layout
- Modules/Geant4BuildProjectConfig.cmake : Tidy up layout
- Modules/Geant4BuildModes.cmake : Tidy up commenting and layout.
- Modules/Geant4MacroUtilities.cmake : Functionize macros where possible,
  add include guard and standardize on lower case for function and internal
  variable names.
- INSTALL.g4cmake : Remove this now obsolete file

27th November 2012 -  Ben Morgan       (cmake-V09-05-79)
- Templates/geant4-config.in : Correct listing of G3toG4 library,
  replacing "-lG3ToG4" with "-lG3toG4"

27th November 2012 -  Gabriele Cosmo   (cmake-V09-05-78)
- Added "-Wno-variadic-macros -Wshadow" compilation options g++ and clang.
- Extended description in Geant4CPackBase.cmake script.

26th November 2012 -  Gunter Folger    (cmake-V09-05-77)
- Switch to PhotonEvaporation 2.3

23rd November 2012 -  Gunter Folger    (cmake-V09-05-76)
- Switch to G4RadioactiveDecay 3.6

21st November 2012 - Ben Morgan        (cmake-V09-05-75)
- Templates/geant4_validate_sources.cmake.in : Add "T1xxChannel.cc"
  and "XXChannel.cc" names to false positives. These names appear
  in processes/hadronic/models/cascade/cascade/sources.cmake as
  comments, but the current regex picks them up. This is a temporary
  fix as longer term solution is to update regex to not match
  comments!

21st November 2012 - Ben Morgan        (cmake-V09-05-74)
- Templates/Geant4Config.cmake.in : Fix setting of Geant4 DEFINITIONS
  INCLUDE_DIRS and LIBRARIES so that multiple calls to find_package
  do not overwrite previosu settings. Multiple calls now copy,
  insert or append to these variables as needed. Duplicates
  are removed from the final list.
- Templates/UseGeant4.cmake : Tidy up documentation and mark
  macros as deprecated.

20th November 2012 - Ivana Hrivnacova  (cmake-V09-05-73)
- Fixed FindHepMC.cmake (GenEvent.h file extension was missing)

16th November 2012 - Ben Morgan        (cmake-V09-05-72)
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Improve
  description of workaround for sourcing Cshell scripts
  non-interactively, as reported in HyperNews:
  http://hypernews.slac.stanford.edu/HyperNews/geant4/get/installconfig/1513/1.html

15th November 2012 - Ben Morgan        (cmake-V09-05-71)
[BUGFIX #1387]
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Correct shell
  variable name in export of commands to scripts.

14th November 2012 - Ben Morgan        (cmake-V09-05-70)
- Modules/Geant4BuildProjectConfig.cmake : Add CMakeMacroParseArguments
  to list of modules installed as it is needed to support FindROOT
  on CMake < 2.8.


14th November 2012 -  Gunter Folger    (cmake-V09-05-69)
-  switch to G4NDL 4.2
   (excluding changes made past tag cmake-V09-05-68)

13th November 2012 - Ben Morgan
[BUGFIX #1290, #1328]
- Templates/geant4-config.in : Add support for G3ToG4 library. Add
  CLHEP library to link line using output from clhep-config.
  Replace explicit -I@VAR@ flags with pure @VAR@ variables for
  each include path that may be filtered out if it is in the
  compiler's default search path.
- Modules/Geant4ConfigureConfigScript.cmake : Set export variable
  for existence of G3ToG4. Implement function to return list of
  default search paths for GNU, Clang and Intel compilers.
  Create list before configuring geant4-config, and filter out
  any header paths that we need to export but that appear in this list
  before creating export variables.

13th November 2012 - Ben Morgan       (cmake-V09-05-68)
- Modules/Geant4BuildProjectConfig.cmake : Copy FindXXX modules required
  by examples from source to build tree, and install them into a
  Modules subdirectory of GEANT4_CMAKE_DIR.
- Templates/UseGeant4.cmake : Append path for FindXXX modules required
  by examples to CMAKE_MODULE_PATH. This is transparent across both
  the build and install trees.


12th November 2012 - Ben Morgan       (cmake-V09-05-67)
- Modules/Geant4MakeRules_cxx.cmake : Add -Qunused-arguments flag
  to compiler flags when running Clang. This is to finally suppress
  warnings when building tests, which CTest cannot filter out.


9th November 2012 - Ben Morgan        (cmake-V09-05-66)
- Resubmission of cmake-V09-05-64+cmake-V09-05-65. Former was
  rejected after clang warnings, which are now ignored by the
  CTest system. Latter passed Continuous builds without issue and
  only affects Windows systems.


8th November 2012 - Ben Morgan        (cmake-V09-05-65)
- Modules/Geant4MakeRules_cxx.cmake : Remove MD flags from core flags.
  Add MD flag to Release style build modes (RELEASE, MINSIZEREL and
  RELWITHDEBINFO). Add MDd flag to Debug style build modes (DEBUG,
  TESTRELEASE, MAINTAINER).
  This follows discussions originated from HyperNews:
  http://hypernews.slac.stanford.edu:5090/HyperNews/geant4/get/installconfig/1436/1.html


7th November 2012 - Ben Morgan        (cmake-V09-05-64)
- [BUGFIX #1351]
- Geant4MacroUtilities.cmake : Implement new functions set_ifnot
  and enum_option
- Geant4MakeRules_cxx.cmake : Implement C++ Standard detection and
  flag configuration for GNU, Clang and Intel compilers.
- Geant4LibraryBuildOptions.cmake : Add user option to select C++
  Standard to build against, it the compiler supports this. The
  default is always c++98/'ansi' (C++98 plus the '03 addenda).


5th November 2012 - Ben Morgan        (cmake-V09-05-63)
- Modules/Geant4InterfaceOptions.cmake: Remove requirement to co-work
  with internal tag openinventor-V09-05-16.


5th November 2012 - Ben Morgan        (cmake-V09-05-62)
- Modules/Geant4InterfaceOptions.cmake: Check that X11 Xpm library
  has been found when Inventor driver is activated, and FATAL_ERROR
  is it is not located.


2nd November 2012 - Ben Morgan        (cmake-V09-05-61)
- [BUGFIX #1285]
- Modules/Geant4InstallData.cmake: Implement new
  API for managing data to allow reuse of existing datasets and
  not install data at build time if required.
- Modules/Geant4DatasetDefinitions.cmake: Migrate dataset definitions
  to separate file to ease update and patch cycle.
- Modules/Geant4ToolchainBackwardCompatibility.cmake: Migrate export
  of dataset environment variables/paths to use new dataset API. Avoids
  hardcoding of dataset names, allowing for easy expansion/contraction
  in the future.
- Modules/Geant4CTest.cmake: Migrate setting of GEANT4_TEST_ENVIRONMENT
  to use new dataset API for export of environment variable names and
  values.
- Templates/geant4make-skeleton.in: Migrate expansion variables for
  datasets to single 'code block' variable.
- Templates/geant4-env-skeleton.in: Migrate expansion variables for
  datasets to single 'code block' variable.
- [PERFORMANCE]: Tidy up module inclusions to provide minor, but
  noticeable, speed up in CMake configuration time.
- Modules/Geant4MacroDefineModule.cmake: Use 'header guard' variable to
  prevent module being loaded multiple times.
- Modules/Geant4MacroLibraryTargets.cmake: Use 'header guard' variable to
  prevent module being loaded multiple times.
- Modules/Geant4MacroUtilities.cmake: Include Geant4MacroDefineModule
  and Geant4MacroLibraryTargets so these are included at top level and
  hence are not re-parsed by CMake if they are included in lower scopes.
- [CLEANUP]
- Templates/geant4-env.csh.in: Remove obsolete file.
- Templates/geant4-env.sh.in: Remove obsolete file.


31st October 2012 - Ben Morgan        (cmake-V09-05-60)
- Modules/Geant4InstallData.cmake: Remove obsolete ABLA dataset.
- Modules/Geant4ToolchainBackwardCompatibility.cmake: Remove
  setting of ABLA environment export variables to overcome error
  reported by Gunter Folger and Hisaya Kurashige.
- Modules/Geant4CTest.cmake: Remove obsolete ABLA dataset.
- Template/geant4-env-skeleton.in: Remove ABLA export variables
- Template/geant4make-skeleton.in: Remove ABLA export variables


31th October 2012 -  Gunter Folger    (cmake-V09-05-59)
-  bring settings for ABLA back in , used elsewhere, and caused
    configure to badly fail.

30th October 2012 -  Gunter Folger    (cmake-V09-05-58)
- Modules/Geant4InstallData.cmake: Revert to use G4EMLOW.6.32
    and delete settings for ABLA, not needed per Davide M.

30th October 2012 - John Apostolakis  (cmake-V09-05-57)
- Modules/Geant4InstallData.cmake: Revert to use G4EMLOW.6.31
    to overcome problems in Continuous build of G4 in Cdash

30th October 2012 - Gunter Folger     (cmake-V09-05-56)
- Modules/Geant4InstallData.cmake: Use G4EMLOW.6.32

25th October 2012 - Pere Mato (cmake-V09-05-55)
- Templates/Geant4CTest.cmake: corrected mistake with GEANT4_DATA_DIR

19th October 2012 - Ben Morgan (cmake-V09-05-54)
- Templates/Geant4Config.cmake.in : Add g3tog4 component to detect
  and configure G3toG4 library if required.
- Modules/Geant4OptionalComponents.cmake : Improve documentation of
  GEANT4_USE_G3TOG4 option.
- Modules/Geant4CTest.cmake : Remove un-needed message() of dataset
  configuration.

18th October 2012 - Gunter Folger     (cmake-V09-05-53)
- Modules/Geant4InstallData.cmake: Use G4EMLOW.6.31

16th October 2012 Ben Morgan (cmake-V09-05-52)
- Modules/Geant4InstallData.cmake : Update version and MD5 of
  G4NEUTRONXS for 1.2 release, add new G4SAIDDATA dataset,
  version 1.1
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Export
  new G4SAIDDATA dataset to scripts.
- Modules/Geant4CTest.cmake : Add new G4SAIDDATA dataset to
  CTest environment, and remove obsolete G4ELASTICDATA and
  NeutronHPCrossSections environment variables.
- Templates/geant4-env-skeleton.in : Add expansion variable for
  export of new G4SAIDDATA dataset.
- Templates/geant4make-skeleton.in : Add expansion variable for
  export of new G4SAIDDATA dataset.


12th October 2012 Ben Morgan (cmake-V09-05-51)
- Modules/FindInventor.cmake: BUGFIX #1320: Remove find of Inventor
  debug libraries and do not use the "optimized;debug" technique.
  Add find for of SoXt headers.
- Modules/Geant4InterfaceOptions.cmake: BUGFIX #1320: Add SoXt headers
  to INVENTOR_INCLUDE_DIR when on UNIX, and FATAL_ERROR if SoXt not
  located. Add X11 Xt library when SoXt is used on Mac OS X

9th October 2012 Pere Mato (cmake-V09-05-50)
- Modules/Geant4CTest.cmake: minor changes to avoid user traps

4th October 2012 - Gunter Folger     (cmake-V09-05-49)
- Modules/Geant4InstallData.cmake: Use G4EMLOW.6.30

26th September 2012 Ivana Hrivnacova (cmake-V09-05-48)
- Adding FindPythia6 module.
- Modules/FindHepMC.cmake: support also HEPMC_DIR environment variable (which
  is used in GNUmake build); added HEPMC_FIO_LIBRARIES

25th September 2012 Ivana Hrivnacova (cmake-V09-05-47)
- Adding FindAIDA module.

24th September - Pere Mato (cmake-V09-05-46)
- Modules/Geant4TestDriver.cmake : Use the argument TIM=<timeout> to set a shorter timeout than CTest
- Templates/UseGeant4_internal.cmake : Generate TIM argument from test TIMEOUT property

24th September - Ben Morgan (cmake-V09-05-45)
- Modules/ResolveCompilerPaths.cmake : Remove extraneous quotes around
  resolved include paths (patch from Fabian Kislat, BUGFIX #1357)

19th September - Ben Morgan (cmake-V09-05-44)
- Modules/Geant4MakeRules_cxx.cmake : Remove optimization flags from
  TestRelease build mode flags on all platforms (BUGFIX #1263).
- Modules/Geant4BuildModes.cmake : Remove obsolete "TestReleaseDebug" build
  mode (BUGFIX #1263)

17th September - Ben Morgan (cmake-V09-05-43)
- Modules/Geant4InstallData.cmake : Update G4EMLOW dataset to version 6.29
  and update MD5 sum.

30th August 2012 Pere Mato (cmake-V09-05-42)
- Modules/Geant4CTest.cmake : Added Unit Tests and some re-organization of the module
- Modules/Geant4MacroUtilities.cmake : Moved macro GEANT4_LATEST_VERSION to this module

29th August 2012 Witek Pokorski (cmake-V09-05-41)
- Adding FindHepMC module.

28th August 2012 - Pere Mato
- Modules/Geant4MacroUtilities.cmake: Defined new macro GEANT4_ADD_UNIT_TESTS
- Modules/Geant4LibraryBuildOptions.cmake: Added new option GEANT4_BUILD_TESTS

28th August 2012 - Gunter Folger (cmake-V09-05-39)
- Modules/Geant4InstallData.cmake: Use RadioactiveDecay3.5

16th July 2012 - Ben Morgan (cmake-V09-05-38)
- Use correct tag name. Update tag number to ensure numerical sequence.

16th July 2012 - Ben Morgan (cmake-V09-05-37)
- Templates/geant4_validate_sources.cmake.in : Remove use of STATUS in
  error messages so all errors go to stderr.

10th July 2012 - Ben Morgan (cmake-V09-05-36)
- Modules/Geant4MakeRules_cxx.cmake : Add preliminary support for Clang
  detection (CMake > 2.8.1)
- Modules/Geant4/LibraryBuildOptions.cmake : Add preliminary support for
  Clang detection (CMake > 2.8.1)

10th July 2012 - Ben Morgan
- Modules/FindStatTest.cmake : Minor formatting/layout updates.

10th July 2012 - Andrea Dotti (cmake-V09-05-35)
- Modules/FindStatTest.cmake : First commit of module to find and setup
  utility program StatTest for automatic regression testing of Geant4
  ctest outputs

27th June 2012 - Pere Mato  (cmake-V09-05-34)
- Modules/Geant4TestDriver.cmake : Added TST paramenter to obtain the test name to produce
                                   <test>.out and <test>.err
- Templates/UseGeant4_internal.cmake: mofdified to pass the test name

22nd June 2012 - Pere Mato  (cmake-V09-05-33)
- Modules/Geant4TestDriver.cmake : Fixed the problem that <test> should be only the
  file name and not the full path of the executable.

22nd June 2012 - Pere Mato  (cmake-V09-05-32)
- Modules/Geant4TestDriver.cmake : adapted to create <test>.out and <test>.err files
  with stdout and stderr each time a test is run in the current directory.

21th June 2012 - Gunter Folger  (cmake-V09-05-31)
- After update of G4EMLOW6.27, new tar needs updated md5sum.

21th June 2012 - Gunter Folger  (cmake-V09-05-30)
- After recreating G4NDL4.1, update md5sum.

20th June 2012 - Gunter Folger  (cmake-V09-05-29)
- Modules/Geant4InstallData.cmake: Use G4NDL 4.1

15th June 2012 - Gabriele Cosmo (cmake-V09-05-28)
- Updated tags to 9.6.0 for 9.6-beta.

14th June 2012 - Ben Morgan (cmake-V09-05-27)
- Modules/Geant4OptionalComponents.cmake : Search for system expat by
  default on non-Win32. We prefer the system library on these platforms
  due to compilation warnings in the current internal version of expat.

13th June 2012 - Ben Morgan (cmake-V09-05-26)
- Modules/Geant4OptionalComponents.cmake : Allow choice between internal
  and system expat library on non-Win32 platforms, default to use
  internal. Choosing system expat requires it to be found.

12th June 2012 - Ben Morgan (cmake-V09-05-25)
- Modules/Geant4ToolchainBackwardCompatibility.cmake: Quote paths used
  in execute_process calls run at install time. This fixes a problem
  reported by Joseph Perl on Windows, when a space appears in the install
  prefix.

8th June, 2012 - Gunter Folger (cmake-V09-05-24)
- Modules/Geant4OptionalComponents.cmake: require CLHEP 2.1.2.3

4th June, 2012 - Gunter Folger (cmake-V09-05-23)
- Modules/Geant4InstallData.cmake: use G4EMLOW.6.27

1st June, 2012 - Ben Morgan (cmake-V09-05-22)
- Modules/Geant4InstallData.cmake : Complete rewrite of data installation
  with support for CMake >= 2.6.4 and custom physics data install location.
  Downloaded data bundles are also verified using MD5 hashes.
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Location of data
  updated to use new paths from Geant4InstallData.cmake.

May 31st, 2012 - Pere Mato (cmake-V09-05-21)
- Modules/Geant4BuildProjectConfig.cmake : Transmit CMAKE_EXE_LINKER_FLAGS as Geant4_EXE_LINKER_FLAGS
- Templates/UseGeant4.cmake : Set CMAKE_EXE_LINKER_FLAGS as Geant4_EXE_LINKER_FLAGS
  This is to ensure that the definition is of CMAKE_EXE_LINKER_FLAGS is used by projects using Geant4

May 30th, 2012 - Pere Mato (cmake-V09-05-20)
- Modules/Geant4MakeRules_cxx.cmake : Added -limf library in CMAKE_EXE_LINKER_FLAGS for icc compiler.
  This is to avoid warnings of the type "warning: feupdateenv is not implemented and will always fail"

May 30th, 2012 - Pere Mato (cmake-V09-05-19)
- Templates/UseGeant4_internal.cmake : Added new arguments WORKING_DIRECTORY and LABELS to GEANT4_ADD_TEST()
  This allows to assign tests to specific test slots (Nightly, Continuous, PhyscisChecks). If no label is specified it is
  given the Nightly label.

May 29th, 2012 - Ben Morgan (cmake-V09-05-18)
- Modules/Geant4ToolchainBackwardCompatibility.cmake : [BUGFIX #1268] Enable use of C-shell scripts inside other scripts.
 This follows the pattern used in ROOT's cshell scripts, which works at
 the cost of the user having to supply extra information to the source
 command/script.
- Templates/geant4-env-skeleton.in : [BUGFIX #1268] Protect changes to the environment if self location fails.
- Templates/geant4make-skeleton.in : [BUGFIX #1268] Protect changes to the environment if self location fails.


May 9th, 2012 - Pere Mato (cmake-V09-05-17)
- Templates/UseGeant4_internal.cmake : By default tests building anything will fail in case of warnings.
  This is wanted by G. Folger.

May 8th, 2012 - Pere Mato (cmake-V09-05-16)
- Templates/UseGeant4_internal.cmake : Added PASSREGEX and FAILREGEX arguments to GEANT4_ADD_TEST()

April 30th, 2012 - Ben Morgan (cmake-V09-05-15)
- Modules/Geant4InstallData.cmake : GEANT4_INSTALL_DATA set as an INTERNAL
  variable when deactivated on CMake < 2.8. Ensures it doesn't show in GUI.
- Modules/Geant4LibraryBuildOptions.cmake : Force deactivation of
  GEANT4_ENABLE_TESTING on CMake < 2.8 due to compatibility issues.

April 24th, 2012 - Ben Morgan (cmake-V09-05-14)
- Modules/Geant4InstallData.cmake : Force GEANT4_INSTALL_DATA to OFF if
  CMake < 2.8.0 is used, and warn user if it has been set. This prevents the
  problem reported on HyperNews:
  http://hypernews.slac.stanford.edu/HyperNews/geant4/get/visualization/612/3/1/1/1.html

April 20th, 2012 - Ben Morgan (cmake-V09-05-13)
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Fixed Bug #1306, using
  BASH_VERSION instead of non-POSIX compliant check.

April 12th, 2012 - Pere Mato (cmake-V09-05-12)
- Fixed bug in Modules/Geant4CTest.cmake to locate newest data library version

April 12th, 2012 - Gunter Folger (cmake-V09-05-11)
- Switch to G4EMLOW6.26

April 5th, 2012 - Gunter Folger  (cmake-V09-05-10)
- Switch to G4EMLOW6.25

April 3rd, 2012 - Ben Morgan (cmake-V09-05-09)
- Modules/Geant4InstallData.cmake : Increased default timeout to 1500s.
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Redirect all cd commands
  to /dev/null as some cd implementations report change to stdout.

March 30th, 2012 - Ben Morgan (cmake-V09-05-08)
- Modules/Geant4InstallData.cmake : Add GEANT4_INSTALL_DATA_TIMEOUT cache
  variable to allow users to increase the download timeout on slow connections.
  Only available on CMake 2.8.1 and above.

March 22nd, 2012 - Pere Mato (cmake-V09-05-07)
- genwindef/LibSymbolInfo.cpp : filter the symbols giving problems when building G4clhep for Win64 (second attempt)

March 22nd, 2012 - Pere Mato (cmake-V09-05-06)
- genwindef/LibSymbolInfo.cpp : filter the symbols giving problems when building G4clhep for Win64

March 7th, 2012 - Pere Mato (cmake-V09-05-05)
- Modules/Geant4MakeRules_cxx.cmake : added link flag "-i-dynamic" to avoid link ICC warnings of the sort
                                      "warning: feupdateenv is not implemented and will always fail"

March 6th, 2012 - Pere Mato (cmake-V09-05-04)
- Modules/Geant4LibraryBuildOptions.cmake : matching "icc" in addition to "icpc" to detect Intel compiler
- Modules/Geant4MakeRules_cxx.cmake : change ICC option from -Wnon-virtual-dtor to -Wno-non-virtual-dtor

February 10th, 2012 - Pere Mato (cmake-V09-05-03)
- Added function REFLEX_GENERATE_DICTIONARY() in FindROOT.cmake

January 25th, 2012 - Gunter Folger (cmake-V09-05-02)
- Switch to G4EMLOW6.24

December 13th 2011 - P. mato (cmake-V09-05-01)
- Templates/UseGeant4_internal.cmake: Avoid prepending configuration tag for existing commands

December 6th 2011 - B.Morgan (cmake-V09-05-00)
- Modules/Geant4ToolchainBackwardCompatibility.cmake [BUGFIX #1265]: Added
  setting of expansion variable needed to prepend path with G4WORKDIR path.
- Templates/geant4make-skeleton.in [BUGFIX #1265] : Added expansion variable for
  path setup to G4WORKDIR directory for executables.
- Templates/geant4-env-skeleton.in [BUGFIX #1265] : Added needed '@' symbol
  to end of GEANT4_TC_SHELL_PROGRAM used as shbang.


November 30th 2011 - B.Morgan (cmake-V09-04-41)
- Modules/Geant4LibraryBuildOptions.cmake : Commented out
  GEANT4_BUILD_GRANULAR_LIBS option to restrict these builds for 9.5. Current
  granular build is not tested and broken in several places, so we want to
  prevent its use for now.

November 29th 2011 - B.Morgan (cmake-V09-04-40)
- Modules/Geant4InterfaceOptions.cmake : Added ability for Mac to concurrently
  build mixed Qt and X11 OpenGL driver. Xt library adde to X11 libraries, but
  only on Mac when Xm is built. Linking Xt on Linux causes runtime errors.
- Templates Geant4Config.cmake.in : Fixed bug that prevented OpenInventor
  library being appended to output when vis_all was set.


November 24th 2011 - B.Morgan (cmake-V09-04-39)
- Modules/Geant4InstallData.cmake : Updated data library versions
  G4NDL -> 4.0
  RadioactiveDecay - > 3.4
  Added GEANT4_ADD_FEATURE reporting for data and example code install.


November 23rd 2011 - B.Morgan (cmake-V09-04-38)
- Modules/Geant4LibraryBuildOptions.cmake : Marked GEANT4_ENABLE_TESTING and
  GEANT4_BUILD_EXAMPLES options as advanced because these are for developers and
  system testing only.
- Templates/geant4-env-skeleton.in (NEWFILE) : New shell skeleton file for core
  environment setup of geant4, just PATH, (DY)LD_LIBRARY_PATH and data libraries
  if installed.
- Templates/geant4-environment-skeleton.in : RENAMED -> geant4make-skeleton.in
- Templates/geant4-environment-skeleton.in : Added expansion variable to handle
  G4WORKDIR setup. Added expansion variables for data library setup.
  Added expansion variable to provide a self location block.
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Added a function to
  conditional set environment variables. Added setup of G4WORKDIR.
  Added setup of data library variables if they've been installed.
  Added self location capability so that scripts can find themselves and
  consequently locate library and include directories relative to the determined
  location.
  Moved installation of of backwared compatible toolchain files to a directory
  named 'geant4make' under the main data directory. This helps to partition the
  setup script and gmk files into their own, isolated location.
  Configure new 'geant4.(c)sh' setup script from geant4-env-skeleton.in file.
- Modules/Geant4InstallData.cmake : Set name of list holding dataset information
  to GEANT4_DATASETS just to mark it as usable elsewhere. Added environment
  variable name to end of dataset information strings to help in setting them up
  in configuration of shell scripts.
  Marked GEANT4_INSTALL_EXAMPLES option as advanced.


November 22nd 2011 - B.Morgan (cmake-V09-04-37)
- Templates/Geant4Config.cmake : Added 'ui_all' and 'vis_all' components to
  allow simple selection of all available UI and Vis components.


November 18th 2011 - P.Mato (cmake-V09-04-36)
- Modules/Geant4CTest.cmake : Added some protection if GEANT4_DATA_DIR not defined

November 16th 2011 - B.Morgan (cmake-V09-04-35)
- Templates/geant4_validate_sources.cmake.in : Added two VRML icc files
  to false positive list. These are in VRML's src/ directory for internal
  use only.

November 16th 2011 - G.Folger (cmake-V09-04-34)
- Modules/Geant4InstallData.cmake: correct data file name

November 15th 2011 - G.Folger (cmake-V09-04-33)
- Modules/Geant4InstallData.cmake: update data libraries version for 9.5

November 8th 2011 - B.Morgan (cmake-V09-04-32)
- Templates/Geant4Config.cmake.in [BUGFIX #1196, #1261]: Added support for
  G4OpenInventor as a component, named 'vis_openinventor'. Prtected inclusion of
  Geant4LibraryDepends file by test on a variable Geant4_LIBDEPS_LOADED so that
  multiple calls to the config file from find_package are possible. This allows
  option selecting of the components. NB Full Inventor build requires tag
  openinventor-V09-04-02).
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Added support for
  configuration of OpenInventor environment variables in
  geant4-environment-setup scripts.
- Templates/geant4-environment-skeleton.in : Added support for OpenInventor
  environment variables needed by old Makefile toolchain. At present, OIVHOME is
  not set, as the Geant4 public interface should not need this.
- Modules/Geant4ConfigureConfigScript.cmake : Added support for configuration
  of OpenInventor feature.
- Templates/geant4-config.in : Added support for OpenInventor feature.
- Modules/Geant4InterfaceOptions.cmake : Added support for OpenInventor, with
  new CMake option GEANT4_USE_INVENTOR to enable build. On Unix platforms, X11
  and Xm are also searched for as these are used in Geant4's Inventor module.
- Modules/FindInventor.cmake (NEWFILE) : Find module for Inventor, adapted from
  post on CMake mailing list by Jan Peciva. Tested against Coin3d
  implementation.


November 4th 2011 - B.Morgan
- Modules/Geant4ConfigureConfigScript.cmake : Added setup of installed script
  to use self location functionality in geant4-config when installation is
  relocatable.
- Templates/geant4-config.in : Added capability for script to self locate
  itself. The technique is to fully resolve any softlinks to the script file
  itself using readlink, but with workarounds because the '-f' option to
  readlink is not available on all platforms. No attempt is made to resolve
  any softlinks in the path elements or to replace occurrence of '.' or '..'.
  However, the algorithm has been tested in several softlinking situations
  and should cover everything but real corner cases... The result of the
  resolution is the diectory in which the script resides. This can be used
  later in the script as necessary.


November 2nd 2011 - B.Morgan (cmake-V09-04-31)
- Modules/Geant4InstallData.cmake : Bumped version of G4EMLOW library to be
  installed from 6.22 -> 6.23.


November 2nd 2011 - B.Morgan (cmake-V09-04-30)
- Modules/Geant4BuildModes.cmake : Reverted file to revision 51604
  (cmake-V04-04-28 tag) which removes the TestReleaseDebug mode.
- Modules/Geant4MakeRules_cxx.cmake : Reverted file to revision 52696
  (cmake-V09-04-28 tag) which removes the TestReleaseDebug mode. This reverts
  TestRelease to having platform dependent flags, specifically there is no
  optimization on Apple.
- Modules/geant4-config.in : Fixed typo error that used incorrect name for
  CMake supplied variable Geant4_VERSION, preventing correct expansion.
- Modules/Geant4ConfigureConfigScript.cmake : Tidied up indenting to standard
  two space format. Added skeleton setup for making script relocatable in
  the Install Tree.


October 11th 2011 - B.Morgan
- Templates/Geant4Config.cmake.in [BUGFIX #1253] : Jean Jacquemier reported
  a problem when building applications using a pure static build of Geant4.
  This was traced to incorrect list syntax in Geant4Config.cmake, as detailed
  in the above Bug Report #1253. The fix is to remove the quotes around the
  list as these cause it to be represented as one single string.


October 10th 2011 - B.Morgan (cmake-V09-04-29)
- Modules/Geant4ValidateSources.cmake (NEWFILE) : Module to configure the
  geant4_validate_sources.cmake.in and create a custom 'validate_sources'
  target which runs the resulting configured script.
- Templates/geant4_validate_sources.cmake.in (NEWFILE) : CMake script that
  locates all sources.cmake files in the Geant4 source tree, parses them to
  extract all listed sources/headers and compares that list with sources and
  headers on disk. Any mismatches whether files listed in sources.cmake and no
  longer on disk, or files on disk but not listed in sources.cmake, are
  reported. If any mismatches are found, the script will fail with FATAL_ERROR,
  though it will not do so until the whole tree has been scanned to ensure all
  mismatches are located. It ignores certain files that are known to cause
  mismatch detection but which are no longer part of the Geant4 CMake build.


October 6th 2011 - B.Morgan (cmake-V09-04-28)
- Modules/Geant4BuildModes.cmake : Added TestReleaseDebug mode to
  CMAKE_BUILD_TYPES and CMAKE_CONFIGURATION_TYPES.
  NB: Diaganosed problem reported by Pere, whereby added modes were not
  appearing in VS. This is likely because CMAKE_CONFIGURATION_TYPES is set
  *after* the project(...) call: http://www.itk.org/Bug/view.php?id=6788
  Will fix after new modes are confirmed.
- Modules/Geant4MakeRules_cxx.cmake : Split TestRelease mode into two,
  TestRelease, which is optimized and has debugging symbols, and
  TestReleaseDebug, which has debug symbols only. Both still use
  G4DEBUG_VERBOSE and G4FPE_DEBUG definitions.


October 4th 2011 - P. Mato (cmake-V09-04-27)
- Modules/Geant4TestDriver.cmake: Fix to allow an empty command

October 4th 2011 - P. Mato (cmake-V09-04-26)
- Modules/FindXercesC.cmake: Added xerces-c_3 as a possible name for libraries (for windows)

September 30th 2011 - P. Mato (cmake-V09-04-25)
- Modules/Geant4MakeRules_cxx.cmake: Fixed debug flag to -Zi for Visual C++

- Modules/Geant4CTest.cmake: Moved from tests/CMakeLists.txt the logic to
  construct the GEANT_TEST_ENVIRONMENT with data file locations to be useful
  for benchmarks tests.

September 29th 2011 - B. Morgan (cmake-V09-04-24)
- Modules/Geant4OptionalComponents.cmake : Removed enabling of Fortran language
  when G3toG4 is enabled. Gunter Folger reported problems with obtaining correct
  Fortran setup, so we disable this since we don't actually compile the rztog4
  app at present. A change has also been made in the top level CMakeLists.txt
  so that the Make rules initialization for Fortran is no longer set up.


September 16th 2011 - B. Morgan (cmake-V09-04-23)
- Templates/Geant4Config.cmake.in : Addition of G4VIS_USE and G4UI_USE to list
  of definitions has been made conditional on the existence of the variables
  G4VIS_NONE and G4UI_NONE. If those variables are set, e.g. via -DG4UI_NONE,
  the corresponding compile definition will not be set. This gives
  requested behaviour, but as before this is a temporary hack.


September 16th 2011 - B. Morgan (cmake-V09-04-22)
- Templates/Geant4Config.cmake.in : Added G4VIS_USE and G4UI_USE to list
  of core compile definitions. This is seemingly needed to support test
  building, but should only be seen as a temporary fix. These variables
  should be set at the application level.


September 15th 2011 - P. Mato (cmake-V09-04-21)
- Templates/UseGeant4_internal.cmake: Fixed a bug affecting tests on Windows.

August 16th 2011 - P. Mato (cmake-V09-04-20)
- Templates/UseGeant4_internal.cmake: Added support for tests on Windows with
  NMake and Visual Studio.

- Modules/Geant4TestDriver.cmake: Avoid the use of ':' as separator since is used
  already in the drive letters on Windows.

August 16th 2011 - P. Mato (cmake-V09-04-19)
- Modules/FindROOT.cmake : Added function ROOT_GENERATE_DICTIONARY() to facilitate
  the generation of ROOT dictionaries

- Modules/Geant4CTest.cmake (NEWFILE): Place for the configutation of CTest.

- Modules/Geant4TestDriver.cmake: Added the pre- and post-commands for tests. This
  was neeed to preform some initial cleanup of post processing on some tests.

- Templates/UseGeant4_internal.cmake: Changed the function GEANT4_ADD_TEST() to
  make use of the pre- and post-commands.

August 16th 2011 - B.Morgan (cmake-V09-04-18)
- Templates/UseGeant4.cmake : Fixed error is use of get_filename_component
  to locate internal use file.


August 10th 2011 - B.Morgan (cmake-V09-04-17)
- Modules/Geant4BuildProjectConfig.cmake : Added copy of UseGeant4_internal
  file to build tree, but do not install it.

- UseGeant4.cmake : Factored out internal only macros into UseGeant4_internal
  module. Added optional inclusion of that module, which will only happen in the
  build tree.

- UseGeant4_internal.cmake (NEWFILE) : Added to hold CMake code only needed
  by 'use' of Geant4 inside Geant4 itself, e.g. unit and validation tests.
  This is done to fix a bug reported offline by Alberto Ribon, where including
  UseGeant4.cmake fails due to an unfound custom CMake module. The functions
  like GEANT4_ADD_TEST use extra functionality which is located in custom CMake
  modules. Whilst these modules could be installed, this adds unneeded
  complexity to the use of Geant4 and may also clash with CMake itself. Also,
  the functions needing the modules are not intended for use by users, so are
  factored out into this build tree only module.


August 3rd 2011 - B.Morgan (cmake-V09-04-16)
- Modules/Geant4MakeRules_cxx.cmake, Modules/Geant4BuildModes.cmake :
  Moved setting of initial values for TestRelease and Maintainer mode compiler
  flags to make rules override file. Values are now set based on compiler and
  platform, as G4FPE_DEBUG option should only be used for GNU compiler, and
  with non-optimized code on Mac OS X (information from Gunter Folger).
  Geant4BuildModes uses initial values as input to cache value, so variables
  can be reset from the command line and within the cache interfaces if
  needed.

- Modules/Geant4BuildProjectConfig.cmake : Re-added WIN32 guard on export of
  the G4LIB_BUILD_DLL definition.


July 29th 2011 - B.Morgan (cmake-V09-04-15)
- Modules/Geant4InstallData.cmake : Corrected URL for use in downloading data
  to use direct URL. Original URL redirects, which early 2.8 iterations of
  CMake appear not to like.
  Use .tar.gz of RadioactiveDecay as this is available and cheaper to download.
  Added use of PREFIX in ExternalProject so that all EP directories are
  created under a single 'Externals' directory. This is simply to keep the
  build tree nicely organized. The data still appear in the data/ subdirectory
  of the build directory, so this should not affect usage by tests.


July 29th 2011 - P. Mato
- Modules/CMakeMacroParseArguments.cmake : updated to the version exiting in CMake 2.8.5

- Modules/Geant4MacroLibraryTargets.cmake, Modules/Geant4MacroDefineModule.cmake,
  Modules/Geant4MacroDefineModule.cmake : Adjusted to the new CMakeMacroParseArguments.cmake

- Templates/UseGeant4.cmake : Removed installs included in GEANT4_LIBRARY and
  GEANT4_EXECUTABLE macros and fixed comments.


July 28th 2011 - B. Morgan (cmake-V09-04-14)
- History : Added note on preferred format of entries.

- Modules/Geant4InstallData.cmake : Added guard on option and install of data so
  that this is only available on CMake >= 2.8 due to use of ExternalProject.
  (NB: Usage still broken, probably due to tar formats (CMake 2.8.1).

- Modules/UseGeant4.cmake : Forced all CXX flags to use those used to build
  Geant4 [BUGFIX #1227]. Neatified and commented internal functions for
  library/exe/test builds. Added WARNING message if GEANT4_ADD_TEST is used
  outside of the Geant4 project. Corrected(?) include of
  CMakeMacroParseArguments (MIGHT BREAK GEANT4_XXX FUNCTIONS IN UseGeant4).

- Modules/Geant4CPackBase.cmake : Added TBZ2 and ZIP types back into list of
  source package generators. Neatified the generation of the README file.
  Neatified and commented new component build commands.

- Modules/Geant4MacroLibraryTargets.cmake : Corrected setting of
  INSTALL_NAME_DIR for library targets [BUGFIX #1231].

- Templates/geant4-config.in : Added G4analysis library to default list of
  libraries.

- Templates/Geant4Config.cmake.in : Added G4analysis library to Geant4_LIBRARIES
  variable. Always added for now rather than as an optional component.


July 27th 2011 - P. Mato
- Added the downloading and installation of Geant4 Data files if the option
  GEANT4_INSTALL_DATA is set. Modified Modules/Geant4InstallData.cmake
- Initial version of CPack configuration for binaries.
  Modified Modules/Geant4CPackBase.cmake and added Templates/CMakeCPackOptions.cmake.in,
    Templates/g4_small.gif
- Initial set of files needed for testing with CTest.
  Added Modules/FindROOT.cmake, Modules/Geant, Geant4TestDriver.cmake
  Added options GEANT4_ENABLE_TESTING, GEANT4_BUILD_EXAMPLES in
    Modules/Geant4LibraryBuildOptions.cmake
  Inherit CMAKE_MODULE_PATH in tests. Modified Modules/Geant4BuildProjectConfig.cmake,
    Templates/Geant4Config.cmake.in
  Added convenient macros to Templates/UseGeant4.cmake


July 5th 2011 - G.Folger  (cmake-V09-04-13)
- Modules/{Geant4LibraryBuildOptions,Geant4BuildProjectConfig}.cmake:
   protect setting of G4LIB_BUILD_DLL to happen on WIN32 only.
    (Affected examples/.../olap, which was built without this flag,
     and failed to link)

July 5th 2011 - B. Morgan (cmake-V09-04-12)
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Added support for
  setting GDML/Xerces variables as needed.
- Templates/geant4-environment-skeleton.in : Added unsetting/setting of
  G4LIB_USE_GDML and XERCESCROOT. These are needed to help the automated builds
  of examples in the old toolchain. XERCESCROOT uses the value of
  XERCESC_INCLUDE_DIR with one directory level stripped off the end. This
  is not 100% foolproof if an odd XercesC install is used, but should cover
  the vast majority of cases.

June 29th 2011 - B.Morgan (cmake-V09-04-11) (In geant4-09-04-ref-06)
- INSTALL.g4cmake : Added warning about ensuring consistent compiler flag
  sets between build of Geant4 and build of user application.
- Templates/UseGeant4.cmake : Added setting of all CMAKE_CXX_FLAGS_XXXX
  variables with appending of Geant4 recommended flags, and filter out
  any duplicate flags. Adding warning in documentation about this.

June 23rd 2011 - B.Morgan (cmake-V09-04-10)
- INSTALL.g4cmake : Added note on possible issues when building Windows
  applications using Windows 7 + VS2010 Express.
- Templates/UseGeant4.cmake : Fixed idiotic typo error in globbing expressions
  inside file(GLOB_RECURSE).

June 23rd 2011 - B.Morgan (cmake-V09-04-09)
- INSTALL.g4cmake : Added in missing data library package names. Added
  note in Known Issues on Mac warnings from ld due to duplicate dylibs
  (the overlinking issue as it appears on Mac).
- Modules/Geant4MacroLibraryTargets.cmake : Added setting of INSTALL_NAME_DIR
  target property to shared libraries (only affects Mac OS X) to final
  install location of libraries. This prevents "image not found" errors when
  building an app against Geant4 (you don't need DYLD_LIBRARY_PATH set).
  CMake *should* build the dylibs with the headerpad_max_install_names flag
  so that bundling the Geant4 libraries into an app should work (you can
  repoint the app to use the bundled libraries).
  N.B. THIS IS LIKELY TO AFFECT USAGE OF CPACK LATER ON!
- Templates/UseGeant4.cmake : Fixed error in use of file(GLOB_RECURSE) so
  that globas are done only under the current source directory.

June 22nd 2011 - B.Morgan (cmake-V09-04-08)
- INSTALL.g4cmake : Finalized with description of using the three toolchains
  to build Geant4 applications.
- Modules/Geant4ConfigureConfigScript.cmake : Updated with patch from Pere
  Mato Vila to export use of internal CLHEP to script when used. Also upgraded
  to export details on Motif. Script is now generated for both the build and
  install trees. On CMake >= 2.8, the build tree script is made executable.
- Templates/geant4-config : Updated with patch from Pere Mato Vila to use
  internal CLHEP, plus upgrades to provide easier setting of third party paths,
  compile defintions and libraries. Added motif feature, and changed main
  prefix, lib and include directory variable replacement to that the script
  can be used form the build directory as well.
- INSTALL.g4cmake : Updated with new guides on building user applications
  using CMake and GNU make.
- Templates/Geant4Config.cmake.in : First full implementation with most
  features in place. Provides version and component checking. Setting of
  components features quite a bit of boilerplate code and a reasonable degree
  of in module processing. TODO : Investigate clean up and better
  modularization.
- Templates/UseGeant4.cmake : NEW FILE : Provides a simple CMake module which
  users can include to setup the build of a basic Geant4 application without
  needing to know too many details. Sets definitions, include directories and
  compiler flags. Provides a simple macro to collate sources in an old style
  Geant4 Example, with documetation on usage in the file.
- Modules/Geant4BuildProjectConfig.cmake : Set needed variables for export to
  Geant4Config.cmake script.
- Modules/Geant4MakeRules_cxx.cmake : Added -DXPNET and
  -D_CRT_SECURE_NO_DEPRECATE to MSVC flags to make these exactly the same as
  used on old makefile system.
- Modules/Geant4LibraryBuildOptions.cmake : Added definition G4LIB_BUILD_DLL
  needed to define import/export correctly. Done globally.
- INSTALL.g4cmake : Fleshed out further.
- Templates/Geant4Config.cmake.in : Fleshed out documentation with extra notes
  to help development.
- Modules/Geant4BuildProjectConfig.cmake : Added extra comments

June 21st 2011 - B.Morgan (cmake-V09-04-07)
- Modules/Geant4BuildProjectConfig.cmake : Added section for collecting
  variables to be exported to the configuration files. Rationalized config of
  Build and Install Trees so that these sections have the same structure.
- Templates/Geant4Config.cmake.in : Updates with documentation, debugging
  option and some improved setting of definitions. Still a skeleton though.
- Modules/Geant4InterfaceOptions.cmake : Removed reset of OpenGL variables on
  Win32 because this seems to prevent proper refind of the variables. Since we
  expect to be able to use Qt and OpenGL concurrently on Win32. This *should*
  be o.k.
- INSTALL.g4cmake : Added extra information on using Visual Studio.
- Modules/Geant4ToolChainBackwardCompatibility.cmake : Removed setting of
  G4ORDPARAMTABLE as this is no longer needed.
- Templates/geant4-environment-skeleton.in : Removed setting of G4ORDPARAMTABLE.


June 20th 2011 - B.Morgan (cmake-V09-04-06)
- Modules/Geant4InterfaceOptions.cmake : Corrected typographic error in option
  test for enabling Qt on Non-Apple platforms.
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Added Geant4 to
  end of G4INCLUDE path for install tree in line with changes to
  Geant4InstallDirs.
- Modules/Geant4MacroLibraryTargets.cmake : Added Geant4 to end of installation
  destination for headers in line with changes to Geant4InstalDirs.
- Modules/Geant4InstallDirs.cmake : Removed Geant4 from INCLUDEDIR to better
  reflect standard practice. The Geant4 tag is now added to the destination in
  the install commands for headers.
- Modules/Geant4OptionalComponents.cmake : Automatically use GDML if user
  supplies XERCESC_ROOT_DIR argument.
- Modules/Geant4InstallData.cmake : NEW FILE : Refactored installation of
  examples from top level CMakeLists.txt into this file. Also provided stub
  option for installation of data libraries. We don't implement this yet
  because it appears to require some CMake 2.8 specific functionality and
  I haven't yet worked out how to reproduce this in 2.6.4.
- INSTALL.g4cmake : Rewritten for updated CMake system with full documentation
  of variables. Provided sections for describing use of the three toolchains
  for building user applications, but not fully covered yet.

June 20th 2011 - B.Morgan (cmake-V09-04-05)
- Modules/Geant4LibraryOptions.cmake : On Unix platforms, set output directory
  for libraries to end in the 'SYSTEM-COMPILER' tag expected by the old
  toolchain. This allows the build tree to be used with the old toolchain.
  #BUGFIX - 1200 (PARTIAL)
- Modules/Geant4OptionalComponents.cmake : Now ensures that the static versions
  of the internal G4clhep and G4expat libraries are used if geant4 is built
  completely static, otherwise dynamic libs will be used. This is not perfect
  but ensures builds will not fail.
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Completely rewritten
  to use new geant4-environment-skeleton.in template. Provides full setup
  of environment from build and install trees, permitting developers to
  build applications directly using the build tree. Also adds all currently
  supported visualization/ui modules. Adds setting of the G4ORDPARAMTABLE
  variable to support this new resource file.
- Templates/geant4-environment-skeleton.in : NEW FILE : Universal shell script
  skeleton for generating backward compatible environment variable setup.
  # BUGFIX - 1202

June 17th 2011 - B.Morgan (cmake-V09-04-04)
- Modules/Geant4ConfigureConfigScript.cmake
  Modules/Geant4ToolchainBackwardCompatibility.cmake : Updated to use new
  GEANT4_USE_RAYTRACER_X11 variable.
- Modules/Geant4InterfaceOptions.cmake : Corrected type in resetting of OpenGL
  variables.
  Changed GEANT4_USE_RAYTRACERX -> GEANT4_USE_RAYTRACER_X11 to be in line with
  what's done for other drivers.

June 17th 2011 - B.Morgan (cmake-V09-04-03)
- Tagging : internal because this requires testing.
  Full support also requires tags:
   interfaces-V09-04-03
   opengl-V09-04-05

- Modules/Geant4InterfaceOptions.cmake : Rewritten to enable correct switch
  between Qt and X11 based GUIs on Mac, with consistent changes in OpenGL
  location. Added in find_package for Motif. Added full option and find_package
  for locating OpenGL on Win32.
- Modules/Geant4OptionalComponents.cmake : Imporved documentation of external
  CLHEP option. GEANT4_USE_SYSTEM_CLHEP made a standard option as it will
  likely be used a lot to begin with.

June 16th 2011 - B.Morgan (cmake-V09-04-02)
- Modules/Geant4LibraryBuildOptions.cmake : Default to building shared libraries
  on all platforms, but warn about possible link errors on MSVC when building
  both shared and static libs. Mark both library build options as advanced.
  Add warning about building granular libs as only for developers.
- Modules/Geant4InterfaceOptions.cmake : Reverted to version from
  cmake-V09-04-01 because of poor logic.
- Modules/FindCLHEP.cmake : UPGRADE WITH INTERFACE BREAK : Much simplified
  search structure which no longer relies on clhep-config. The user can supply
  a CLHEP_ROOT_DIR argument to point CMake to a specific installation. On UNIX
  clhep-config will be searched for under this root dir. CLHEP library and
  include path will be found under this root dir, or in the system paths.
  Version checking is also provided which follows the standard logic of
  CMake modules.
- Modules/Geant4OptionalComponents.cmake : Option to use system CLHEP is
  now automatically set to ON if the user has supplied a CLHEP_ROOT_DIR
  argument. This simplifies the interface.

June 15th 2011 - B.Morgan
- Modules/Geant4InterfaceOptions.cmake : Added in option for enabling Xm (Motif)
  support with find_package for Motif headers/libraries.
  Use of Qt and X11 OpenGL have been made mutually exclusive on Mac OS X to
  prevent clashes between Framework OpenGL and X11 OpenGL.
  Added new stub option to build OpenInventor driver
  TODO: Add FindInventor module, check build of OpenInventor category.
  Added new stub option to build Win32 OpenGL driver.
  TODO: Add Win32 build to OpenGL category.
- Templates/geant4-env.sh.in
  Templates/geant4-env.csh.in : Removed unsetting of data library environment
  variables.
  TODO : Add setting of these as an optional codeblock if data was installed
  as part of the Geant4 build.

June 15th 2011 - B.Morgan (cmake-V09-04-01)
- Modules/Geant4InterfaceOptions.cmake : Set QT_USE_IMPORTED_TARGETS on WIN32
  to stop errors when setting LINK_INTERFACE_LIBRARIES to a value containing
  the 'optimized' etc library link keywords. By default, FindQt4 will use
  these keywords...
  KNOWNISSUE: Using imported targets means that the Geant4Config.cmake file
  must regenerate these targets otherwise the link will fail.

June 14th 2011 - B.Morgan
- Modules/Geant4MacroLibraryTargets.cmake : Added build of DLL targets on
  WIN32 platforms. Export definition files are generated by genwindef from
  an archive library. If Geant4 is not built with archive libraries, a
  dummy, non-installed archive will be built an used.
  The structure largely follows that of GaudiPolicy.cmake from Pere Mato Vila.
- Modules/Geant4LibraryBuildOptions.cmake : Added build of genwindef app
  on WIN32 platforms as an internal app, as per guidelines from
  GaudiPolicy.cmake from Pere Mato Vila.
- Modules/genwindef/genwindef.cpp
  Modules/genwindef/LibSymbolInfo.hpp
  Modules/genwindef/LibSymbolInfo.cpp:
  NEW FILES to support generation of DLL .def files on WIN32 platform.
  Courtesy of Pere Mato Vila.
- Modules/Geant4Wrapping.cmake : NEW FILE : Refactoring of options for
  Python wrapping to help in modularization. Python wrapping is not yet
  implemented in the CMake build, but this is where we'll set it up.
- Modules/Geant4OptionalComponents.cmake : NEW FILE : Refactoring of options
  for CLHEP, Expat, ZLIB, GDML, G3TOG4 from top level CMakeLists.txt to
  help with modularization.
- Modules/Geant4LibraryBuildOptions.cmake : NEW FILE : Refactoring of library
  build options from top level CMakeLists.txt, including global define flags,
  global vs granular library format and static vs shared builds.
- Modules/Geant4MacroLibraryTargets.cmake : Ensure that when static targets
  are built, they are linked to Geant4 static targets.
  TODO: Do we want to make this the case also for external libraries (very
  difficult?)?
  KNOWNISSUE: G4global will always be linked to shared G4clhep if latter is
  built as will G4processes to shared G4expat. Not critical (well, shouldn't
  affect running or applications).

June 13th 2011 - B.Morgan
- Modules/Geant4CPackBase.cmake : Added to list of files to be excluded for
  source package so that .svn and top level tests directories are not added.
  Fixed source package generator so that .tar.gz, .tar.bz2 and .zip packages
  are created.
  Tidied up structure so that future changes are easier to add in a clear
  way.
- Modules/Geant4InterfaceOptions.cmake : Removed accidently commited change
 of finding VTK as a test of find_package.

June 10th 2011 - B.Morgan
- Templates/geant4-config.in : Adapted to use new install directories as
  provided by Geant4InstallDirs as template parameters.
- Modules/Geant4ConfigureConfigScript.cmake : Added support for new
  install directories defined in Geant4InstallDirs
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Added support for
  new install directories defined in Geant4InstallDirs.
- Modules/Geant4MacroLibraryTargets.cmake : Added support for install of
  libraries and headers to new install paths defined by Geant4InstallDirs.
  Added EXPORT to library targets so that they can be used by Geant4Config
  scripts.
  Added proper COMPONENT argument to install commands to correctly partition
  targets needed for Development and for Runtime.
  Appended each library target and include paths to global
  properties so these can be exported to Geant4Config file easily for use
  from the build tree.
- Templates/Geant4Config.cmake.in : NEW FILE : Template versioning file
  for use by Geant4Config.cmake.
- Templates/Geant4Config.cmake.in : NEW FILE : Template files for CMake
  config script for Geant4. VERY PRELIMINARY.
- Modules/Geant4BuildProjectConfig.in : NEW FILE : Builds CMake Config scripts
  to allow external projects to use Geant4 from a build or install tree.
- Modules/Geant4InstallDirs.cmake : NEW FILE : Adds a standard set of
  installation location based on the GNU set. Adapted from GNUInstallDirs
  provided with CMake 2.8, but cut down to only use directories needed by
  Geant4.
- Modules/CMakeUninstallTarget.cmake : NEW FILE : Adds an 'uninstall' target
  to remove all items installed via the install command.
- History: Corrected a couple of entries with incorrect year in the date.
- Modules/Geant4InterfaceOptions.cmake: Set GEANT4_ADD_FEATURE for all
  UI/Vis options so that enabled options are reported at the end of
  configuration.


May 25th 2011 - B.Morgan
- Modules/Geant4InterfaceOptions.cmake : Added new GEANT4_USE_OPENGL_X11
  option to enable build of OpenGL library X11 component. If enabled, will
  search for X11 libraries (plus Xmu, which FindX11 doesn't do) and OpenGL.
  Also performed some cleanup of the Qt section.
- Templates/geant4-env.sh.in : Added variable setting for OpenGL X11
- Templates/geant4-env.csh.in : Added variable setting for OpenGL X11
- Templates/geant4-config.in : Added needed reporting and flags setting for
  OpenGL X11 support.
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Added setting of
  variable needed to export the existence of OpenGL X11 in the geant4-env
  scripts.
- Modules/Geant4ConfigureConfigScript.cmake : Added setting of variables
  needed to export OpenGL X11 existence and X11 flags to geant4-config script.


May 24th 2011 - B.Morgan (cmake-V09-04-00)
- *** All History for the CMake category will now be in this file ***
- Templates/geant4-env.sh.in : Added variable setting for RayTracerX
- Templates/geant4-env.csh.in : Added variable setting for RayTracerX
- Templates/geant4-config.in : Added needed reporting and flags setting for
  RayTracerX support.
- Modules/Geant4ToolchainBackwardCompatibility.cmake : Added setting of
  variable needed to export the existence of RayTracerX in the geant4-env
  scripts.
- Modules/Geant4ConfigureConfigScript.cmake : Added setting of variables
  needed to export RayTracerX existence and X11 flags to geant4-config script.


December 3rd 2010 - B. Morgan (cmake-V09-03-01)
- Added generation of geant4-config script.

October 29th 2010 - B. Morgan
- Install.g4cmake: Added as installation guide for using CMake.

October 1st, 2010 - B.Morgan (cmake-V09-03-00)
- Created. First Alpha version of CMake build system.
