cvs log $Id: History,v 1.3 2010-12-03 17:58:51 gcosmo Exp $
-------------------------------------------------------------------

     =========================================================
     Geant4 - an Object-Oriented Toolkit for Simulation in HEP
     =========================================================

                      Category History file
                      ---------------------

History file for Geant4 CMake build scripts.
It DOES NOT substitute the SVN log-message one should put at every
committal in the SVN repository !

Entries MUST use the following format:


MONTH DAY YEAR - INITIAL.SURNAME (TAG)
- FILECHANGED : Document changes made.

- OTHERFILECHANGED : Document changes made.


You should keep two lines between each date.
TAG is optional. If your changes fix a bug listed in the Geant4 Bugzilla,
add this in the documentation for the changed file as [BUGFIX #BUGNUMBER].


     ----------------------------------------------------------
     * Reverse chronological order (last date on top), please *

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

8th June 2015 - Ben Morgan (cmake-V10-00-41)
- 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.

5th May 2015 - Ben Morgan (cmake-V10-00-40)
- 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
- 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
- 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
- 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
- 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-00-39)
- Modules/Geant4MacroLibraryTargets.cmake: Added external G4geomUSolids
  library to static linkage list. Addressing problem report #1725.

29th January 2015 - Ben Morgan (cmake-V10-00-38)
- 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
- 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
- Modules/Geant4InterfaceOptions.cmake: BUGFIX #1683. Correct search
  path for X11 libraries to ensure location of Xquartz libs on OS X.

05th December 2014 - Ben Morgan 
- 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.
