Geant4 Cross Reference |
1 # Category cmake History 2 3 See `CONTRIBUTING.rst` for details of **required** info/format for each entry, 4 which **must** added in reverse chronological order (newest at the top). 5 It must **not** be used as a substitute for writing good git commit messages! 6 7 ------------------------------------------------------------------------------- 8 9 ## 2024-11-25 Ben Morgan (cmake-V11-02-30) 10 - Bump RadioactiveDecay dataset version to 6.1.2 11 - Fixes Issue #237 12 13 ## 2024-11-19 Ben Morgan (cmake-V11-02-29) 14 - Bump RadioactiveDecay dataset version to 6.1.1 15 16 ## 2024-11-08 Ben Morgan (cmake-V11-02-28) 17 - Bump dataset versions: 18 - PhotonEvaporation 6.1 19 - RadioactiveDecay 6.1 20 - Fixes Issue 234 21 22 ## 2024-10-30 Ben Morgan (cmake-V11-02-27) 23 - Ensure sanitizer flags are forwarded to the linker when using Xcode, and all 24 linker flags are forwarded to builds of tests done by geant4_add_test. 25 - Fixes Issue #227 26 27 ## 2024-10-02 Ben Morgan (cmake-V11-02-26) 28 - Bump URRPT dataset version to 1.1 29 - Fixes Issue #228 30 31 ## 2024-09-25 Ben Morgan (cmake-V11-02-25) 32 - Default GEANT4_INSTALL_PACKAGE_CACHE to OFF 33 - This file is highly unstable on macOS and SPack installs, and causes more problems 34 for most users than it solves. 35 36 ## 2024-09-24 Ben Morgan (cmake-V11-02-24) 37 - Support running example build-and-run tests in Xcode 38 - Part of Issue #227 39 40 ## 2024-09-23 Gunter Folger (cmake-V11-02-23) 41 - Bump dataset version: 42 - RadioactiveDecay 6.0.1 43 - Fixes Issue #226 44 45 ## 2024-09-19 Ben Morgan (cmake-V11-02-22) 46 - Bump dataset versions: 47 - G4ENSDFSTATE 3.0 48 - PhotonEvaporation 6.0 49 - RadioactiveDecay 6.0 50 - Fixes Issue #224 51 52 ## 2024-08-28 Ben Morgan (cmake-V11-02-21) 53 - Bump G4EMLOW dataset version to 8.6.1 54 55 ## 2024-08-27 Ben Morgan (cmake-V11-02-20) 56 - Add new G4CHANNELING dataset to support channeling physics processes/models. 57 58 ## 2024-06-24 Ben Morgan (cmake-V11-02-19) 59 - Simplify CMake/CTest functions and settings 60 - Move geant4_add_test function to dedicated module, retiring "UseGeant4_internal" 61 file 62 - Reduce oversetting of Geant4_DIR variable for use by tests 63 64 ## 2024-06-07 Ben Morgan (cmake-V11-02-18) 65 - Add optional install of new URRPT data model 66 - Fixes Issue #217 67 68 ## 2024-06-04 Ben Morgan (cmake-V11-02-17) 69 - Do not export HDF5 version to Geant4Config 70 - Fixes Issue #214 71 72 ## 2024-05-17 Gunter Folger (cmake-V11-02-16) 73 - Use patched G4NDL 4.7.1 dataset. 74 75 ## 2024-05-17 Ben Morgan (cmake-V11-02-15) 76 - Add optional install of new NuDEXLib data model 77 78 ## 2024-05-09 Ben Morgan (cmake-V11-02-14) 79 - Provide CMake function to assist in linking unit tests to final libraries 80 given required source code modules. 81 82 ## 2024-05-08 Ben Morgan (cmake-V11-02-13) 83 - Remove configuration/setup of TiMemory in Geant4. 84 85 ## 2024-05-03 Ben Morgan (cmake-V11-02-12) 86 - Introduce new `FullRelWithDebInfo` build mode. 87 - Essentially `-O3 -g`, so maximum optimization with debugging symbols 88 - Intended to help diagnose FPE exceptions on Alma9/gcc13/c++20 and future 89 proof against similar 90 - Remove obsolete `Maintainer` build mode that is nothing more than `Debug` 91 92 ## 2024-04-30 Ben Morgan (cmake-V11-02-11) 93 - Simplifications to Geant4Config.cmake 94 - Remove obsolete and never run "whole archive" linking of G4physics_lists 95 - Replace TOOLSSG vis driver variables that are just synonyms for more 96 fundamental config options (e.g. GEANT4_USE_QT) with the underlying 97 variable. 98 99 ## 2024-03-26 Ben Morgan (cmake-V11-02-10) 100 - Disable use of FindPythia6 outside of internal Geant4 examples. 101 102 ## 2024-04-17 Stephan Hageboeck (cmake-V11-02-09) 103 - Mention the possibility of using cvmfs datasets in the cmake configure warning 104 105 ## 2024-04-17 Ben Morgan (cmake-V11-02-08) 106 - Bump G4EMLOW dataset to v8.6 107 108 ## 2024-04-08 Guilherme Amadio (cmake-V11-02-07) 109 - Fix also find_package(SoXt) and find_package(SoWin) 110 111 ## 2024-04-20 Ben Morgan (cmake-V11-02-06) 112 - Update FindPythia8 module to: 113 - Apply [GitHub PR 68](https://github.com/Geant4/geant4/pull/68) 114 - Reduce capability to only that required by py8decayer example 115 - Emit error if used in project outside Geant4 or py8decayer 116 117 ## 2024-03-12 Ben Morgan (cmake-V11-02-05) 118 - Update FindPythia6 module to account for lib64 119 - Applies [GitHub PR 63](https://github.com/Geant4/geant4/pull/63) 120 121 ## 2024-03-11 Ben Morgan (cmake-V11-02-04) 122 - Fix escaping of regex in geant4_module_check to satisfy latest Python3. 123 124 ## 2024-03-06 Ben Morgan (cmake-V11-02-03) 125 - Bump G4PARTICLEXS dataset to v4.1 126 127 ## 2024-01-29 Ben Morgan (cmake-V11-02-02) 128 - Manually check versions of found SoXX packages to workaround their use of 129 the `ExactVersionOnly` version checking strategy in find_package. Geant4 130 only requires a minimum version. 131 132 ## 2024-01-26 Ben Morgan (cmake-V11-02-01) 133 - Add -F flag for Qt when on macOS and with a framework build of Qt 134 - Addresses [Bugzilla 2589](https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2589) 135 136 ## 2024-01-19 Ben Morgan (cmake-V11-02-00) 137 - Add compiler flags for GCC only to help detect/debug LTO-related problems when 138 building with CMAKE_INTERPROCEDURAL_OPTIMIZATION. 139 140 ## 2023-11-28 Ben Morgan (cmake-V11-01-30) 141 - Bump minimum VecGeom version to 1.2.6 142 143 ## 2023-11-14 Ben Morgan (cmake-V11-01-29) 144 - Export QT_VERSION value to GNUmake setup script 145 146 ## 2023-11-03 Ben Morgan (cmake-V11-01-28) 147 - Prefix ZLIB/EXPAT variables with "G4" to prevent clash with VTK's own internal 148 find of these packages. 149 150 ## 2023-10-09 Ben Morgan (cmake-V11-01-27) 151 - Use FindPython in place of deprecated FindPythonInterp in FindStatTest 152 153 ## 2023-10-06 Ben Morgan (cmake-V11-01-26) 154 - Update G4INCL to v1.2 155 - Update G4EMLOW to v8.5 156 157 ## 2023-09-06 Stewart Boogert (cmake-V11-01-25) 158 - Update VTK module deps for geometry IO 159 - Updated module init for VTK 160 161 ## 2023-09-05 Ben Morgan (cmake-V11-01-24) 162 - Allow source code modules to have an AUTOMOC property and promote this to 163 consuming target to remove hardcoding of Qt-using modules 164 165 ## 2023-08-02 Ben Morgan (cmake-V11-01-23) 166 - Export non-cache variables to Geant4PackageCache to support CMake>=3.27 167 - Fixes Bugzilla 2556 168 169 ## 2023-07-05 Igor Semeniouk (cmake-V11-01-22) 170 - print md5sum in coreutils format for compatibility with busybox 171 172 ## 2023-06-21 Ben Morgan (cmake-V11-01-21) 173 - Remobe obsolete and confusing GEANT4_BUILD_TESTS option and configuration 174 175 ## 2023-06-14 Gunter Folger (cmake-V11-01-20) 176 - Update to use G4EMLOW 8.4, as provoded by Vladimir 177 178 ## 2023-05-31 Ben Morgan (cmake-V11-01-19) 179 - Require Qt5 >= 5.9 if Qt5 support is selected 180 - Version chosen as current system version on oldest support OS (CentOS7) 181 182 ## 2023-05-29 Guy Barrand (cmake-V11-01-18) 183 - Templates/Geant4Config.cmake.inm Modules/G4InterfaceOptions.cmake: handle the TOOLSSG_[X11,XT,WINDOWS,QT]_ZB vis drivers. 184 185 ## 2023-05-23 Ben Morgan (cmake-V11-01-17) 186 - Add capabilities to geant4_module_check.py: 187 - Given a module, print list of modules that depend on it 188 - Print all modules sorted in descending order of the number of modules using them 189 - Show which headers from linked modules are included by a module in its 190 usage requirements output 191 192 ## 2023-05-12 Ben Morgan (cmake-V11-01-16) 193 - Make linking a source code module to a final Geant4 library a cmake-time error 194 - Fixes #161 195 196 ## 2023-05-10 Ben Morgan (cmake-V11-01-15) 197 - Update config scripts for split of G4persistency library 198 199 ## 2023-05-10 Gunter Folger (cmake-V11-01-14) 200 - Update to use G4INCL 1.1 201 202 ## 2023-04-28 Ben Morgan (cmake-V11-01-13) 203 - Export VTK_DIR and QtX_DIR to package cache to assist in refinding both. 204 205 ## 2023-04-27 Ben Morgan (cmake-V11-01-12) 206 - Find and refind Qt6OpenGLWidgets module in Qt6 for use by Qt/OpenGL consumers. 207 208 ## 2023-04-26 Ben Morgan (cmake-V11-01-11) 209 - Support finding and use of Qt6 on request for beta testing. 210 211 ## 2023-04-02 Ben Morgan (cmake-V11-01-10) 212 - No longer link to QtPrintSupport, which is not used in the toolkit. 213 214 ## 2023-03-28 Gunter Folger (cmake-V11-01-09) 215 - Update to use G4ABLA 3.3 216 217 ## 2023-03-22 Ben Morgan (cmake-V11-01-08) 218 - Remove setting of -D flags in Geant4Config to enable vis drivers. Libraries 219 now export compile definitions for what they support to move to a "use on link" 220 model. 221 222 ## 2023-02-16 Gunter Folger (cmake-V11-01-07) 223 - Update to use G4EMLOW 8.3 224 225 ## 2023-02-13 Stewart Boogert (cmake-V11-01-06) 226 - streamlined VTK cmake components. 227 228 ## 2023-02-06 Ben Morgan (cmake-V11-01-05) 229 - Remove no longer required G4VecGeomShim module. 230 - VecGeom supports/supplies full imported targets since 1.1.18 231 - Use of VECGEOM_LIBRARIES variable required to allow build against CUDA-enabled VecGeom 232 233 ## 2023-01-30 Ben Morgan (cmake-V11-01-04) 234 - Update Qt MOC application for G4UIimplementation in place of G4UIbasic/G4UIcommon 235 236 ## 2023-01-25 Ben Morgan (cmake-V11-01-03) 237 - Initial support for declaring headers of a source code module private. 238 - Headers declared private are not installed 239 - geant4_module_check reports an inconsistency if a private header is used 240 non-privately 241 242 ## 2023-01-18 Ben Morgan (cmake-V11-01-02) 243 - Fix configuration/use of G4ToolsSG in geant4-config 244 - 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) 245 246 ## 2023-01-09 Ben Morgan (cmake-V11-01-01) 247 - Use PROJECT_ or Geant4_ scoped _SOURCE/BINARY_DIR variables in place of CMAKE_ 248 scope version to ease use of Geant4 as a CMake subproject. 249 - Fixes [GitHub PR #52](https://github.com/Geant4/geant4/pull/52) 250 251 ## 2022-12-20 Gunter Folger (cmake-V11-01-00) 252 - Use new dataset G4ABLA 3.2 253 254 ## 2022-12-05 Ben Morgan (cmake-V11-00-50) 255 - Revert VecGeom minimum version to 1.2.0 due to issues with 1.2.1 reported by 256 CMS but not yet triaged in VecGeom itself. 257 258 ## 2022-11-29 Ben Morgan (cmake-V11-00-49) 259 - Stamp minimum versions of CLHEP and VecGeom required for 11.1 release 260 261 ## 2022-11-21 Ben Morgan (cmake-V11-00-48) 262 - Only support Qt5. Code updates to support Qt6 did not make release deadline, so 263 remove find of Qt6, retaining other support structures to enable quick updates 264 later. 265 266 ## 2022-11-15 Ben Morgan (cmake-V11-00-47) 267 - Remove Geant4Py from toolkit build, pointing users to upstream repo if they 268 set GEANT4_USE_PYTHON in the CMake arguments. 269 270 ## 2022-11-07 Ben Morgan (cmake-V11-00-46) 271 - Keep file timestamps from unpacked data libraries in CMake 3.24 and newer. 272 273 ## 2022-10-27 Ben Morgan (cmake-V11-00-45) 274 - 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) 275 276 ## 2022-10-20 Guy Barrand (cmake-V11-00-44) 277 - Modules/G4InterfaceOptions.cmake: remove usage of GEANT4_USE_TOOLSSG since ToolsSG 278 is now "always on" on all platforms. 279 - Templates/Geant4Config.cmake.in: remove usage of _geant4_use_toolssg_library, and 280 setup of -DG4VIS_USE_TOOLSSG for compilation. 281 282 ## 2022-10-13 Ben Morgan (cmake-V11-00-43) 283 - Find, use and re-find Qt OpenGLWidgets component when Qt6 is in use. 284 285 ## 2022-10-12 Gunter Folger (cmake-V11-00-42) 286 - add new dataset G4EMLOW 8.2 as provided by Vladimir: 287 This modification include additions for atomic de-excitation for Z=101-104 288 and N2 DNA data. No change for existing tests is expected. 289 290 ## 2022-10-07 Gabriele Cosmo (cmake-V11-00-41) 291 - Added "-diag-disable=10441" CXX option to Intel compilers, to disable 292 icc compiler deprecation message. 293 294 ## 2022-09-27 Ben Morgan (cmake-V11-00-40) 295 - Promote INTERFACE module properties to PUBLIC when merging them into a non-INTERFACE 296 final target. 297 298 ## 2022-09-25 Ben Morgan (cmake-V11-00-39) 299 - Fix bug causing failure in `do_provides` function of geant4_module_check.py 300 301 ## 2022-09-10 Ben Morgan (cmake-V11-00-38) 302 - Implement mechanism to filter out headers in geant4_module_check with linting comment 303 304 ## 2022-09-09 Ben Morgan (cmake-V11-00-37) 305 - Fix geant4_module_check returning 1 on successful run 306 - Filter out C++ filesystem library from checks 307 308 ## 2022-09-03 Ben Morgan (cmake-V11-00-36) 309 - Filter out Vis driver modules from consistency check for G4vis_management 310 - G4VisExecutive is a user level compile time interface to "plugin" drivers. 311 - Driver headers need filtering out as they are not linked to in Geant4 itself 312 to avoid circular dependencies. 313 314 ## 2022-08-31 Ben Morgan (cmake-V11-00-35) 315 - New geant4_module_check.py script to provide convenient interface for developers 316 and testing to check module/library cycles and dependency inconsistencies. 317 318 ## 2022-07-14 Ben Morgan (cmake-V11-00-34) 319 - Remove obsolete and now longer built G4gl2ps target 320 321 ## 2022-07-14 Ben Morgan (cmake-V11-00-33) 322 - Address [Bugzilla 2485](https://bugzilla-geant4.kek.jp/show_bug.cgi?id=2485) 323 - Update extraction of include paths from VecGeom to use imported target 324 property. 325 326 ## 2022-06-09 Igor Semeniouk (cmake-V11-00-32) 327 - G4ConfigureGNUMakeHelpers.cmake (geant4.[c]sh, geant4.bat generation ) 328 - use the environment variable GEANT4_DATA_DIR as top data dir 329 - the environment variables for individual dataset commented in scripts 330 331 ## 2022-06-07 Ben Morgan (cmake-V11-00-31) 332 - Rationalize interlinked PTL/TBB build options 333 334 ## 2022-05-30 Guilherme Amadio (cmake-V11-00-30) 335 - Add options --sh and --csh to geant4-config script 336 337 ## 2022-05-18 Guilherme Amadio (cmake-V11-00-29) 338 - Use more standard install location for CMake files 339 - Remove version from default installation directories 340 - Add required configuration to be able to generate DEB/RPM packages with CPack 341 342 ## 2022-05-16 Guilherme Amadio (cmake-V11-00-28) 343 - Add source validation exception for G4FindDataDir.hh generated header 344 345 ## 2022-05-03 Ben Morgan (cmake-V11-00-27) 346 - Preliminary configuration support for Qt5 and Qt6 347 348 ## 2022-04-27 Gunter Folger (cmake-V11-00-26) 349 - add new dataset G4NDL 4.7 with new TermalScattering data 350 351 ## 2022-04-11 Ben Morgan (cmake-V11-00-25) 352 - Allow library composition to be overriden in developer builds 353 354 ## 2022-04-11 Ben Morgan (cmake-V11-00-24) 355 - Do not use "readlink -f" to support pre-Monterey macOS systems 356 357 ## 2022-04-08 Ben Morgan (cmake-V11-00-23) 358 - Add -Og to GNU/Clang default debug flags 359 360 ## 2022-04-06 Ben Morgan (cmake-V11-00-22) 361 - Don't add CLHEP_INCLUDE_DIRS directly through include_directories to prevent potential 362 issues with it holding relative paths (reported by Seth Johnson) 363 364 ## 2022-04-05 Ben Morgan (cmake-V11-00-21) 365 - Copy .clang-tidy file to build directory to assist run-clang-tidy reporting. 366 367 ## 2022-04-04 Igor Semeniouk (cmake-V11-00-20) 368 - In G4ConfigurePkgConfigHelpers.cmake, geant4-config.in (geant4-config generation) 369 - new flag "--features", add vtk and qt3d feature 370 - allow use md5sun if openssl missing 371 - canonicalize prefix path 372 - In G4ConfigureGNUMakeHelpers.cmake (geant4.[c]sh, geant4.bat generation ) 373 - allow full path source in zsh, sh 374 - unset local variables at the end 375 - introduced GEANT4_DATA_DIR, all DS path relative to this 376 377 ## 2022-03-25 Ben Morgan (cmake-V11-00-19) 378 - Add commands for working with categories analagous to module commands 379 380 ## 2022-03-28 Ben Morgan (cmake-V11-00-18) 381 - Remove retired G4tasking library from configuration files 382 383 ## 2022-03-28 Ben Morgan (cmake-V11-00-17) 384 - Fix typo in G4DeveloperAPI that prevented install of headers 385 386 ## 2022-03-25 Ben Morgan (cmake-V11-00-16) 387 - Do not use CMAKE_VERBOSE_MAKEFILE when building tests 388 389 ## 2022-03-22 Ben Morgan (cmake-V11-00-15) 390 - Add geant4_module_sources command to enable appending of headers/sources 391 to a module after creation 392 393 ## 2022-03-18 Ben Morgan (cmake-V11-00-14) 394 - Change default value of GEANT4_BUILD_BUILTIN_BACKTRACE to OFF 395 396 ## 2022-03-15 Ben Morgan (cmake-V11-00-13) 397 - Rationalize declaration and use of internal builds of required externals CLHEP, 398 zlib, expat, PTL and tools libraries. 399 400 ## 2022-03-10 Ben Morgan (cmake-V11-00-12) 401 - Remove deprecated functions in G4DeveloperAPI 402 - Support declaration and composition of header-only modules and libraries 403 404 ## 2022-03-03 Ben Morgan (cmake-V11-00-11) 405 - Provide GEANT4_BUILD_ENABLE_ASSERTIONS option to enable assert() in all 406 release build modes (Release, RelWithDebInfo, MinSizeRel) 407 - Addresses GitLab Issue #104 408 - Forward `CMAKE_<LANG>_FLAGS[_<MODE>]` flags to `geant4_add_test` so that 409 a consistent set is used through the project. 410 411 ## 2022-03-07 Gunter Folger (cmake-V11-00-10) 412 - fix in CMakeCPackOptions.cmake.in to avoid PATH with only /, without \, for g4_small.bmp 413 414 ## 2022-02-11 Gunter Folger (cmake-V11-00-09) 415 - add new dataset G4EMLOW 8.1 416 417 ## 2022-02-11 Igor Semeniouk (cmake-V11-00-08) 418 - Bug fix introduced in cmake-V11-00-06 419 - G4ConfigureGNUMakeHelpers.cmake - Fix for _g4tc_prepend_path on geant4.bat genaration ( Windows only) 420 - History - fix comment syntax 421 422 ## 2022-02-11 Ben Morgan (cmake-V11-00-07) 423 - Apply [GitHub PR 37](https://github.com/Geant4/geant4/pull/37) from gondiaz. 424 - Add G4ptl and G4tasking libraries to link list in geant4-config 425 - Fixup: place G4tasking in correct location in dependency list 426 427 ## 2022-02-11 Igor Semeniouk (cmake-V11-00-06) 428 - Bug fix in functions _g4tc_prepend_path, _g4tc_apppend_path on geant4.bat genaration ( Windows only) 429 430 ## 2022-02-10 Igor Semeniouk (cmake-V11-00-05) 431 - In G4ConfigureGNUMakeHelpers.cmake 432 - not set LD_LIBRARY_PATH configuration on MacOS (Darwin) 433 - add paths to DLL into PATH on Windows 434 435 ## 2022-02-08 Ben Morgan (cmake-V11-00-04) 436 - Enable ToolsSG and backends based on use of external libraries (Qt, X11, Xm, Win32) 437 - Backends made non-mutally exclusive 438 - Remove GEANT4_USE_TOOLSSG public CMake option 439 - Addresses #117 440 441 ## 2022-02-06 Gabriele Cosmo (cmake-V11-00-03) 442 - Updated compilation flags for Intel icc/icx compilers. 443 444 ## 2022-02-05 Gunter Folger (cmake-V11-00-02) 445 - Add icpx/icx compiler to G4ConfigureGNUMakeHelpers.cmake 446 447 ## 2022-01-28 Ben Morgan (cmake-V11-00-01) 448 - Correct logic error in checking whether module is already composed 449 - **DEPRECATIONS** 450 - `geant4_define_module` 451 - `geant4_global_library_target` 452 - Implementation reduced to emitting a CMake warning message on what to replace with 453 454 ## 2021-12-10 Ben Morgan (cmake-V11-00-00) 455 - Change to new Markdown History format 456 457 --- 458 459 # History entries prior to 11.0 460 461 09 November 2021 - Ben Morgan (cmake-V10-07-53) 462 - Only configure public release contribution guide if present 463 464 30 November 2021 - Ivana Hrivnacova (cmake-V10-07-52) 465 - Removed FindAIDA.cmake from Modules 466 467 29 November 2021 - Ben Morgan (cmake-V10-07-51) 468 - Require VecGeom 1.1.18 or newer 469 - Configure/find Vtk alongside other UI/Vis options 470 471 26 November 2021 - Ben Morgan (cmake-V10-07-50) 472 - Strip .git{ignore,lab,hub} files/dirs from source package 473 - Use XZ compression instead of BZIP for source package 474 475 22 November 2021 - Ben Morgan (cmake-V10-07-49) 476 - Improve/modernize CPack source packaging 477 478 12 November 2021 - Ben Morgan (cmake-V10-07-48) 479 - Retire G4VIS_... preprocessor symbols in toolkit build, only required 480 by obsolete GNUmake system 481 482 8 November 2021 - Ben Morgan (cmake-V10-07-47) 483 - Retire G4UI/G4INTY_... preprocessor symbols in toolkit build, only required 484 by obsolete GNUmake system 485 486 2 November 2021 - Gunter Folger (cmake-V10-07-46) 487 - switch to new dataset G4EMLOW8.0, given by Vladimir 488 489 27 October 2021 - Guy Barrand (cmake-V10-07-45) 490 - Modules/G4DeveloperAPI.cmake: ToolsSG => G4ToolsSG in the list of Qt moc-able modules. 491 492 25/27/28 October 2021 - Gunter Folger (cmake-V10-07-44) 493 - switch to new dataset G4TENDL1.4 provided by Alberto 494 495 22 October 2021 - Guy Barrand (cmake-V10-07-43) 496 - Modules/G4DeveloperAPI.cmake: have ToolsSG as a Qt moc-able module. 497 498 13 October 2021 - Ben Morgan (cmake-V10-07-42) 499 - Add XercesC library directory to Linux LD_LIBRARY_PATH for GNUmake. 500 Workaround for incorrect setup on LCG stacks for Nightly builds 501 502 12 October 2021 - Ben Morgan (cmake-V10-07-41) 503 - Make ToolsSG options mutually exclusive 504 505 04 October 2021 - Stewart Boogert / Laurie Nevay (cmake-V10-07-40) 506 - Add options and find module for VTK visualisation driver 507 508 27 September 2021 - Ben Morgan (cmake-V10-07-39) 509 - Change default value of GEANT4_BUILD_MULTITHREADED to ON 510 511 22 September 2021 - Guilherme Amadio (cmake-V10-07-38) 512 - geant4_add_test: 513 - Ensure that Geant4 being built is picked up to build examples. 514 - Ensure that the same compiler is used to build the tests. 515 516 13 September 2021 - Gabriele Cosmo (cmake-V10-04-37) 517 - Set CLHEP-2.4.5.1 as the required minimum version. 518 519 3 September 2021 - Ben Morgan (cmake-V10-04-36) 520 - geant4_add_test creates separate build/run tests when asked to do both 521 - Required to support valgrind/memcheck runs without valgrind-ing 522 the build part of the test. 523 524 1 September 2021 - Ben Morgan (cmake-V10-04-35) 525 - Remove obsolete geant4_{executable,link_library} options 526 527 26 August 2021 - Ben Morgan (cmake-V10-07-34) 528 - Remove obsolete network VRML driver option 529 - Remove obsolete network FukuiRenderer driver option 530 531 23 August 2021 - Guilherme Amadio (cmake-V10-07-33) 532 - Rename Geant4::HDF5 to hdf5::hdf5 to be compatible with 533 imported target provided since CMake 3.20. 534 535 20 August 2021 - Gunter Folger (cmake-V10-07-32) 536 - Switch to G4ParticleXS 4.0 537 538 22 July 2021 - Ivana Hrivnacova (cmake-V10-07-31) 539 - Fixed path to g4tools/fonts, now in source/externals 540 541 30 June 2021 - Ben Morgan (cmake-V10-07-30) 542 - Remove obsolete GEANT4_USE_SYSTEM_CLHEP_GRANULAR option 543 544 29 June 2021 - Ben Morgan (cmake-V10-07-29) 545 - Disable creation of clang-formatting targets 546 547 21 June 2021 - Julia Yarba (cmake-V10-07-28) 548 - Clean cmake/Modules/FindPythia8.cmake 549 (remove trailing whitespaces) 550 551 18 June 2021 - Julia Yarba (cmake-V10-07-27) 552 - Add cmake/Modules/FindPythia8.cmake 553 - Update cmake/Modules/G4ConfigureCMakeHelpers.cmake 554 555 8 June 2021 - Gunter Folger (cmake-V10-07-26) 556 - Switch to G4EMLOW 7.17 557 558 03 June 2021 - Ben Morgan (cmake-V10-07-25) 559 - Remove explicit setting of PTL_ cmake options. 560 - Add GEANT4_USE_PTL_LOCKS option to forward to internal PTL 561 as PTL_USE_LOCKS. 562 563 27 May 2021 - Ben Morgan (cmake-V10-07-24) 564 - Implement build/test script in Python to check for cycles in the 565 declared source module dependency graph. 566 567 25 May 2021 - Jonathan Madsen (cmake-V10-07-23) 568 - External PTL requires v2.0.0 569 570 25 May 2021 - Ben Morgan (cmake-V10-07-22) 571 - Clarify use of Freetype for both analysis and visualization 572 - Remove use of no longer required imported target shim for build 573 574 24 May 2021 - Ben Morgan (cmake-V10-07-21) 575 - Bump minimum CMake version to 3.12 576 577 22 May 2021 - Ben Morgan (cmake-V10-07-20) 578 - Qualify geant4_add_feature descriptions with "G4_" to distinguish them from 579 CMake property descriptions. 580 581 18 May 2021 - Ben Morgan (cmake-V10-07-19) 582 - Require C++17 as minimum standard to compile Geant4 583 - Allow compilation against C++23 with CMake 3.20 and newer 584 - Check for filesystem support in native or extension (GNU/Clang) libraries 585 586 15 May 2021 - Jonathan Madsen (cmake-V10-07-18) 587 - Set GEANT4_BUILD_BUILTIN_BACKTRACE to ON by default so novice 588 and intermediate users can, by default, get valuable information 589 on segmentation faults. Projects with their own signal handlers 590 can configure with this option off, set G4BACKTRACE="none" in 591 the environment, create their signal handlers after G4RunManager 592 gets created, or add `G4BackTrace::DefaultSignals() = std::set<int>{};` 593 before G4RunManager gets created. 594 595 10 May 2021 - John Allison (cmake-V10-07-17) 596 - With vis-V10-07-03, incorporating visman-V10-07-06 and vis_toolsg-V10-07-00. 597 Introduce a new vis driver, TOOLSSG (Guy Barrand). 598 o Four (mutually exclusive) options: 599 . TOOLSSG_X11_GLES 600 . TOOLSSG_WINDOWS_GLES 601 . TOOLSSG_XT_GLES 602 . TOOLSSG_QT_GLES 603 604 7 May 2021 - Gunter Folger (cmake-V10-07-16) 605 - Switch to G4EMLOW 7.16 606 607 4th May 2021 - Ben Morgan (cmake-V10-07-15) 608 - Remove obsolete -stdlib flag for AppleClang 609 610 3 May 2021 - Gunter Folger (cmake-V10-07-14) 611 - Switch to G4EMLOW 7.15 612 613 28 April 2021 - Ben Morgan (cmake-V10-07-13) 614 - Preliminary support for sanitizers 615 616 22 March 2021 - Alberto Ribon (cmake-V10-07-12) 617 - Modules/G4BuildSettings.cmake : removed deprecated PHP_AS_HP 618 environmental variable. 619 620 19th March 2021 - Gunter Folger (cmake-V10-07-11) 621 - Update to older G4TENDL 1.3.2, 1.4 has problems. 622 623 18 March 2021 - Ben Morgan (cmake-V10-07-10) 624 - Check for unparsed arguments in G4DeveloperAPI functions to 625 provide better validation against typos/etc in use 626 627 09 March 2021 - John Allison (cmake-V10-07-09) 628 - Remove all references to Wt. 629 630 23 February 2021 - Ben Morgan (cmake-V10-07-08) 631 - Store PUBLIC/PRIVATE/INTERFACE module usage requirements explicitly 632 633 18th February 2021 - Ben Morgan (cmake-V10-07-07) 634 - Add G4tools target to CMake/GNUmake configuration following its 635 migration from analysis to externals categories. 636 637 4th February 2021 - Igor Semeniouk (cmake-V10-07-06) 638 - geant4.bat prototype 639 - hint to run geant4-config on windows 640 641 30th January 2021 - Gunter Folger (cmake-V10-07-05) 642 - Update to patched dataset G4PARTICLEXS 3.1.1 as provided by Vladimir I. 643 644 22nd January 2021 - Ben Morgan (cmake-V10-07-04) 645 - Update for GitHub PR #17: Provide same fix for MacPorts 646 - Address Bugzilla #2303: Fail configuration if Qt is enabled with CMake < 3.9 647 648 15th January 2021 - Ben Morgan (cmake-V10-07-03) 649 - Apply GitHub PR #17 from Florian Uhlig: Fix installation 650 error with Homebrew X11/GL. 651 652 11th January 2021 - Ben Morgan (cmake-V10-07-02) 653 - Apply GitHub PR #16 from andriish: Fix configure/build with 654 system PTL 1.0.0. 655 656 5th January 2010 - Gunter Folger (cmake-V10-07-01) 657 - Update to dataset G4EMLOW 7.14 as provided by Sebastien 658 659 8th November 2020 - Ben Morgan (cmake-V10-07-00) 660 - Install/Use builtin PTL CMake scripts from PTL subdirectory 661 alongside Geant4Config.cmake 662 663 20th November 2020 - Ben Morgan (cmake-V10-06-46) 664 - Make GEANT4_USE_SYSTEM_PTL option advanced 665 666 12th November 2020 - Jonathan Madsen (cmake-V10-06-45) 667 - Updated find package routines for timemory 668 669 19th November 2020 - Ben Morgan (cmake-V10-06-44) 670 - Require VecGeom 1.1.8 or newer 671 672 18th November 2020 - Ben Morgan (cmake-V10-06-43) 673 - Add GEANT4_BUILD_BUILTIN_BACKTRACE option to enable automatic 674 use of G4BackTrace signal handling in G4RunManager. 675 676 17th November 2020 - Gunter Folger (cmake-V10-06-42) 677 - Bump CLHEP minimum required version to 2.4.4.0 678 679 4th November 2020 - Ben Morgan (cmake-V10-06-41) 680 - Make Qt53D driver optional based on find of required Qt5 modules 681 682 2nd/3rd November 2020 - Gunter Folger (cmake-V10-06-40) 683 - Update to dataset RadioactiveDecay5.6 and PhotonEvaporation5.7 as 684 provided by Laurent 685 686 30th October 2020 - Gunter Folger (cmake-V10-06-39) 687 - Update datasets as provided by Laurent: 688 - G4ENSDFSTATE2.3 689 - PhotonEvaporation5.6 690 - RadioactiveDecay5.5 691 692 29th October 2020 - Ben Morgan (cmake-V10-06-38) 693 - Remove obsolete Geant4MacroDefineModule and G4DeveloperAPI_OLD modules 694 - Make Geant4MacroLibraryTargets module a no-op pending final removal in 695 2021 696 - Remove GEANT4_USE_NEW_CMAKE option to complete migration to new system 697 - Use STRINGS cache property for enum options and CMAKE_BUILD_TYPE to 698 give easier interface in (G)UIs 699 - Remove pre CMake3 functionality from G4InstallData module 700 701 27th October 2020 - Gunter Folger (cmake-V10-06-37) 702 - Add optional TENDL dataset 703 704 26th October 2020 - Ben Morgan (cmake-V10-06-36) 705 - Explicitly initialize GEANT4_USE_QT3D to OFF to prevent 706 user override. 707 708 26th October 2020 - Gunter Folger (cmake-V10-06-35) 709 - Switch to G4PARTICLEXS 3.1 710 711 23rd October 2020 - John Allison (cmake-V10-06-34) 712 - Introduce changes for Qt3D vis driver. 713 714 20th October 2020 - Ben Morgan (cmake-V10-06-33) 715 - Update functions to use G4expat{-static} as custom built targets. 716 Fixes GitLab Issue #44. 717 718 19th October 2020 - Ben Morgan (cmake-V10-06-32) 719 - Support CMake 3.8 through 3.18 720 - Allow specification of C++20 for CMake 3.12 and above 721 722 12th October 2020 - Daren Sawkey (cmake-V10-06-31) 723 - Switch to new data set G4RealSurface 2.2 724 725 12th October 2020 - Gunter Folger (cmake-V10-06-30) 726 - Switch to G4PARTICLEXS 3.0 727 728 24th September 2020 - Gunter Folger (cmake-V10-06-29) 729 - Switch to G4EMLOW 7.13 730 731 15 September 2020 - Jonathan Madsen (cmake-V10-06-28) 732 - Updated GEANT4_TEST_ENVIRONMENT to set G4RUN_MANAGER_TYPE=TBB when MT and 733 GEANT4_USE_TBB=ON 734 735 28 August - Ben Morgan (cmake-V10-06-27) 736 - Improve support for Inventor (Coin) 737 - Simplify configuration options, handling co-working ones both 738 at configure time and by client applications. 739 - Separate out dependency finding to keep these in one place. 740 - Improve consistency of using XQuartz vs System OpenGL on 741 macOS. 742 - Remove obsolete FindInventor module 743 744 21 July 2020 - Ben Morgan (cmake-V10-06-26) 745 - Provide new GEANT4_BUILD_PHP_AS_HP option to enable ParticleHP as 746 HP in G4processes. Replaces PHP_AS_HP environment variable. 747 - Add PHP_AS_HP "feature" in Geant4Config.cmake/geant4-config to allow 748 clients to check availability. 749 750 17th June 2020 - Jonathan Madsen (cmake-V10-06-25) 751 - Moved TBB before PTL 752 - Forced PTL_USE_TBB to be set to GEANT4_USE_TBB when not 753 using system PTL 754 - Added Geant4::G4ptl ALIAS targets for build tree testing 755 - Added support for building G4ptl, GEANT4_USE_TBB option 756 - Updated FindTBB.cmake to be more robust 757 - Updates to PTL internal/external handling 758 - fixed PTL find_dependency 759 760 15th June 2020 - Gunter Folger (cmake-V10-06-24) 761 - Switch to G4EMLOW 7.12 762 763 8th June 2020 - Ben Morgan (cmake-V10-06-23) 764 - Default GEANT4_USE_NEW_CMAKE to ON to use new build organization 765 as the primary system. 766 - Fix bug in setting of AUTOMOC 767 - Handle install of G4clhep{-static} independently of main modules 768 due it being built outside the category system. 769 - Retain GEANT4_BUILDTREE_INCLUDE_DIRS in new CMake system to support 770 clients that may not yet support CMake target usage requirements. 771 - Protect recursion into tests module on existence of the directory 772 773 2nd June 2020 - Guilherme Amadio (cmake-V10-06-22) 774 - Avoid warnings from propagating CMAKE_DISABLE_FIND_PACKAGE_ROOT 775 down to tests. 776 777 30th May 2020 - Ben Morgan (cmake-V10-06-21) 778 - Modules/Geant4DeveloperAPI.cmake: Import new "target" style API for 779 declaring and composing libraries from modules of source code. 780 Provide GEANT4_USE_NEW_CMAKE option, OFF by default, to switch between 781 systems. 782 783 28th May 2020 - Gunter Folger (cmake-V10-06-20) 784 - Switch to G4EMLOW 7.11 785 786 26th May 2020 - Ben Morgan (cmake-V10-06-19) 787 - Use "VecGeom::vecgeom" as imported target name for VecGeom library 788 to bring in line with upstream master of VecGeom. Export VecCore_DIR 789 if it is set to package cache file, as new VecGeomConfig needs to refind 790 VecCore. 791 792 20 May 2020 - Frederick Jones (cmake-V10-06-18) 793 - Modules/G4InterfaceOptions.cmake: added GEANT4_USE_XM to Open 794 Inventor X driver code block to correct Xm and Xt link order. 795 796 19th May 2020 - Guilherme Amadio (cmake-V10-06-17) 797 - Propagate value of CMAKE_DISABLE_FIND_PACKAGE_ROOT down to tests 798 that optionally support ROOT to allow testing Geant4 with ROOT support 799 disabled. This is necessary when testing Geant4 with a different C++ 800 standard than ROOT when it's installed. 801 802 29th April 2020 - Ben Morgan (cmake-V10-06-16) 803 - Add GEANT4_USE_NEW_CMAKE option in preparation for testing of modular 804 build updates. Added now to suppress Continuous warnings 805 806 22 April 2020 - Frederick Jones (cmake-V10-06-15) 807 - Modules/G4InterfaceOptions.cmake, Templates/Geant4Config.cmake.in: 808 Added support for Open Inventor Qt Vis driver to be built 809 and used in applications. The library can be built with the 810 OIQT driver, or with the OIX/OIXE drivers, but not both. 811 812 6th April 2020 - Ben Morgan (cmake-V10-06-14) 813 - Activate build of geant4py when GEANT4_USE_PYTHON is set 814 Check that MT builds use global-dynamic TLS to allow Python 815 module loading of the Geant4 dynamic libraries. 816 817 21st April 2020 - Ben Morgan (cmake-V10-06-13) 818 - BUGFIX: Only store variables in Geant4PackageCache if they have 819 a value. 820 821 20th April 2020 - Ben Morgan (cmake-V10-06-12) 822 - Remove Qt4 support 823 824 17th April 2020 - Ben Morgan (cmake-V10-06-11) 825 - Add GEANT4_USE_PYTHON option to suppress Continuous warnings 826 827 3rd April 2020 - Guilherme Amadio (cmake-V10-06-10) 828 - Use full path to datasets if GEANT4_INSTALL_DATADIR is an absolute path 829 830 2nd April 2020 - Guilherme Amadio (cmake-V10-06-09) 831 - Customize CMAKE_INSTALL_DATADIR in a single location 832 833 18th March 2020 - Gunter Folger (cmake-V10-06-08) 834 - In Modules/G4CPack.cmake suppress warnings about icc libraries not existing 835 for Intel icc version 19. 836 837 16th March 2020 - Gunter Folger (cmake-V10-06-07) 838 - Switch to G4EMLOW 7.10 839 840 14th February 2020 - Ben Morgan (cmake-V10-06-06) 841 - No longer create gnumake symlinks on Windows 842 Windows permissions may prevent creation of symlinks, leading to 843 errors at install time. As gnumake is no longer supported on 844 Windows, protect symlink creation with test on host platform. 845 846 4th February 2020 - Ben Morgan (cmake-V10-06-05) 847 - BUGFIX 2221 848 Use "${FOO:-}" variable expansion and "-z" test to check for 849 undefined variables in Bourne Shell scripts. Prevents errors when 850 shell is in "set -u" mode. Report and patch supplied by Michael Reilly 851 852 27th January 2020 - Gunter Folger (cmake-V10-06-04) 853 - Switch to G4EMLOW 7.9.1 854 855 15th January 2020 - Ben Morgan (cmake-V10-06-03) 856 - Quote VECGEOM_COMPILE_DEFINITIONS to avoid incorrect argument errors 857 858 6th January 2020 - Ben Morgan (cmake-V10-06-02) 859 - Apply patch from TXCorp to allow compilation on Windows using Clang 860 861 12th December 2019 - Ben Morgan (cmake-V10-06-01) 862 - Remove requirement on presence of XQuartz GLU library 863 - No longer save glu related variables in the package cache 864 865 6th December 2019 - Ben Morgan (cmake-V10-06-00) 866 - Remove obsolete Geant4Wrapping module in preparation for full G4Py 867 build support 868 - Rename remaining internal "Geant4..." modules to "G4" convention 869 Retain Geant4DefineModule and Geant4LibraryTargets until new modularization 870 scheme in place. 871 - Format G4ClangFormat 872 873 25th November 2019 - Ben Morgan (cmake-V10-05-29) 874 - Disable configuration of Wt UI/Vis driver due to it no longer 875 compiling with recent Wt versions 876 877 22nd November 2019 - Jonathan Madsen (cmake-V10-05-28) 878 - Updated Geant4OptionalComponents.cmake and Geant4Config.cmake.in to support 879 the timemory find_package COMPONENTS and the INTERFACE library generation 880 - Updated "TiMemory" package name to simple "timemory" 881 882 20th November 2019 - Ben Morgan (cmake-V10-05-27) 883 - Require MSVC 19.20 (Visual Studio 2019) or newer to support 884 std::filesystem on Windows platforms 885 886 18th November 2019 - Gunter Folger (cmake-V10-05-26) 887 - Switch to PhotonEvaporation 5.5 888 889 16th November 2019 - Ben Morgan (cmake-V10-05-25) 890 - BUGFIX: Ensure visibility of custom modules in scope of Geant4Config. 891 Custom modules must be visible during scope of Geant4Config so packages 892 such as XQuartzGL can be refound. 893 894 14th November 2019 - Ben Morgan (cmake-V10-05-24) 895 - BUGFIX: Ensure installation of all *Shim.cmake files 896 897 13th November 2019 - Ben Morgan (cmake-V10-05-23) 898 - BUGFIX: Fix typo in setup of Qt4 libraries that resulted in use of a 899 Qt5 imported target 900 - BUGFIX #1663: Prepend Geant4_CXX_FLAGS[_<MODE>] to CMAKE_CXX_FLAGS[_<MODE>] 901 instead of overwriting 902 903 12th November 2019 - Ben Morgan (cmake-V10-05-22) 904 - BUGFIX: Use VECGEOM_INCLUDE_DIRS in INTERFACE_INCLUDE_DIRECTORIES for 905 the VecGeom::VecGeom imported targets. This will include required 906 externals such as VecCore and similar. 907 908 7th November 2019 - Ben Morgan (cmake-V10-05-21) 909 - Use target_XXX usage requirements to transport header paths and 910 links. Remove requirement to use complete include_directories chain 911 in Module sources.cmake files 912 - Retain exported "Geant4_INCLUDE_DIR{S}" variables in case clients use 913 ROOT dictionary generation (which does not understand usage requirements 914 of targets until latest versions). 915 - Namespace exported targets with "Geant4::" to enforce use of targets and 916 prevent accidental linkage via "-lG4name" expansion. 917 - Migrate use of all external packages to use and refind exported targets, 918 with shim scripts to support CMake versions from 3.8 at build/use time. 919 - Store build-time locations of used external packages in an optionally 920 installable CMake script for reuse, if present, by Geant4Config.cmake 921 in refinding packages. 922 - Remove remaining -D flags set via add_definitions, moving to 923 target_compile_definitions 924 925 6th November 2019 - Ben Morgan (cmake-V10-05-20) 926 - Remove GEANT4_FORCE_QT4 option, deprecating Qt4 support 927 - Retain fallback to finding Qt4, emitting a CMake warning that use 928 of Qt4 is deprecated. 929 - Fixes GitLab Issue #23 930 931 5th November 2019 - Gunter Folger (cmake-V10-05-19) 932 - Switch to PhotonEvaporation 5.4 and to RadioactiveDecay 5.4 933 934 31st October 2019 - Ben Morgan (cmake-V10-05-18) 935 - Require MSVC 19.11.25505 (Visual Studio 2017 update 3) as 936 minimum required version to build Geant4 on Windows. Needed 937 to support use of C++17 filesystem in visualization with standard 938 selection. 939 - Support compile features for this MSVC when using CMake < 3.10 940 - Default C++ Standard with MSVC is now C++17 941 - Remove old genwindef method of generating DLL symbol exports, as 942 min cmake version of 3.8 fully supports direct generation via target 943 properties. 944 945 25th October - Ben Morgan (cmake-V10-05-17) 946 - Bump minimum CMake version for build/use of Geant4 to 3.8, addressing Bug #2044 947 - Update IntelCompileFeatures to support C++17 for ICC 18 and above when 948 using CMake 3.8-3.10 949 950 23rd October 2019 - Gunter Folger (cmake-V10-05-16) 951 - Switch to G4NDL 4.6 952 953 14th October 2019 - Gunter Folger (cmake-V10-05-15) 954 - Switch to G4EMLOW 7.9 955 956 2nd October 2019 - Gunter Folger (cmake-V10-05-13) 957 - Switch to G4EMLOW 7.8 958 959 6th September 2019 - Ben Morgan (cmake-V10-05-12) 960 - Templates/UseGeant4_internal.cmake: Only scope location of test executable 961 when using a generator that supports multiconfig. 962 Allows tests to be run with Ninja Generator as "ninja test" 963 964 21st August 2019 - Ben Morgan (cmake-V10-05-11) 965 - Modules/Geant4InterfaceOptions.cmake: set OpenGL_GL_PREFERENCE to LEGACY 966 Prevents warning on CMake >= 3.10, and keeps existing behaviour. 967 968 20th August 2019 - Gunter Folger (cmake-V10-05-10) 969 - Switch to G4PARTICLEXS 2.1 970 971 13th August 2019 - Gabriele Cosmo (cmake-V10-05-09) 972 - Modules/Geant4OptionalComponents.cmake: added ELLIPSOID, ELLIPTICALCONE and 973 ELLIPTICALTUBE flags to enable wrapping of G4Ellipsoid, G4EllipticalCone and 974 G4EllipticalTube in GEANT4_USOLIDS_SHAPES. 975 Coworks with tag geom-specific-V10-04-13. 976 977 11th July 2019 - Ben Morgan (cmake-V10-05-08) 978 - Fix path-with-spaces bug reported by Eleanor Murray on Discourse 979 - https://geant4-forum.web.cern.ch/t/problem-running-example-b1/451 980 - Triaged as the include paths not being quoted so that when they have 981 spaces in them, the several expansions involved mean CMake can interpret 982 the space as a list seperator (;). This causes the wrong paths to be used 983 in compiler commands 984 - Explicitly quote Geant4 header paths from creation to export and use. 985 986 4th July 2019 - Ben Morgan (cmake-V10-05-07) 987 - Fix logic of setting up components in Geant4Config.cmake. 988 - Set up component when: 989 - Is found (Geant4_comp_FOUND is TRUE) 990 - comp exists in Geant4_FIND_COMPONENTS 991 - Don't remove found components from Geant4_FIND_COMPONENTS 992 - Check if component is FOUND and REQUIRED as last action, 993 setting Geant4_FOUND to FALSE if a missing required component 994 is detected. 995 - Fixes Bugzilla #2139 996 997 3rd July 2019 - Ben Morgan (cmake-V10-05-06) 998 - Do not switch off CMAKE_CXX_EXTENSIONS in Geant4Config. 999 Not required for client applications. 1000 - Fixes Bugzilla #2002 1001 1002 6th June 2019 - Ben Morgan (cmake-V10-05-05) 1003 - Remove G4FPE_DEBUG from Debug build mode 1004 - Not appropriate for basic debug and incompatible with Qt 1005 - Provide new "Debug_FPE" build mode which copies Debug mode and 1006 appends -DG4FPE_DEBUG to allow continued use without clashing 1007 with common primary modes. 1008 1009 24th May 2019 - Gunter Folger (cmake-V10-05-04) 1010 - Switch to G4PARTICLEXS 2.0 1011 1012 14th May 2019 - Ben Morgan (cmake-V10-05-03) 1013 - Promote always required -D flags for VecGeom replacements to fixed 1014 #define/undef flags in a header 1015 - See geommng-V10-05-05, G4GeomTypes/G4GeomConfig.hh 1016 - Set CMake variables for G4GEOM_USE_... parameters as configured 1017 - Retain add_definitions for VecGeom until it supports usage requirements 1018 - Update XXHelpers scripts for generating GNUmake/pkg-config/CMake files 1019 1020 8th February 2019 - Ben Morgan (cmake-V10-05-02) 1021 - DEV-250: Promote global, always required, -D flags to fixed #define/undef 1022 in new G4GlobalConfig.hh header: 1023 - G4USE_STD11 1024 - G4MULTITHREADED 1025 - G4_STORE_TRAJECTORY 1026 - G4VERBOSE 1027 - GEANT4_USE_TIMEMORY 1028 - Remove use of add_definitions of CMAKE_CXX_FLAGS to set these in Geant4 1029 and client scripts 1030 - Used by global-V10-05-02 1031 1032 7th February 2019 - Ben Morgan (cmake-V10-05-01) 1033 - Remove obsolete GEANT4_BUILD_MUONIC_ATOMS_IN_USE option 1034 and associated configuration/compiler flags. 1035 1036 21st December 2018 - Makoto Asai (cmake-V10-05-00) 1037 - Modules/Geant4OptionalComponents.cmake: 1038 - Template/Geant4Config.cmake.in: 1039 Add GEANT4_USE_SMARTSTACK 1040 1041 5th November 2018 - Gunter Folger (cmake-V10-04-27) 1042 - Switch to G4PARTICLEXS 1.1 1043 1044 5th November 2018 - Gunter Folger (cmake-V10-04-26) 1045 - Modules/Geant4DatasetDefinitions.cmake: 1046 remove entry for G4NEUTRONXS 1047 1048 2nd November 2018 - Gunter Folger (cmake-V10-04-25) 1049 - Modules/Geant4DatasetDefinitions.cmake: 1050 Add new G4PARTICLEXS data set; this replaces G4NEUTRONXS 1051 - fix dates of two entries below; was wrong, not even a typo 1052 1053 29th October 2018 - Gunter Folger (cmake-V10-04-24) 1054 - Switch to new dataset RadioactiveDecay5.3 1055 1056 29th October 2018 - Gunter Folger (cmake-V10-04-23) 1057 - Switch to new dataset PhotonEvaporation5.3 1058 1059 18th October 2018 - Ben Morgan (cmake-V10-04-22) 1060 - Modules/Geant4InstallData.cmake: Use https for URL 1061 - Templates/geant4-config.in: Add -L flag to curl to follow redirects 1062 when accessing dataset url 1063 1064 28th September 2018 - Gabriele Cosmo (cmake-V10-04-21) 1065 - Modules/Geant4MakeRules_cxx.cmake: added -DGL_SILENCE_DEPRECATION 1066 to CMAKE_CXX_FLAGS_INIT for clang to silence GL deprecation compilation 1067 warnings on MacOS 10.14 Mojave. 1068 1069 19th September 2018 - Gunter Folger (cmake-V10-04-20) 1070 - Switch to G4SAIDDATA2.0 1071 1072 17th September 2018 - Gunter Folger (cmake-V10-04-19) 1073 - Switch to G4EMLOW7.7 1074 1075 22nd August 2018 - Gabriele Cosmo (cmake-V10-04-18) 1076 - Updated FindInventor.cmake to properly setup SoQt if existing. 1077 - Geant4InterfaceOptions.cmake: added check for existance of SoQt package. 1078 1079 9th August 2018 - Gunter Folger (cmake-V10-04-17) 1080 - Switch to G4EMLOW7.6 1081 1082 3rd August 2018 - Gunter Folger (cmake-V10-04-16) 1083 - Add new dataset for INCL, G4INCL1.0 1084 1085 4th July 2018 - Gunter Folger (cmake-V10-04-15) 1086 - Switch to G4EMLOW7.5 1087 1088 19th June 2018 - Gunter Folger (cmake-V10-04-14) 1089 - Templates/geant4_validate_sources.cmake.in, revert addition of .c and .h 1090 Skip checking sources for zlib 1091 (.c and .h match far too many other files) 1092 - Switch to G4EMLOW7.4 1093 1094 14th June 2018 - Gunter Folger (cmake-V10-04-13) 1095 - Templates/geant4_validate_sources.cmake.in: add C sources and headers 1096 1097 8th June 2018 - Ben Morgan (cmake-V10-04-12) 1098 - Add "auto" dummy Thread Local Storage model 1099 Per request from CERN, when "auto" is used, 1100 no explicit compiler flag to select the TLS model is 1101 set. Record this in Geant4Config.cmake and geant4-config 1102 as unset/empty variables. 1103 1104 6th Jun 2018 - Jonathan Madsen (cmake-V10-04-11) 1105 - Addition of TiMemory as an optional package 1106 1107 23rd May 2018 - Ben Morgan (cmake-V10-04-10) 1108 - Remove CMake warning about building MT DLLs on Windows, as 1109 these are now supported. 1110 1111 23rd May 2018 - Gunter Folger (cmake-V10-04-09) 1112 - Update Geant4DatasetDefinitions to use G4RealSurface 2.1.1 1113 patched version bringing back data lost in 2.1 1114 1115 14st May 2018 - Gunter Folger (cmake-V10-04-08) 1116 - Update Geant4DatasetDefinitions to use G4NEUTRONXS 2.0 1117 1118 21st March 2018 - Ben Morgan (cmake-V10-04-07) 1119 - G4BuildSettings.cmake: Allow Windows MT builds to use DLLs, but warn. 1120 1121 26th February 2018 - Ben Morgan (cmake-V10-04-06) 1122 - Geant4InstallData.cmake, Geant4CTest.cmake: Update URL for downloads 1123 to "cern.ch/geant4-data" as the correct alias to new EOS area, seperate 1124 from main website. 1125 1126 26th February 2018 - Ben Morgan (cmake-V10-04-05) 1127 - Geant4InstallData.cmake, Geant4CTest.cmake: Update URL for downloads 1128 to "cern.ch/geant4" as the correct alias. 1129 1130 26th February 2018 - Ben Morgan (cmake-V10-04-04) 1131 - G4BuildSettings.cmake: Add 17/c++17 to C++ standards against which 1132 Geant4 can be compiled. Will require a minimum CMake version of 1133 3.8 to enable, but this is not checked. 1134 1135 20th February 2018 - Ben Morgan (cmake-V10-04-03) 1136 - Initial configuration support for MT on Windows 1137 - Modules/G4BuildSettings.cmake: Remove restrictions and warnings on enabling 1138 MT on Windows. Add restriction on building MT DLLs, emitting a fatal error 1139 if this combination is selcted, and report needed settings to enable 1140 static MT libraries. 1141 1142 18th January 2018 - Ben Morgan (cmake-V10-04-02) 1143 - Support use of WINDOWS_EXPORT_ALL_SYMBOLS for DLL builds with cmake >=3.4 1144 retaining old capability for CMake 3.3. 1145 - Modules/G4WindowsDLLSupport.cmake: New module to hold old DLL support. 1146 Create old `genwindef` support program, moved from G4BuildSettings. 1147 Implement `__geant4_add_dll_old` macro which expands to the pre cmake 3.4 1148 use of `genwindef` to export symbols and create DLL. 1149 - Modules/G4DeveloperAPI_OLD.cmake: Include G4WindowsDLLSupport module, and 1150 use functionality to create DLL when CMake is <3.4. Otherwise, use 1151 new WINDOWS_EXPORT_ALL_SYMBOLS property when building a shared library. 1152 1153 11th January 2018 - Gabriele Cosmo (cmake-V10-04-01) 1154 - Modules/Geant4OptionalComponents.cmake: add TESSELLATEDSOLID flag to enable 1155 wrapping of G4TessellatedSolid in GEANT4_USOLIDS_SHAPES. 1156 Coworks with tag geom-specific-V10-04-03. 1157 1158 8th December 2017 - Ben Morgan (cmake-V10-04-00) 1159 - Templates/UseGeant4_internal.cmake: When running test driver directly, 1160 make it run in WORKING_DIRECTORY if this is supplied. 1161 1162 30th November 2017 - Gabriele Cosmo (cmake-V10-03-49) 1163 - Replaced USolids specific flags with VecGeom in Geant4OptionalComponents.cmake. 1164 From now on VecGeomConfig.cmake will be required and used instead of 1165 USolidsConfig.cmake, as well as VecGeom_DIR instead of USolids_DIR. 1166 1167 29th November 2017 - Ben Morgan (cmake-V10-03-48) 1168 - Bugfix: Restore reporting of GEANT4_BUILD_CXXSTD. 1169 1170 27th November 2017 - Ben Morgan (cmake-V10-03-47) 1171 - Remove obsolete FindROOT module 1172 1173 10th November 2017 - Gunter Folger (cmake-V10-03-46) 1174 - Switch to new dataset G4PhotonEvaporation5.2 1175 1176 10th November 2017 - Gabriele Cosmo (cmake-V10-03-45) 1177 - G4ConfigureGNUMakeHelpers.cmake: corrected setting of USOLIDS_BASE_DIR 1178 path for GNUmake. 1179 1180 7th November 2017 - Ben Morgan (cmake-V10-03-44) 1181 - Modules/Geant4OptionalComponents.cmake: 1182 When using HDF5 with Multithreaded Geant4, check 1183 that found install of HDF5 was built with thread 1184 safety. Require HDF5 >= 1.8. 1185 1186 3rd November 2017 - Ben Morgan (cmake-V10-03-43) 1187 - BUGFIX: Make HDF5 component checkable by clients 1188 - Templates/Geant4Config.cmake.in : Add "hdf5" component 1189 with associated boolean Geant4_hdf5_FOUND. 1190 - Templates/geant4-config.in: add "hdf5" feature 1191 1192 27th October 2017 - Gunter Folger (cmake-V10-03-42) 1193 - Switch to new dataset G4EMLOW 7.3 1194 1195 25th October 2017 - Ben Morgan (cmake-V10-03-41) 1196 - Modules/Geant4LibraryBuildOptions.cmake: 1197 Add new advanced build option GEANT4_BUILD_MUONIC_ATOMS_IN_USE, 1198 requested by Krzysztof Genser and Makoto Asai. OFF by default, 1199 when ON, adds G4MUTOMS_INUSE to compile definitions. As the 1200 code protected by the symbol only appears in .cc files, do 1201 not export this definition to clinet side build settings. 1202 - Templates/geant4-config.in, Templates/Geant4Config.cmake.in 1203 Record use of GEANT4_BUILD_MUONIC_ATOMS_IN_USE as a feature 1204 and component respectively. Neither affects the build settings, 1205 it's simply a report on whether the option was used or not. 1206 1207 19th October 2017 - Gunter Folger (cmake-V10-03-40) 1208 - Switch to new dataset G4EMLOW 7.2 1209 1210 19th October 2017 - Gunter Folger (cmake-V10-03-39) 1211 - Switch to new dataset G4ABLA 3.1 1212 1213 16th October 2017 - Gabriele Cosmo (cmake-V10-03-38) 1214 - Modules/Geant4OptionalComponents.cmake: add HYPE flag to enable 1215 wrapping of G4Hype in GEANT4_USOLIDS_SHAPES. 1216 Coworks with tag geom-specific-V10-03-21. 1217 1218 26th September 2017 - Gunter Folger (cmake-V10-03-37) 1219 - Switch to new datasets: 1220 - G4ENSDFSTATE2.2 1221 - G4PhotonEvaporation5.1 1222 - G4RadioactiveDecay5.2 1223 1224 13th September 2017 - Ben Morgan (cmake-V10-03-36) 1225 - Modules/Geant4OptionalComponents.cmake: Require system expat version 1226 >= 2.0.1. Identified in Bugzilla #2003. g4tools uses expat functions 1227 only present in 2.0.1 or higher. Though Geant4 supported systems all 1228 meet this requirement, check expat version and error out if version 1229 is < 2.0.1. On error, report information on cause and how to rectify. 1230 1231 11th September 2017 - Ben Morgan (cmake-V10-03-35) 1232 - Modules/G4CMakeMain.cmake: Remove GEANT4_BUILD_EXAMPLES option. 1233 Add GEANT4_INSTALL_EXAMPLES option. Advanced and ON by default, 1234 thia is for use by developers who wish to save time/space by not 1235 installing all the example code. 1236 1237 7th September 2017 - Ben Morgan (cmake-V10-03-34) 1238 - Modules/G4DeveloperAPI_OLD.cmake: Set INSTALL_RPATH on macOS 1239 Requested by Fons Rademackers. Loading Geant4 dylibs in Python 1240 can lead to resolution errors as they cannot locate each other. 1241 Append "@loader_path" to the INSTALL_RPATH for all Geant4 libraries. 1242 This will expand to the directory of the library being loaded, which 1243 will contain the other Geant4 libraries. Append is used to that 1244 users may still supply CMAKE_INSTALL_RPATH at configure time, 1245 and this will be preferred. 1246 1247 5th September 2017 - Gunter Folger (cmake-V10-03-33) 1248 - Modules/Geant4DatasetDefinitions.cmake: switch to G4EMLOW7.1 1249 1250 23rd August 2017 - Gunter Folger (cmake-V10-03-32) 1251 - Modules/Geant4DatasetDefinitions.cmake: switch to G4EMLOW7.0 1252 1253 3rd August 2017 - Ben Morgan (cmake-V10-03-31) 1254 - Create a G4HDF INTERFACE target for uniform access to HDF5 headers 1255 and libraries at build, test and install time. It is not completely 1256 relocatable as the target hardcodes header/library paths. However, 1257 it creates a single point of access so that adding relocation 1258 will require minimal changes, limited to the cmake category. 1259 1260 27th July 2017 - Ivana Hrivnacova (cmake-V10-03-30) 1261 - Removed FindHdf5.cmake as the find module is provided with CMake 1262 1263 27th July 2017 - Ivana Hrivnacova (cmake-V10-03-29) 1264 - Modules/Geant4OptionalComponents.cmake : Add new GEANT4_USE_HDF5 1265 option, OFF by defaults, to allow user to enable Hdf5 support 1266 in analysis library. 1267 1268 18th July 2017 - Andrea Dotti (cmake-V10-03-27,-28) 1269 - Modules/FindStatTest.cmake fix logic to set 1270 STATTEST_FOUND==FALSE if GEANT4_ENABLE_TESTING==FALSE 1271 1272 17th July 2017 - Gabriele Cosmo (cmake-V10-03-26) 1273 - Modules/G4ConfigureGNUMakeHelpers, Modules/Geant4InterfaceOptions.cmake: 1274 corrected Qt setup for GNUmake builds, avoid setting QTLIBS and GLQTLIBS 1275 as already handled by the GNUmake system for Qt4 and Qt5. 1276 1277 11th July 2017 - Gabriele Cosmo (cmake-V10-03-25) 1278 - Modules/Geant4OptionalComponents.cmake: add PARA flag to enable 1279 wrapping of G4Para in GEANT4_USOLIDS_SHAPES. 1280 Coworks with tag geom-csg-V10-03-29. 1281 1282 10th July 2017 - Gabriele Cosmo (cmake-V10-03-24) 1283 - Modules/Geant4OptionalComponents.cmake: add CTUBS flag to enable 1284 wrapping of G4CutTubs in GEANT4_USOLIDS_SHAPES. 1285 Coworks with tag geom-csg-V10-03-28. 1286 1287 12th June 2017 - Ben Morgan (cmake-V10-03-23) 1288 - Remove support for modulefile generation, as not used and 1289 generated files not compatible with relocatability. It's 1290 expected that software stack managers will generate a 1291 modulefile file according to their requirements. 1292 1293 9th June 2017 - Gabriele Cosmo (cmake-V10-03-22) 1294 - Corrected exporting of external packages paths from VecGeom. 1295 1296 8th June 2017 - Gunter Folger (cmake-V10-03-21) 1297 - Modules/Geant4DatasetDefinitions.cmake: switch to G4EMLOW6.54 1298 1299 31st May 2017 - Gunter Folger (cmake-V10-03-20) 1300 - Modules/Geant4DatasetDefinitions.cmake: switch to RealSurface 2.1 1301 1302 30th May 2017 - Gabriele Cosmo (cmake-V10-03-19) 1303 - Modules/Geant4OptionalComponents.cmake: added VECGEOM_EXTERNAL_INCLUDES 1304 to include directories for USolids/VecGeom enabled build, in order to 1305 allow for detection of external packages paths from VecGeom (e.g. Vc if 1306 Vetor backend is chosen at installation of VecGeom). 1307 1308 24th May 2017 - Gabriele Cosmo (cmake-V10-03-18) 1309 - Modules/Geant4OptionalComponents.cmake: appended VECGEOM_DEFINITIONS 1310 to GEANT4_USOLIDS_COMPILE_DEFINITIONS. Preparing for introducing direct 1311 dependency on VecGeom in G4U* wrappers, and deprecate USolids. 1312 1313 16th May 2017 - Ben Morgan (cmake-V10-03-17) 1314 - BUGFIX #1960: Do not set or modify DYLD_LIBRARY_PATH in basic and 1315 geant4make setup scripts on macOS. 1316 1317 2nd May 2017 - Gunter Folger (cmake-V10-03-16) 1318 - Update G4EMLOW data to 6.53 1319 1320 4th April 2017 - Gunter Folger (cmake-V10-03-15) 1321 - Update PhotonEvaporation data to 5.0 1322 1323 27th March 2017 - Gunter Folger (cmake-V10-03-14) 1324 - fix previous tag: the download file for RealSurface re-named 1325 from RealSurface to G4RealSurface, making this name is consistent 1326 with other datafiles. 1327 1328 23rd March 2017 - Gunter Folger (cmake-V10-03-13) 1329 - Update RealSurface data to 2.0 1330 1331 9th March 2017 - Gunter Folger (cmake-V10-03-12) 1332 - Modules/G4CMakeMain.cmake: add directory verification to testing 1333 1334 23rd February 2017 - Ben Morgan (cmake-V10-03-11) 1335 - Bugfix-1934 1336 - Templates/Geant4Config.cmake.in: Re-include CLHEP 1337 include directories when using external CLHEP. Needed 1338 to allow examples using ROOT to generate dictionaries 1339 as ROOT's CMake functions do not support usage requirements 1340 or generator expressions yet. 1341 1342 21st February 2017 - Gunter Folger (cmake-V10-03-10) 1343 base on tag cmake-V10-03-06, and only update History 1344 and Modules/Geant4DatasetDefinitions.cmake to trunk. 1345 Changes to above two files committed first in trunk. 1346 Then create branch cmake-V10-03-06_branch for tagging. 1347 - switch to PhotonEvaporation 4.3.2 1348 1349 1350 21st February 2017 - Gunter Folger (cmake-V10-03-09) 1351 rejected: as based on previous rejected tags 1352 - switch to PhotonEvaporation 4.3.2 1353 1354 10th February 2017 - Ben Morgan (cmake-V10-03-08) 1355 - Bugfix: Continuous identified issue on Windows and internal CLHEP. 1356 Way that DLLs are built means that target_include_directories are 1357 not propagated to intermediate archive library, causing builds 1358 to fail due to missing CLHEP headers. 1359 - Geant4OptionalComponents.cmake : Set CLHEP_INCLUDE_DIRS to internal 1360 path for CLHEP headers with using builtin CLHEP. 1361 - TODO: look at resolution via better DLL build process. 1362 1363 9th February 2017 - Ben Morgan (cmake-V10-03-07) 1364 - BUGFIX-1934 1365 - Incorporates all changes from branch cmake-bugfix-1934 1366 1367 8th February 2017 - Ben Morgan (branch cmake-bugfix-1934) 1368 - BUGFIX 1934 1369 - Note that this patch should not be applied to Geant4 < 10.3 without additional 1370 changes to support CLHEP's imported targets in versions =< 2.3.3.0. 1371 - See the comments in Geant4OptionalComponents.cmake for details. 1372 - Remove obsolete FindCLHEP.cmake module 1373 - Geant4OptionalComponents.cmake: Update Internal/System CLHEP selection 1374 - Prepend CLHEP_ROOT_DIR to CMAKE_PREFIX_PATH so that find_package's 1375 Config mode finds CLHEP as FindCLHEP did. Retain auto-activation 1376 of GEANT4_USE_SYSTEM_CLHEP if CLHEP_ROOT_DIR supplied. 1377 - Simplify System/Granular CLHEP selection using dependent options 1378 - Simplify location/setup of system CLHEP as CLHEP >= 2.3.3.0 provides 1379 CLHEP_LIBRARIES set with appropriate single/granular targets with 1380 full usage requirements. 1381 - Remove setting of GEANT4_USE_BUILTIN_CLHEP variable. 1382 - G4ConfigureCMakeHelpers.cmake: Remove install of deleted FindCLHEP module 1383 - Geant4Config.cmake.in: Update re-find of CLHEP to use find_package Config mode 1384 - Set CLHEP_DIR rather than CLHEP_ROOT_DIR. 1385 - Add new variable Geant4_system_clhep_FOUND set from expansion of 1386 buildtime GEANT4_USE_SYSTEM_CLHEP option. 1387 - Set value of Geant4_builtin_clhep_FOUND as boolean inverse of Geant4_system_clhep_FOUND 1388 1389 7th February 2017 - Ben Morgan (cmake-V10-03-06) 1390 - Restructure developer API scripts for clarity ready for new system 1391 - Merge Geant4MacroDefineModule.cmake and Geant4MacroLibraryTargets.cmake 1392 into single G4DeveloperAPI_OLD.cmake module 1393 - Create new G4DeveloperAPI.cmake module. This will be the eventual home 1394 for the new developer API, but for now it simply forwards to 1395 G4DeveloperAPI_OLD.cmake. 1396 - Leave Geant4MacroDefineModule and Geant4MacroLibraryTargets modules 1397 as stubs which simply forward to G4DeveloperAPI. At present these modules 1398 are included in several places, so maintaining their presence is required. 1399 - Include G4DeveloperAPI in top levl G4CMakeMain module. 1400 1401 3rd February 2017 - Gunter Folger (cmake-V10-03-05) 1402 - switch to 1403 - PhotonEvaporation 4.3.1 1404 - RadioactiveDecay 5.1.1 1405 1406 27th January 2017 - Ben Morgan (cmake-V10-03-04) 1407 - Refactor core Configure/Build and Client Script modules for 1408 clarity and cohesion. 1409 - Module renames and changes: 1410 - Modules/G4CMakeSettings.cmake (NEW) 1411 - Handles all core CMake behaviour and extensions 1412 - Modules/Geant4MacroUtilities.cmake -> Modules/G4CMakeUtilities.cmake 1413 - Rename to better reflect purpose 1414 - Modules/Geant4LibraryBuildOptions.cmake -> Modules/G4BuildSettings.cmake 1415 - Handles all core build/link options not dependent on externals 1416 - All functionality in Modules/Geant4BuildModes.cmake moved to this module 1417 - Modules/Geant4ToolchainBackwardCompatibility.cmake -> Modules/G4ConfigureGNUMakeHelpers.cmake 1418 - Rename to clearly identify task 1419 - Move all GMake related setup to this module 1420 - Modules/Geant4ConfigureConfigScript.cmake -> Modules/G4ConfigurePkgConfigHelpers.cmake 1421 - Rename to clearly identify task 1422 - Modules/Geant4BuildProjectConfig.cmake -> Modules/G4ConfigureCMakeHelpers.cmake 1423 - Rename to clearly identify task 1424 - Modules/Geant4CTest.cmake 1425 - All test-related options moved into file. 1426 1427 16th January 2017 - Ben Morgan (cmake-V10-03-03) 1428 - Remove/refactor obsolete CMake modules 1429 - Modules/CMakeMacroParseArguments.cmake: Remove as interface 1430 provided by CMake builtin CMakeParseArguments. Use builtin 1431 interface in modules: 1432 - FindROOT.cmake 1433 - Geant4MacroDefineModule.cmake 1434 - Geant4MacroLibraryTargets.cmake 1435 - Geant4MacroUtilities.cmake 1436 - UseGeant4_internal.cmake 1437 - Modules/Geant4InstallDirs.cmake: Remove as interface 1438 provided by CMake builtin GNUInstallDirs, included in 1439 G4CMakeMain.cmake 1440 - Modules/MacroEnsureVersion.cmake: Remove as unused, version 1441 comparison now supplied in CMake if() 1442 - Modules/ResolveCompilerPaths.cmake: Remove as unused. 1443 - Modules/Geant4BuildProjectConfig.cmake: Remove install 1444 of obsolete modules. 1445 1446 5th January 2017 - Gunter Folger (cmake-V10-03-02) 1447 - switch to EMLOW6.52 1448 1449 19th December 2016 - Gunter Folger (cmake-V10-03-01) 1450 - switch to EMLOW6.51 1451 1452 12th December 2016 - Ben Morgan (cmake-V10-03-00) 1453 - Modules/G4CMakeMain.cmake : New Module 1454 Refactor core implementation from top level CMake script into a module 1455 under the CMake category. This assists with tagging and upcoming 1456 modularization work, as changes will be tagged in category and 1457 can be made without requiring changes and co-working tag for 1458 top level script. 1459 1460 24th November 2016 - Gunter Folger (cmake-V10-02-37) 1461 - Switch to PhotonEvaporation 4.3 1462 1463 22nd November 2016 - Ben Morgan (cmake-V10-02-36) 1464 - Modules/Geant4MakeRules_cxx.cmake : Change optimization level for MSVC in 1465 Release mode to -Ox for consistentcy with GNUmake system. 1466 1467 18th November 2016 - Ben Morgan (cmake-V10-02-35) 1468 - Modules/Geant4BuildModes.cmake : Change default build type to Release 1469 when using single mode tools like Make/Ninja. 1470 - Modules/Geant4InstallData.cmake : Always convert exported data paths to 1471 native CMake paths. Prevents parse errors on Windows, where native 1472 paths are exported (reported by Brian Smith) 1473 1474 17th November 2016 - Ben Morgan (cmake-V10-02-34) 1475 - Fix bug in Qt4/5 handling on Windows 1476 - Templates/Geant4Config.cmake.in : Move re-find of Qt4 inside overall 1477 Qt4/5 setup section. 1478 - Modules/Geant4BuildProjectConfig.cmake : Remove setting of GEANT4_THIRD_PARTY_IMPORT_SETUP 1479 variable, and replace with dedicated GEANT4_QT4_IMPORT_SETUP variable for Qt 1480 - Export Qt library path to dynamic loader path in Geant4GNUmake environment setup 1481 - Modules/Geant4ToolchainBackwardCompatibility.cmake : 1482 Prepend Qt library path to dynamic loader path, noting obselescense on 1483 macOS. 1484 - Templates/geant4make-skeleton.in : Add expansion variable for Qt dynamic 1485 loader setup. 1486 1487 15th November 2016 - Ben Morgan (cmake-V10-02-33) 1488 - Export USolids/VecGeom compile defs to Geant4GNUmake environment setup scripts 1489 - Modules/Geant4ToolchainBackwardCompatibility.cmake : 1490 Configure export variables based on choice of USolids full/partial 1491 replacement 1492 - Templates/geant4make-skeleton.in : Add entries for required env vars 1493 1494 9th November 2016 - Ivana Hrivnacova (cmake-V10-02-32) 1495 - Added FindDCMTK.cmake needed for extended/medical/DICOM example 1496 1497 8th November 2016 - Gunter Folger (cmake-V10-02-31) 1498 - switch to RadioactiveDecay5.1, PhotonEvaporation4.2, G4ENSDFSTATE2.1 1499 1500 3rd November 2016 - Gunter Folger (cmake-V10-02-30) 1501 - switch to PhotonEvaporation 4.1 1502 1503 31st October 2016 - Ben Morgan (cmake-V10-02-29) 1504 - Modules/Geant4MakeRules_cxx.cmake : fix bug - use correct 1505 CMAKE_CXX_FLAGS_INIT variable to add -pipe argument to. 1506 1507 31st October 2016 - Ben Morgan (cmake-V10-02-28) 1508 - Bugfix #1877 1509 - Templates/geant4-env-skeleton.in : Provide placeholder 1510 variable for adding setting of XercesC libpath 1511 - Modules/Geant4ToolchainBackwardCompatibility.cmake 1512 Extract and export XercesC library directory to geant4.(c)sh 1513 scripts. Add new _g4tc_append_path function to allow appending 1514 of entries to a path-like variable. This ensures paths to third 1515 party libraries appear after the core Geant4 library path which 1516 should prevent clashes. 1517 1518 27th October 2016 - Gunter Folger (cmake-V10-02-27) 1519 - switch to G4EMLOW 6.50 1520 1521 6th October 2016 - Ben Morgan (cmake-V10-02-26) 1522 - Modules/Geant4MakeRules_cxx.cmake : Move all -f optimization options 1523 to Release mode only. Add -fno-math-errno and -ftree-vectorize. 1524 1525 1526 6th October 2016 - Ben Morgan (cmake-V10-02-25) 1527 - Modules/Geant4MakeRules_cxx.cmake : Add -fno-trapping-math to default 1528 flags of GCC/Clang compielrs to assist in auto-vectorization (recommended 1529 by CMS/GCC). Bump optimization level in Release mode to O3 on all supported 1530 compilers. 1531 1532 3rd October 2016- Gunter Folger (cmake-V10-02-24) 1533 - switch to use G4ENSDFSTATE 2.0 1534 (requires tag particles-V10-02-28) 1535 1536 29th September 2016 - Robert Hatcher (cmake-V10-02-23) 1537 - Templates/Geant4Config.cmake.in : No longer use --whole-archive for 1538 G4physicslists on static builds; this was never possible for _WIN32 and recent 1539 physics list factory work makes this untenable on some build platforms. 1540 1541 28th September 2016 - Andrea Dotti (cmake-V10-02-22) 1542 - add option for TEXT output file in FindStatTest.cmake script 1543 1544 19th September 2016 - Gunter Folger (cmake-V10-02-21) 1545 - switch to PhotonEvaporation 4.0 1546 1547 7th September 2016 - Gunter Folger (cmake-V10-02-20) 1548 - switch to G4RadioactiveDecay.5.0 1549 1550 22nd August 2016 - Ben Morgan (cmake-V10-02-19) 1551 - Templates/UseGeant4.cmake : Force core and per-mode flags to those used to 1552 build Geant4. When Geant4 is built with a single mode generator, default 1553 CMAKE_BUILD_TYPE for the client to that used to build this install. This 1554 guarantees matching of librayr/application optimization for most use cases. 1555 NB: No default mode can be provided if Geant4 itself was built/installed using 1556 multimode tool like Xcode/VS. This is because multiple modes may be installed 1557 at once so a sensible default cannot be set (to be looked at further). 1558 - Templates/Geant4Config.cmake.in : Add new Geant4_BUILD_TYPE variable to hold 1559 build type of install when Geant4 is installed using a single mode tool. 1560 - Modules/Geant4BuildProjectConfig.cmake : Set Geant4_BUILD_TYPE to CMAKE_BUILD_TYPE 1561 when building with a single mode tool. 1562 1563 15th August 2016 - Gunter Folger (cmake-V10-02-18) 1564 - switch to G4EMLOW.6.49 1565 1566 17th June 2016 - Gabriele Cosmo (cmake-V10-02-17) 1567 - Modules/Geant4OptionalComponents.cmake: set CLHEP-2.3.3.0 as the required 1568 version for external CLHEP library. 1569 1570 9th June 2016 - Gunter Folger (cmake-V10-02-16) 1571 - revert change in Templates/Geant4Config.cmake.in in tag cmake-V10-02-14, 1572 revision 97140; the coworking tags have been rejected. 1573 1574 3rd June 2016 - Gunter Folger (cmake-V10-02-15) 1575 - switch to RadioActiveDecay 4.4.1 and G4ENSDFSTATE 1.3.1, both provided by 1576 Laurent. 1577 1578 25th May 2016 - Robert Hatcher (cmake-V10-02-14) 1579 - Templates/Geant4Config.cmake.in : No longer use --whole-archive for 1580 G4physicslists on static builds; this was never possible for _WIN32 and recent 1581 physics list factory work makes this untenable. 1582 1583 25th May 2016 - Ben Morgan (cmake-V10-02-13) 1584 - Modules/Geant4InterfaceOptions.cmake : Always add Xmu to X11_LIBRARIES when 1585 using Motif/OpenInventor to avoid missing symbol errors on OS X. 1586 1587 24th May 2016 - Ben Morgan (cmake-V10-02-12) 1588 - Modules/Geant4OptionalComponents.cmake : Fix regex to avoid matching to "CONS" 1589 shape is check for all shapes. 1590 1591 24th May 2016 - Ben Morgan (cmake-V10-02-11) 1592 - Modules/Geant4OptionalComponents.cmake : Initial implementation of a list 1593 based interface to GEANT4_USE_USOLIDS. Rather than booleans, unify USolids 1594 replacement into single string/list variable with following behaviour: 1595 1) Setting to "all", any CMake boolean true value, or a list containing either 1596 results in complete usolids replacement 1597 2) A list, i.e. "a;b;c", or shapes to replace with Usolids equivalents may be supplied. 1598 Validate arguments to prevent unknown shapes being set, and otherwise retain previous 1599 behaviour 1600 List allowed values in option docstring. 1601 - Modules/Geant4BuildProjectConfig.cmake : Ensure setting of Usolids use marker to a 1602 proper boolean value. 1603 - Templates/Geant4Config.cmake.in : Use new full boolean variable as expansion variable 1604 to indicate usolids support. 1605 1606 23rd May 2016 - Ben Morgan 1607 - Modules/Geant4OptionalComponents.cmake : Allow developers to select 1608 subsets of solids to replace with USolids equivalents. Request from developers 1609 and CMS to assist in performance evaluation. NOT INTENDED FOR USERS! 1610 If GEANT4_USE_SOLIDS is set, use existing configuration/setup. If it is OFF, 1611 allow setting of additional CMake options, one per shape, to enable replacement 1612 of that shape with USolids equivalent. When any of these variables are set, set 1613 additional internal variable GEANT4_USE_PARTIAL_USOLIDS. Convert variables to 1614 internal preprocessor flags for shape/usolid activation. 1615 - Modules/Geant4BuildProjectConfig.cmake : Export needed USOLIDS/shape activation 1616 preprocessor flags for selected configuration. 1617 - Modules/Geant4ConfigureConfigScript.cmake : Export needed USOLIDS/shape activation 1618 preprocessor flags for selected configuration. 1619 1620 28th April 2016 - Ben Morgan (cmake-V10-02-10) 1621 - Templates/Geant4Config.cmake.in: BUGFIX #1855. When using an external 1622 CLHEP, the provided FindCLHEP module is not used. Wrap call to 1623 find_package(CLHEP) with push/pop of CMAKE_MODULE_PATH to ensure 1624 Geant4's builtin module is used and not interfere with any user 1625 settings of CMAKE_MODULE_PATH. 1626 1627 19th April 2016 - Gunter Folger (cmake-V10-02-09) 1628 - correct Modules/genwindef/LibSymbolInfo.cpp for use with VC 64 bit compilation 1629 1630 29th March 2016 - Gunter Folger (cmake-V10-02-08) 1631 - switch to RadioActiveDecay 4.4; dataset identical to 4.3.1, packaging 1632 corrected to be a compressed tar file, 4.3.1 is plain tar 1633 1634 16th March 2016 - Ben Morgan (cmake-V10-02-07) 1635 - Modules/Geant4InterfaceOptions.cmake : Fix Bug #1828 1636 Apply patch from Vladimir Belov to add libXt to X11_LIBRARIES on all 1637 Unix platforms when using Motif/Inventor. 1638 1639 23rd February 2016 - Gunter Folger (cmake-V10-02-06) 1640 - Correct md5sum for RadioactiveDecay.4.3.1 after removal of MAC Safari files. 1641 1642 23rd February 2016 - Gunter Folger (cmake-V10-02-05) 1643 - Modules/Geant4DatasetDefinitions.cmake: 1644 - revert back to G4ENSDFSTATE.1.3 1645 - use patched RadioactiveDecay data 4.3.1 1646 1647 23rd February 2016 - Gunter Folger (cmake-V10-02-04) 1648 - Modules/Geant4DatasetDefinitions.cmake: Use data set G4ENSDFSTATE.1.2.1 1649 Note 1.2.1 is identical to 1.3, it is a patch on 1.2 1650 1651 5th February 2016 - Gunter Folger (cmake-V10-02-03) 1652 - Modules/Geant4DatasetDefinitions.cmake: Use new data set G4ENSDFSTATE.1.3 1653 1654 22nd January 2016 - Ben Morgan (cmake-V10-02-02) 1655 - Modules/FindCLHEP.cmake : Restore from last version. Update regexing 1656 of defs.h file for CLHEP 2.3.1.1 changes, retaining compatibility with 1657 earlier versions. Create imported targets CLHEP and CLHEP::<COMPONENT> 1658 to ease transition to full Config mode support once we can support it. 1659 - Modules/Geant4OptionalComponents.cmake : Rollback to using package-mode 1660 to locate CLHEP. Modify CLHEP_LIBRARIES after finding to fill this with 1661 the imported targets instead of absolute paths. 1662 - Modules/Geant4BuildProjectConfig.cmake : Add FindCLHEP.cmake to installed 1663 modules so that Geant4Config.cmake can refind CLHEP and hence the imported 1664 targets. 1665 - Templates/Geant4Config.cmake.in : Refind CLHEP using package-mode, 1666 using hardcoded CLHEP_ROOT_DIR if set as a hint. 1667 1668 15th December 2015 - Ben Morgan (cmake-V10-02-01) 1669 - Templates/Geant4Config.cmake.in : Use PATHS option in find_package 1670 for CLHEP, setting it to discovered CLHEP_DIR. Required at present 1671 to provide a hint to builds of tests, which do not have 1672 CMAKE_PREFIX_PATH set appropriately. 1673 1674 15th December 2015 - Ben Morgan (cmake-V10-02-00) 1675 - [BUGFIX #1805] : Preliminary fix for CLHEP 2.3.1.1 config error 1676 - Modules/FindCLHEP.cmake : REMOVED as obsolete 1677 - Modules/Geant4OptionalComponents.cmake : Use NO_MODULE in 1678 find_package(CLHEP) so that CLHEPConfig.cmake is preferred. 1679 Retain use of CLHEP_ROOT_DIR temporarily for transition in 1680 testing system 1681 - Modules/Geant4BuildProjectConfig.cmake : Remove setting of explicit CLHEP 1682 directory, defering this to find_package call in Geant4Config.cmake 1683 - Templates/Geant4Config.cmake.in : Use namespaced name for Geant4 cmake 1684 directory to avoid upstream clashes. 1685 Add explicit call to find_package(CLHEP) so that imported targets are refound. 1686 Move inclusion of targets file to after setup steps to ensure all external 1687 targets exist before this is included. This is also to help further work 1688 on use of imported targets. 1689 - Modules/Geant4ConfigureConfigScript.cmake : Extract LOCATION property from 1690 CLHEP targets to provide setting of lib paths in geant4-config 1691 - Templates/geant4-config.cmake.in : Remove explicit calls to clhep-config 1692 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Extract LOCATION 1693 properties from CLHEP imported targets. 1694 1695 1696 25th November 2015 - Ben Morgan (cmake-V10-01-41) 1697 - Modules/Geant4InterfaceOptions.cmake : Move force Qt4 option 1698 alongside use Qt option so that it can be set in Curses/GUI before 1699 first-pass search for Qt. 1700 - Modules/Geant4BuildModes.cmake : Change default build mode for 1701 single config generators to RelWithDebInfo to match testing 1702 system and UNIX conventions. 1703 - Modules/Geant4LibraryBuildOptions.cmake : Add new MSVC only option 1704 GEANT4_BUILD_MSVC_MP, defaulting to OFF. When ON, it prepends /MP 1705 to CMAKE_CXX_FLAGS to enable file level parallel compilation when 1706 using MSBuild. 1707 1708 23rd November 2015 - Ben Morgan (cmake-V10-01-40) 1709 - Modules/FindROOT.cmake : Apply patch from Ivana Hrivnacova to provide 1710 compatibility with ROOT6 and allow usage of ROOTConfig.cmake, if 1711 available. 1712 - Modules/Geant4MakeRules_cxx.cmake : Correct checking of Intel compiler 1713 to use better CMAKE_CXX_COMPILER_ID variable. 1714 - Modules/Geant4InterfaceOptions.cmake : Allow user to force search for 1715 Qt4 only when GEANT4_USE_QT is selected. Requested on User Forum by 1716 Jan Pipek (http://hypernews.slac.stanford.edu/HyperNews/geant4/get/installconfig/1766.html) 1717 1718 18th November 2015 - Ben Morgan (cmake-V10-01-39) 1719 - Modules/IntelCompileFeatures.cmake : Fix logic error in conditionals 1720 that resulted in only one branch being followed and a non-complete 1721 set of compile features being set. 1722 1723 17th November 2015 - Ben Morgan (cmake-V10-01-38) 1724 - Modules/Geant4LibraryBuildOptions.cmake : To provide backward 1725 compatibility, allow GEANT4_BUILD_CXXSTD to be supplied as either 1726 an epoch like '11' or as 'c++<epoch>'. If the latter form is supplied 1727 postprocess to remove the 'c++' so that standards can be dealt with in 1728 a uniform numeric manner. 1729 1730 17th November 2015 - Ben Morgan (cmake-V10-01-37) 1731 - Use CMake Compile Features to setup C++ Standard 1732 - Modules/Geant4MakeRules_cxx.cmake : Remove setup of standard selection 1733 via compiler version checking. 1734 - Modules/Geant4LibraryBuildOptions.cmake : Create list of compile 1735 features required by Geant4, per C++ Taskforce report. For 10.2, do 1736 not include 1737 - cxx_deleted_functions 1738 - cxx_generalized_initializers 1739 - cxx_constexpr 1740 - cxx_inheriting_constructors 1741 to provide backward compatibility with Visual Studio 2013 (MSVC 18). 1742 Maintain GEANT4_BUILD_CXXSTD option to allow user to choose between 1743 C++11 and C++14 standards. When newer standard is chosen, require that 1744 compiler supports at least one feature from that standard, and add all 1745 supported features of that standard to the required list. 1746 - Modules/IntelCompileFeatures.cmake : CMake does not currently provide 1747 builtin compile features for ICC. Use info provide by Intel to support 1748 compile features for this compiler. 1749 - Modules/Geant4MacroLibraryTargets.cmake : Use target_compile_features 1750 to set the required features on all Geant4 targets. 1751 - Modules/Geant4BuildProjectConfig.cmake, 1752 Templates/Geant4Config.cmake.in, Templates/geant4-config.in: Update 1753 setting of flags and standard used to obtain information from 1754 compile features. 1755 1756 10th November 2015 - Gabriele Cosmo (cmake-V10-01-36) 1757 - Put CLHEP version 2.3.1.0 as the minimum required in script 1758 Modules/Geant4OptionalComponents.cmake. 1759 1760 9th November 2015 - Gunter Folger (cmake-V10-01-35) 1761 - Modules/Geant4DatasetDefinitions.cmake: Use new data sets 1762 PhotonEvaporation3.2 and RadioactiveDecay4.3. 1763 1764 2nd November 2015 - Ben Morgan (cmake-V10-01-34) 1765 - Modules/Geant4CTest.cmake : Add TOOLS_FONT_PATH to test environment 1766 when Freetype support enabled. 1767 1768 28th October 2015 - Gunter Folger (cmake-V10-01-33) 1769 - Modules/Geant4DatasetDefinitions.cmake: Use new data set G4EMLOW6.48 1770 1771 23th October 2015 - Gunter Folger (cmake-V10-01-32) 1772 - Modules/Geant4DatasetDefinitions.cmake: Use new data set G4ENSDFSTATE.1.2 1773 1774 22nd October 2015 - Ben Morgan (cmake-V10-01-31) 1775 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Add export 1776 of TOOLS_FONT_PATH to environment when Freetype support is enabled, 1777 pointing to the fonts/ subdirectory of Geant4's share directory. 1778 For the buildtree, point it to PROJECT_SOURCE_DIR/source/analysis/fonts 1779 Treat TOOLS_FONT_PATH as a UNIX style PATH variable with normal 1780 separators. 1781 - Templates/geant4-env-skeleton.in, Templates/geant4make-skeleton.in : 1782 Add export variables for configuring TOOLS_FONT_PATH variable. 1783 1784 21st October 2015 - Ben Morgan (cmake-V10-01-30) 1785 - Modules/Geant4ConfigureConfigScript.cmake : Export value of 1786 GEANT4_USE_FREETYPE to geant4-config to allow this to report support 1787 status of freetype in G4analysis 1788 - Templates/geant4-config.in : Add freetype feature to report status of 1789 freetype support in G4analysis 1790 - Templates/Geant4Config.cmake.in : Add freetype component to require 1791 freetype support in G4analysis. 1792 1793 19th October 2015 - Ben Morgan 1794 - Modules/Geant4OptionalComponents.cmake : Add new GEANT4_USE_FREETYPE 1795 option, OFF by defaults, to allow user to enable Freetype support 1796 in analysis library. 1797 1798 12th October 2015 - Gunter Folger (cmake-V10-01-29) 1799 - Modules/Geant4DatasetDefinitions.cmake: Use new data set G4EMLOW.6.47 1800 1801 8th October 2015 - Ben Morgan (cmake-V10-01-28) 1802 - Modules/Geant4OptionalComponents.cmake: Only allow use of system 1803 USolids. Remove old "USE_SYSTEM_USOLIDS" option, and always call 1804 find_package for USolids. 1805 - Modules/GeantBuildProjectConfig.cmake, Templates/Geant4Config.cmake.in: 1806 Remove old system usolids settings as USolids is always system now 1807 - Modules/Geant4ConfigureConfigScript.cmake, Templates/geant4-config.in: 1808 Remove old system Usolids settings as Usolids is alsways system now. 1809 Ensure include paths exported. 1810 1811 6th October 2015 - Ben Morgan (cmake-V10-01-27) 1812 - Modules/Geant4MakeRules_cxx.cmake: Update AppleClang detection to 1813 for Xcode 7 and match to CMake 3's AppleClang rules. Provide 1814 CXXSTD_IS_AVAILABLE for MSVC 19 so that appropriate standard selection 1815 preprocessor symbols are defined. 1816 1817 1st October 2015 - Gunter Folger (cmake-V10-01-26) 1818 - Modules/Geant4DatasetDefinitions.cmake: Use new data set G4EMLOW.6.46 1819 1820 18th September 2015 - Ben Morgan (cmake-V10-01-25) 1821 - Modules/Geant4LibraryBuildOptions.cmake, Modules/Geant4MacroLibraryTargets, Modules/GeantBuildProjectConfig.cmake: Allow both static and shared libs 1822 to be built on Windows. Remove G4LIB_BUILD_DLL preprocessor def from 1823 global settings, only adding it to the public compile defs of the 1824 resulting DLL. To create DLL, always compile dedicated archive library 1825 separate from installed version. Compile the sources of this dedicated 1826 archive library with G4LIB_BUILD_DLL set so that DLL relevant symbols 1827 are used. 1828 1829 16th September 2015 - Gunter Folger (cmake-V10-01-24) 1830 - Modules/Geant4DatasetDefinitions.cmake: Use new data set G4ENSDFSTATE.1.1 1831 1832 14th September 2015 - Ben Morgan (cmake-V10-01-23) 1833 - Modules/Geant4CTest.cmake, Modules/Geant4InstallData.cmake, Modules/Geant4ToolchainBackwardCompatibility.cmake: Export and use G4ENSDFDATA dataset 1834 and environment variable. It will become the default to use this dataset 1835 so requires export. 1836 1837 1st September 2015 - Gunter Folger (cmake-V10-01-22) 1838 - Modules/Geant4DatasetDefinitions.cmake: Use new data set G4EMLOW.6.45 1839 1840 31st August 2015 - Gabriele Cosmo (cmake-V10-01-21) 1841 - Modules/Geant4OptionalComponents.cmake, GeantBuilsProjectConfig.cmake and 1842 Templates/geant4-config.in: added specific compilation flag 1843 "-DG4GEOM_USE_SYS_USOLIDS" to distinguish build with sys-installed 1844 USolids/VecGeom module (temporary, until internal USolids module will be 1845 removed). 1846 1847 12th August 2015 - Gabriele Cosmo (cmake-V10-01-20) 1848 - Modules/Geant4MakeRules_cxx.cmake: removed -gcc-sys in CMAKE_CXX_FLAGS 1849 for the Intel compiler, as no longer necessary. 1850 - Modules/Geant4LibraryBuildOptions.cmake: removed try-compile block for 1851 atomics on Intel compiler, as no longer necessary. 1852 1853 7th August 2015 - Gabriele Cosmo (cmake-V10-01-19) 1854 - Modules/Geant4MakeRules_cxx.cmake: replaced -no-gcc with -gcc-sys 1855 in CMAKE_CXX_FLAGS when using Intel compiler, to allow for GNU macros 1856 to be defined when compiling system headers. 1857 1858 31st July 2015 - Ben Morgan (cmake-V10-01-18) 1859 - Modules/Geant4MacroLibraryTargets.cmake : Updates for migration to 1860 CMake >= 2.8.12. Use generator expressions in setting of per-mode 1861 compile definitions for Geant4 libs. Use INTERFACE_LINK_LIBRARIES 1862 instead of LINK_INTERFACE_LIBRARIES on Windows. Replace use of 1863 INSTALL_NAME_DIR with MACOSX_RPATH property for OS X libraries. 1864 1865 29th July 2015 - Ben Morgan 1866 - Module/Geant4LibraryBuildOptions.cmake : Add try-compile for 1867 atomics with Intel in C++1X mode and use Intel atomic if system 1868 cannot support them. Reported by Andrea Dotti, 1869 because Geant4 uses Intel's no-gcc flag to prevent thread local 1870 issues, system atomic header will be used by default. If system 1871 compiler does not support atomic, builds will fail. 1872 1873 27th July 2015 - Ben Morgan (cmake-V10-01-17) 1874 - Modules/Geant4MakeRules_cxx.cmake : Always use libc++ with Apple 1875 Clang so that std-supporting library is used for C++11 mode on 1876 older Mac systems where libstdc++ is the default. 1877 1878 23rd July 2015 - Ben Morgan (cmake-V10-01-16) 1879 - Modules/Geant4MacroLibraryTargets.cmake : Update rules for .def 1880 file generation to use new output dirs and to separate .def files 1881 for each build mode. 1882 - Modules/Geant4MakeRules_cxx.cmake : To permit transition to C++11 1883 update std-flag setting rules to only allow C++11 builds with compiler 1884 versions that are know to support the features in current use. 1885 1886 22nd July 2015 - Ben Morgan (cmake-V10-01-15) 1887 - Modules/Geant4MakeRules_cxx.cmake : When compiler allows selection 1888 of C++ standard and allows C++0x/11, default to using this standard. 1889 1890 13th July 2015 - Ben Morgan (cmake-V10-01-14) 1891 - Modules/Geant4LibraryBuildOptions.cmake : Migrate output directories 1892 for build products to use same layout as install tree. For single 1893 mode generators (Makefiles/Ninja), products are output to a 1894 'BuildProducts' subdir of the main binary dir which holds bin/lib 1895 directories as derived from requested install dirs. With multimode 1896 generators (Xcode/VS), 'BuildProducts' holds an extra directory layer, 1897 one per build mode, under which the same bin/lib structure is used. 1898 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Update to use 1899 correct output dirs. 1900 - Modules/Geant4ConfigureConfigScript.cmake : Note that this will not 1901 work for multimode builds. 1902 1903 8th June 2015 - Ben Morgan (cmake-V10-01-13) 1904 - Templates/Geant4Config.cmake.in : Always re-find Qt5 via find_package 1905 if Geant4 was configured with Qt5 support. Qt5 libraries are in 1906 public link interface of G4interfaces and G4OpenGL whether or not it 1907 is activated for an application, so must always be linked. Without 1908 refinding, dangling imported targets are left in the link interfaces 1909 of G4interfaces and G4OpenGL. 1910 1911 26th May 2015 - Gunter Folger (cmake-V10-01-12) 1912 - Modules/Geant4DatasetDefinitions.cmake: Use new data set G4EMLOW.6.44 1913 1914 19th May 2015 - Gunter Folger (cmake-V10-01-11) 1915 - Modules/Geant4DatasetDefinitions.cmake: Use new data set G4EMLOW.6.43 1916 1917 5th May 2015 - Ben Morgan (cmake-V10-01-10) 1918 - Modules/Geant4ConfigureModulefile.cmake : Genarate a modulefile 1919 for the build tree. Requested by developers, but otherwise unsupported. 1920 - Templates/geant4-modulefile.in : Update export variables to allow 1921 transparent configuration of build/install tree versions. 1922 1923 29th April 2015 - Ben Morgan (cmake-V10-01-09) 1924 - Modules/Geant4MakeRules_cxx.cmake: Add `-no-gcc` to CMAKE_CXX_FLAGS 1925 when using Intel compiler. This is temporary fix to give 1926 matching flags against old GNUmake build. It requires further checks 1927 to understand full behaviour of this flag to tune code versus 1928 Intel's `-gcc-sys` flag and `__INTEL_COMPILER` macro. 1929 1930 22nd April 2015 - Ben Morgan (cmake-V10-01-08) 1931 - Modules/FindCLHEP.cmake: Add CLHEP_ROOT_DIR to CMake cache, allowing 1932 it to be editted in the CMake curses/GUI. Use unset command to remove 1933 LIBRARY and INCLUDE_DIR variables for CLHEP from the cache when 1934 CLHEP_ROOT_DIR is changed. 1935 - Templates/geant4-env-skeleton.in: Add expansion entry for CLHEP library 1936 path 1937 - Modules/Geant4ToolchainBackwardCompatibility.cmake: Export setting 1938 of dynamic library path to prepend system CLHEP's library path in 1939 geant4.(c)sh 1940 1941 17th April 2015 - Ben Morgan (cmake-V10-01-07) 1942 - Fixes for JIRA DEV-185 (Allow use of system CLHEP granular libraries) 1943 - Modules/FindCLHEP.cmake: Allow component arguments to be supplied to 1944 find_package, each component being a CLHEP granular library. Support 1945 dependencies between components, and fail on REQUIRED if any requested 1946 component or dependency is not found. Set cache variables for each requested 1947 component library, and fill CLHEP_LIBRARIES with the requested libraries 1948 - Modules/Geant4OptionalComponents.cmake: Provide new advanced option 1949 GEANT4_USE_SYSTEM_CLHEP_GRANULAR, which can be set to enable use of CLHEP 1950 granular libraries from the system. When activated, use new FindCLHEP 1951 interface to search for Geant4's required components. 1952 - Templates/Geant4Config.cmake.in: Export and document a new variable, 1953 Geant4_system_clhep_ISGRANULAR that clients can query to check whether 1954 the system CLHEP was linked in granular mode. 1955 - Modules/Geant4ConfigureConfigScript.cmake: Process and export system CLHEP 1956 library list to support either singular or granular CLHEP libraries. 1957 - Templates/geant4-config.in: Support CLHEP granular library listing in 1958 '--libs' argument. 1959 - Modules/Geant4ToolchainBackwardCompatibility.cmake: Export CLHEP_LIB env var 1960 to support use of system CLHEP libraries in granular mode. 1961 - Templates/geant4make-skeleton.in: Export CLHEP_LIB env var to support 1962 system CLHEP libs in granular mode. 1963 1964 15th April 2015 - Ben Morgan (cmake-V10-01-06) 1965 - Modules/Geant4MakeRules_cxx.cmake: Update AppleClang version regex for 1966 Xcode 6.1. This version adds the patch number to the "based on LLVM" 1967 id. The full version number is now derived. 1968 1969 20th March 2015 - Gabriele Cosmo (cmake-V10-01-05) 1970 - Modules/Geant4MacroLibraryTargets.cmake: Added external G4geomUSolids 1971 library to static linkage list. Addressing problem report #1725. 1972 1973 2nd February 2015 - Ben Morgan 1974 - Modules/Geant4CPackBase.cmake: Exclude directories named "test" 1975 and "tests" from source package. Provide function to pad version 1976 triplet entries to two digits (with zeros), and name source package 1977 following convention of standatd release proceedure. CAVEATS: Patch 1978 version still included with initial release, no use of beta/patch/rc 1979 tags in patch numbering. 1980 1981 29th January 2015 - Ben Morgan (cmake-V10-01-04) 1982 - Modules/Geant4MakeRules_cxx.cmake: Minor update to only use c++11 1983 on Intel 15 compiler and better. Though this standard can be used 1984 on slightly earlier versions, only 15 has full features (for Geant4's 1985 needs). We would like to be consistent in standard use so that 'c++0x' 1986 is always used for compilers with partial support (even if 'c++11' is 1987 allowed), reserving 'c++11' for fully supported cases. This still 1988 needs review for GNU and Clang. 1989 1990 29th January 2015 - Ben Morgan (cmake-V10-01-03) 1991 - Modules/Geant4MakeRules_cxx.cmake: Add support for compiling against 1992 c++1y standard for GNU and Clang compilers. Add support for compiling 1993 against c++11 standard for Intel compiler. 1994 1995 17th December - Ben Morgan (cmake-V10-01-02) 1996 - Modules/Geant4InterfaceOptions.cmake: BUGFIX #1683. Correct search 1997 path for X11 libraries to ensure location of Xquartz libs on OS X. 1998 1999 15th December 2014 - Gunter Folger (cmake-V10-01-01) 2000 - Modules/Geant4DatasetDefinitions.cmake: Use new data set G4EMLOW.6.42 2001 2002 05th December 2014 - Ben Morgan (cmake-V10-01-00) 2003 - Modules/Geant4LibraryBuildOptions.cmake: When on OS X, check 2004 whether compiler IDed as Clang is actually g++ via command 2005 path. Ensures that "GEANT4_COMPILER" is correctly set for 2006 GNUmake compatibility. 2007 2008 01st December 2014 - Ben Morgan (cmake-V10-00-37) 2009 - Modules/Geant4BuildProjectConfig.cmake: Correct export of USolids 2010 system headers so that these are exported whether or not USolids 2011 are used to replace G4 solids. 2012 2013 18th November 2014 - Ben Morgan (cmake-V10-00-36) 2014 - Templates/UseGeant4.cmake : Include Geant4 headers as SYSTEM and after 2015 other headers. This is to help to suppress warnings when user has 2016 more stringent compiler settings than us. 2017 2018 12th November 2014 - Ben Morgan (cmake-V10-00-35) 2019 - Modules/Geant4LibraryBuildOptions.cmake: Remove GEANT4_BUILD_TPMALLOC 2020 as this is no longer required 2021 2022 11th November 2014 - Gunter Folger (cmake-V10-00-34) 2023 - Modules/Geant4DatasetDefinitions.cmake: update md5sum 2024 for G4EMLOW6.21 after correction of files access permissions. 2025 2026 10th November 2014 - Gunter Folger (cmake-V10-00-33) 2027 - Modules/Geant4DatasetDefinitions.cmake: RadioactiveDecay4.2 2028 and update md5sum for G4EMLOW6.21 after correction of files 2029 access permissions. 2030 2031 07th November 2014 - Ben Morgan (cmake-V10-00-32) 2032 - Modules/Geant4OptionalComponents.cmake : BUGFIX: Failures of static 2033 builds traced to typo in USolids settings in static mode where 2034 EXPAT_LIBRARIES was overwritten. Correct typo. 2035 2036 30th October 2014 - Ben Morgan (cmake-V10-00-31)(INTERNAL) 2037 - Modules/Geant4OptionalComponents.cmake : Update USolids configuration 2038 to decouple GEANT4_USE_USOLIDS and GEANT4_USE_SYSTEM_USOLIDS 2039 options. 2040 - GEANT4_USE_USOLIDS ON means that Geant4 solids are replaced with 2041 USolids equivalents, OFF means Geant4 solids and USolids are available 2042 - A USolids lib must ALWAYS be availble, so GEANT4_USE_SYSTEM_USOLIDS 2043 simply switches between these. 2044 - Templates/Geant4Config.cmake.in : decouple GEANT4_USE_USOLIDS and 2045 GEANT4_USE_SYSTEM_USOLIDS 2046 - Templates/geant4-config.in : decouple GEANT4_USE_USOLIDS and 2047 GEANT4_USE_SYSTEM_USOLIDS 2048 2049 30th October 2014 - Ben Morgan (cmake-V10-00-30)(INTERNAL) 2050 - Support builtin/system USolids library 2051 - Modules/Geant4OptionalComponents.cmake : Update USolids configuration 2052 use internal G4geomUSolids by default if USolids support requested. 2053 Add dependent option to allow system USolids to be searched for. 2054 This assumes that USolids will supply a "USolidsConfig.cmake" file 2055 - Modules/Geant4BuildProjectConfig.cmake : Update to export USolids 2056 settings as required. 2057 - Templates/Geant4Config.cmake.in : Update to provide new USolids 2058 component and relevant variables and settings 2059 - Modules/Geant4ConfigureConfigScript.cmake : Update to export 2060 USolids settings as required 2061 - Templates/geant4-config.in : Update to support USolids builtin/system 2062 switch. 2063 2064 23rd October 2014 - Ben Morgan (cmake-V10-00-29) 2065 - Templates/geant4-config.in : Add command line arguments to report 2066 C++ standard compiled against and TLS model used if multithreading 2067 support available. 2068 Add presence of static libs as a feature argument that can be checked. 2069 - Modules/Geant4ConfigureConfigScript.cmake : Export yes/no value 2070 indicating presence of static libraries to config script. 2071 - Templates/Geant4Config.cmake.in : Add variables to indicate C++ 2072 standard compiled against and TLS model used. Latter is only set 2073 if multithreading support is available. 2074 - Modules/ 2075 2076 22nd October 2014 - Gunter Folger (cmake-V10-00-28) 2077 - Modules/Geant4DatasetDefinitions.cmake: G4EMLOW.6.41 2078 2079 21st October 2014 - Ben Morgan (cmake-V10-00-27) 2080 - Modules/Geant4ConfigureModulefile.cmake : New file to configure 2081 and install a basic Environment Modules modulefile for Geant4. 2082 Provides basic Path/Datapath settings only, in line with geant4.(c)sh 2083 scripts. Because the location of modulefiles can be highly system 2084 dependent, install file in datarootdir with absolute paths coded in. 2085 Allows file to be moved later on as required on the system and 2086 patched accordingly. 2087 - Templates/geant4-modulefile.in : basic template for a modulefile 2088 - Modules/Geant4ToolchainBackwardCompatibility.cmake : include and 2089 call functionality in Geant4ConfigureModulefile. 2090 2091 20th October 2014 - Ben Morgan 2092 - Modules/Geant4ToolchainBackwardCompatibility.cmake, 2093 Templates/geant4make-skeleton.in: Revert changes introduced to 2094 support modulefiles due to uneeded variables being exported. 2095 2096 10th October 2014 - Andrea Dotti (cmake-V10-00-26) 2097 - Modules/FindROOT.cmake add ROOT_BIN_DIR variable to point to the 2098 path of root executables. Needed to use hadd application for 2099 physics testings (merging of output files for MT) 2100 2101 08th October 2014 - Ben Morgan (cmake-V10-00-25) 2102 - Templates/UseGeant4.cmake : BUGFIX #1663, Append existing CMake 2103 CXX/EXE_LINKER flags to Geant4 flags when setting overall CMake flags. 2104 This allows users to override the base set if needed, at their own 2105 risk. 2106 2107 26th September 2014 - Ben Morgan (cmake-V10-00-24) 2108 - Modules/Geant4ToolchainBackwardCompatibility.cmake, 2109 Templates/geant4make-skeleton.in: Revert changes introduced to 2110 support modulefiles due to incorrect installation names of scripts. 2111 2112 26th August 2014 - Gunter Folger (cmake-V10-00-23) 2113 - Modules/Geant4CTest.cmake: Add variable for reference files for testing 2114 2115 26th August 2014 - Ben Morgan (cmake-V10-00-22) 2116 - Modules/Geant4MacroLibraryTargets.cmake : Remove any self-links 2117 from internal library link list when building global libraries. 2118 2119 26th August 2014 - Gunter Folger (cmake-V10-00-21) 2120 - Modules/Geant4DatasetDefinitions.cmake: G4EMLOW.6.40 2121 2122 19th August 2014 - Gunter Folger (cmake-V10-00-20) 2123 - Modules/Geant4DatasetDefinitions.cmake: G4NDL.4.5 2124 2125 08th July 2014 - Andrea Dotti (cmake-V10-00-19) 2126 - Templates/UseGeant4_internal.cmake in geant4_add_test function convert 2127 character '=' present in command line to be executed to '@' 2128 - Modules/Geant4TestDriver.cmake convert back character '@' to '=' for 2129 command line to be executed in test 2130 Both changes are needed to support "offloading" of tests (e.g. will be 2131 used by testing on Xeon Phi co-processors that require complex command 2132 lines containing '=' character). 2133 2134 06th June 2014 - Ben Morgan (cmake-V10-00-18) 2135 - Templates/geant4-config.in : Add zlib and g3tog4 to list of features 2136 that --has-feature recognizes and can query (Patch from Ivana 2137 Hrivnacova) 2138 2139 05th June 2014 - Gunter Folger (cmake-V10-00-17) 2140 - Modules/Geant4DatasetDefinitions.cmake: G4EMLOW6.39 2141 2142 27th May 2014 - Ben Morgan (cmake-V10-00-16) 2143 - Modules/Geant4MakeRules_cxx.cmake : Factor -ftls-model flag 2144 out of GEANT4_MULTITHREADED_CXX_FLAGS and provide function 2145 supplying available thread local storage model flag arguments. 2146 Addresses JIRA DEV-142 2147 - Modules/Geant4LibraryBuildOptions.cmake : Provide advanced option 2148 to select thread local storage model when building multithreaded. 2149 Default to supported initial-exec model. Addresses JIRA DEV-142. 2150 2151 26th May 2014 - Ben Morgan (cmake-V10-00-15) 2152 - Modules/Geant4MakeRules_cxx.cmake : Add -DG4FPE_DEBUG to GNU/Clang 2153 flags for Debug build mode. Added following discussion with Gunter 2154 Folger to help developers diagnose FPE problems. 2155 2156 09th May 2014 - Gunter Folger (cmake-V10-00-14) 2157 - Modules/Geant4DatasetDefinitions.cmake: G4EMLOW6.38 2158 2159 10th April - Ben Morgan (cmake-V10-00-13) 2160 - Modules/Geant4LibraryBuildOptions.cmake: When building against the C++11 2161 standard, append -DG4USE_STD11 to CMAKE_CXX_FLAGS. Requested by Gabriele 2162 Cosmo (DEV-138). Known issues: Provides no guarantee that required 2163 C++11 features are present. Does not work on MSVC yet, but neither 2164 will the parts of the code making use of C++11 features. 2165 2166 18th March 2014 - Gunter Folger (cmake-V10-00-12) 2167 - Modules/Geant4DatasetDefinitions.cmake: G4EMLOW6.37 2168 2169 20th March 2014 - Ben Morgan (cmake-V10-00-11) 2170 - Templates/Geant4Config.cmake.in : Fixes by Witold Pokorski for correct 2171 static archive flags on Clang and syntax fixes for GNU. 2172 2173 18th March 2014 - Gunter Folger (cmake-V10-00-10) 2174 - Modules/Geant4DatasetDefinitions.cmake: G4EMLOW6.36 2175 2176 6th March 2014 - Ben Morgan (cmake-V10-00-09) 2177 - Modules/Geant4Config.cmake.in : When static libraries are used, 2178 wrap G4physicslists library with flags suitable to import whole 2179 archive. Implemented for GNU/Clang/Intel compilers. Other compilers 2180 require further checks on flags and how to apply to single library. 2181 This functionality is needed to support global registration of 2182 factories. 2183 2184 5th March 2014 - Ben Morgan (cmake-V10-00-08) 2185 - Modules/Geant4MacroLibraryTargets.cmake : Fixup usage of shared/static 2186 builtin libraries. Ensure that shared builtins do not get linked to 2187 static. 2188 - Templates/Geant4Config.cmake.in : Add new component 'static' allowing 2189 user to select static Geant4 libraries if they are available. 2190 2191 26th February 2014 - Gunter Folger (cmake-V10-00-07) 2192 - Modules/Geant4DatasetDefinitions.cmake: PhotonEvaporation3.1 2193 2194 26th February 2014 - Gunter Folger (cmake-V10-00-06) 2195 - Modules/Geant4DatasetDefinitions.cmake: RadioactiveDecay4.1 2196 2197 18th February 2014 - Ben Morgan (cmake-V10-00-05) 2198 - Modules/Geant4ConfigureConfigScript.cmake : Export use of builtin 2199 zlib or otherwise to geant4-config (Bugfix #1572). 2200 - Template/geant4-config.in : Add builtin zlib to list of features, 2201 adding G4zlib to list of libraries when used (Bugfix #1572). 2202 - Template/geant4-config.in : Replace use of GNU awk extension 'length' 2203 for determining number of datasets. Use return value of split function 2204 to get length of array. Problem reported on Hypernews: 2205 http://hypernews.slac.stanford.edu/HyperNews/geant4/get/installconfig/1614.html 2206 2207 17th February 2014 - Ben Morgan (cmake-V10-00-04) 2208 - Templates/geant4make-skeleton.in : Add variables for 2209 G4LIB_{BUILD,USE}_EXPAT as for ZLIB. Fixes Bug #1567 2210 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Export 2211 G4LIB_{BUILD,USE}_EXPAT based on value of GEANT4_USE_SYSTEM_EXPAT. 2212 Fixes Bug #1567. 2213 2214 21st January 2014 - Jonathan Madsen (cmake-V10-00-03) 2215 - Updated Modules/Geant4InterfaceOptions.cmake to include /opt/X11 2216 paths that are now the standard places for X11 and OpenGL on Mac OSX 2217 as of Mavericks (OS X 10.9). Without these paths configuring CMake with 2218 GEANT4_USE_OPENGL_X11=ON fails 2219 2220 18th December 2013 - Gunter Folger (cmake-V10-00-02) 2221 - Modules/Geant4TestDriver.cmake: CTEST_TEST_TIMEOUT is empty, or 2222 its setting is not visible. 2223 Directly using environment variable CTEST_TIMEOUT finally works. 2224 2225 16th December 2013 - Gunter Folger (cmake-V10-00-01) 2226 - Modules/Geant4TestDriver.cmake: fix typo introduced in previous tag 2227 2228 16th December 2013 - Gunter Folger (cmake-V10-00-00) 2229 - Modules/Geant4TestDriver.cmake: use CTEST_TEST_TIMEOUT if set to set 2230 default timeout 2231 2232 28th November 2013 - Ben Morgan (cmake-V09-06-45) 2233 - Modules/Geant4CTest.cmake : Remove G4ENSDFSTATE dataset from list 2234 exported to the testing environment, as it should not be used by 2235 default. 2236 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Remove G4ENSDFSTATE 2237 from datasets exported to the environment. This is because this dataset 2238 should not be set in the environment by default. 2239 - Modules/Geant4InstallData.cmake : Remove G4ENSDFSTATE dataset from 2240 export definitions. The ENSDF data is not intended to be used by 2241 default, and any setting of its environment variable changes the 2242 behaviour of Geant4 (i.e. it's an active rather than passive variable). 2243 2244 27th November 2013 - Gunter Folger (cmake-V09-06-44) 2245 - Modules/Geant4DatasetDefinitions.cmake: Add ENSDFSTATE data 2246 2247 27th November 2013 - Ben Morgan (cmake-V09-06-43) 2248 - Modules/Geant4MakeRules_cxx.cmake : Set GEANT4_MULTITHREADED_CXX_FLAGS 2249 for Intel compiler to "-ftls-model=initial-exec -pthread" as for GNU and 2250 Clang. 2251 2252 26th November 2013 - Ben Morgan (cmake-V09-06-42) 2253 - Modules/Geant4LibraryBuildOptions.cmake : Mark GEANT4_BUILD_MULTITHREADED 2254 as advanced on Win32, and emit a warning on Win32 if it is activated. 2255 This allows developers to keep working whilst warning users about the 2256 non-support. 2257 2258 21st November 2013 - Ben Morgan (cmake-V09-06-41) 2259 - Modules/Geant4InterfaceOptions.cmake : Fix bug in checking of status 2260 of Xmu include path and library variables that resulted in no error 2261 being emitted if these were not found. 2262 2263 19th November 2013 - Ben Morgan (cmake-V09-06-40) 2264 - Modules/Geant4ConfigureConfigScript.cmake : Fix bug in list manipulation 2265 of non-existant list backported in by accident by previous tag. This 2266 caused an error report when using Qt5. 2267 2268 14th November 2013 - Gunter Folger (cmake-V09-06-39) 2269 - use G4RadioactiveDecay.4.0 2270 - use G4PhotonEvaporation.3.0 2271 2272 13th November 2013 - Ben Morgan (cmake-V09-06-38) 2273 - Modules/Geant4BuildProjectConfig.cmake : Add FindTBB to exported modules. 2274 - Modules/Geant4OptionalComponents.cmake : Correct usolids include path. 2275 Document option and feature report as "EXPERIMENTAL". 2276 2277 12th November 2013 - Ben Morgan (cmake-V09-06-37) 2278 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Fix mistake in 2279 configuration of binary directory PATH which resulted in G4INCLUDE 2280 being overwritten. 2281 2282 8th November 2013 - Ben Morgan (cmake-V09-06-36) 2283 - Modules/Geant4ConfigureConfigScript.cmake : Add support for export 2284 of existence of USolids support to geant4-config. 2285 - Templates/geant4-config.in : Add usolids as a new feature. If present, 2286 ensure G4GEOM_USE_USOLIDS compile definition is prepended to the cflags. 2287 - Modules/Geant4BuildProjectConfig.cmake : Export required 2288 G4GEOM_USE_USOLIDS to core definitions if USolids support enabled. 2289 - Modules/Geant4OptionalComponents.cmake : Add option to enable support 2290 for USolids classes. Marked as advanced. 2291 2292 6th November 2013 - Ben Morgan (cmake-V09-06-35 internal) 2293 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Add support 2294 for export of multithreading and application PATH variables. 2295 - Templates/geant4make-skeleton.in : Export G4MULTITHREADED variable, 2296 and prepend binary directory to PATH to provide direct access to 2297 geant4-config. 2298 - Modules/Geant4ConfigureConfigScript.cmake : Add support for export 2299 of multithreading variables. 2300 - Templates/geant4-config.in : 2301 Bug fixes : add core compiler flags to cflags 2302 : add support for multithreading (NB default is to supply 2303 cflags for multithreading if Geant4 built in MT) 2304 New feature : Implement post install of datasets. Supplying the 2305 --install-data flag will perform a download and 2306 install of all datasets to the configured data directory 2307 of Geant4. 2308 - Modules/Geant4InstallData.cmake : Append filename and md5 to tuples 2309 exported by geant4_export_datasets. This is used by geant4-config to 2310 set up the post-install of datasets. 2311 2312 6th November 2013 - Ben Morgan (cmake-V09-06-34 internal) 2313 - Modules/Geant4DatasetDefinitions.cmake : Add definition for ABLA 2314 dataset. 2315 2316 28th October 2013 - Ben Morgan (cmake-V09-06-33) 2317 - Modules/Geant4InterfaceOptions.cmake : BUGFIX : add Wt_HTTP_LIBRARY to 2318 list of libraries required by Wt interface. 2319 2320 26th October 2013 - Ben Morgan (cmake-V09-06-32) 2321 - Modules/Geant4DatasetDefinitions.cmake : Remove ENSDFSTATE data definition 2322 2323 25th October 2013 - Ben Morgan (cmake-V09-06-31) 2324 Templates/Geant4Config.cmake.in : Re-find Qt5 when Geant4 uses it to ensu re imported targets are recreated 2325 Templates/geant4make-skeleton.in : Support export of QT4/5 variables to G eant4Make 2326 Modules/Geant4ToolchainBackwardCompatibility.cmake : Support export of QT 4/5 variables to Geant4Make 2327 Modules/Geant4InterfaceOptions.cmake : Support export of QT4/5 variables to Geant4Make 2328 2329 25st October 2013 - Gunter Folger 2330 - switch to G4ELOW6.35 2331 - add new NuclideTable with datafile ENSDFSTATE 2332 2333 24th October 2013 - Ben Morgan (cmake-V09-06-30) 2334 - Modules/FindWt.cmake : add use of FindPackageHandleStandardArgs to 2335 ensure correct behaviour when supplying REQUIRED/QUIET keywords 2336 2337 24rd October 2013 - Laurent Garnier 2338 - Template/Geant4Config.cmake.in 2339 Template/geant4make-skeleton.in 2340 Modules/Geant4ConfigureConfigScript.cmake 2341 Add Wt support 2342 2343 24th October 2013 - Ben Morgan 2344 - Modules/Geant4InterfaceOptions.cmake : Simplify configuration of 2345 Wt and Boost location. 2346 2347 24rd October 2013 - Laurent Garnier 2348 - Modules/Geant4InterfaceOptions.cmake : Add section for locating Wt 2349 - Modules/FindWt.cmake : New file taken form Wt sources 2350 http://www.webtoolkit.eu/wt/download 2351 2352 23rd October 2013 - Ben Morgan (cmake-V09-06-29) 2353 - Templates/Geant4UseQt5.cmake.in : New file providing forward 2354 compatibility of compilation against Qt5 with no changes required 2355 to CMake scripts in interfaces and OpenGL. 2356 - Modules/Geant4InterfaceOptions.cmake : Search for Qt5 first, then Qt4. 2357 When Qt5 is found, configure forward compatibility use file using 2358 Geant4UseQt5.cmake.in template. If Qt5 is not found, unset its usage 2359 and require loacation of Qt4. 2360 2361 21st October 2013 - Gunter Folger (cmake-V09-06-28) 2362 - switch to G4NEUTRONXS 1.4 2363 2364 14th October 2013 - Gunter Folger (cmake-V09-06-27) 2365 - switch to G4EMLOW 6.34 2366 2367 26th September 2013 - Ben Morgan (cmake-V09-06-26) 2368 - Modules/Geant4LibraryBuildOptions.cmake : When building in 2369 multithreaded mode on a UNIX system, perform a compile test to check 2370 that compiler supports thread local storage via availability of 2371 "__thread". Emit a FATAL_ERROR if the compiler does not support TLS, 2372 reporting this and the compiler used. 2373 - Templates/geant4-config.cmake.in : Implement new --check-datasets and 2374 --install-datasets tasks. The former checks that the known datasets are 2375 installed in the configured location, reporting status. The latter is a 2376 stub for implementing post-install download and unpack of datasets 2377 2378 17th September 2013 - Ben Morgan (cmake-V09-06-25) 2379 - Templates/geant4-config.cmake.in : Expand export variable holding 2380 list of dataset tuples. Process list from CMake ';' separated to 2381 shell ' ' separated list. Implement new '--datasets' argument to 2382 print out space separated dataset name, envvar name and path, with 2383 information for each dataset on a separate line. 2384 - Templates/Geant4Config.cmake.in : Expand export variable holding 2385 list of dataset tuples. Process list to create variable holding a 2386 list of dataset names, plus variables, one per dataset, holding the 2387 dataset environment variable and configured path. 2388 - Modules/Geant4ConfigureConfigScript.cmake : Call geant4_export_datasets 2389 function before configuration of build/install tree version(s) of 2390 geant4-config so dataset information can be exported to it 2391 - Modules/Geant4BuildProjectConfig.cmake : Call geant4_export_datasets 2392 function before configuration of build/install tree version(s) of 2393 Geant4Config.cmake so dataset information can be exported to the 2394 CMake config script. 2395 - Modules/Geant4InstallData.cmake : Implement new geant4_export_datasets 2396 function. Write list of dataset tuples to an output variable, each 2397 tuple consisting of dataset name, envvar name and path separated by "|" 2398 Use option argument BUILD|INSTALL to use build and install paths for 2399 datasets respectively. 2400 2401 16th September 2013 - Ben Morgan (cmake-V09-06-24) 2402 - Modules/Geant4LibraryBuildOptions.cmake : Emit fatal error if 2403 GEANT4_BUILD_GRANULAR_LIBS variable is set. 2404 2405 30th August 2013 - Gunter Folger (cmake-V09-06-23) 2406 - add FindXvfb checking if fake X server Xvfb is installed in system (/usr/bin) 2407 needed by test202. 2408 2409 22nd August 2013 - Ben Morgan (cmake-V09-06-22) 2410 - Modules/Geant4MakeRules_cxx.cmake : Check for "Apple LLVM" string 2411 in output of regex parse of "clang++ -v" command output. If string is 2412 found, re-parse string to extract LLVM version on which Apple LLVM is 2413 based because this reflects the true LLVM, and hence C++ Standard 2414 support, of the compiler. Fixes problem with being unable to change 2415 C++ Standard with latest Xcode reported by Gabriele Cosmo. 2416 2417 16th August 2013 - Ivana Hrivnacova (cmake-V09-06-21) 2418 - Suppress error messages from FindAIDA module for informative options. 2419 This fixes problem report #1485. 2420 2421 23rd July 2013 - Gunter Folger (cmake-V09-06-20) 2422 - Update datasets for NDL to NDL4.4 2423 2424 23rd July 2013 - Ben Morgan (cmake-V09-06-19) 2425 - Modules/Geant4InstallData.cmake : Remove GEANT4_INSTALL_EXAMPLES option. 2426 Always install example/ directory, move installation scripting into 2427 the top level CMakeLists.txt. 2428 2429 25th June 2013 - John Apostolakis (cmake-V09-06-18) 2430 - Added FindTBB.cmake module for Intel Threading-Building-Blocks library. 2431 2432 13th June 2013 - Ben Morgan (cmake-V09-06-17) 2433 - Templates/geant4-config.in : BUGFIX #1477 : Correct output of 2434 --has-feature for clhep feature. 2435 2436 11th June 2013 - Gunter Folger (cmake-V09-06-16) 2437 - Update md5sum for NDL after removal of data for Z>92 2438 2439 11th June 2013 - Gunter Folger (cmake-V09-06-15) 2440 - Update datasets for NDL, EMLOW, and RadioactiveDecay 2441 2442 11th June 2013 - Pere Mato (cmake-V09-06-14) 2443 - Modules/FindROOT.cmake : Minor changes for gccxml dictionary generation. 2444 2445 28th May 2013 - Ben Morgan (cmake-V09-06-13) 2446 - Modules/Geant4LibraryBuildOptions.cmake : Add option 2447 GEANT4_BUILD_TPMALLOC. It defaults to OFF, and is set to OFF if 2448 GEANT4_BUILD_MULTITHREADED is OFF or the platform is WIN32. 2449 When set, this adds a global compiler definition G4TPMALLOC. 2450 Feature requested by Andrea Dotti. 2451 2452 22nd May 2013 - Ben Morgan (cmake-V09-06-12) 2453 - Modules/FindROOT.cmake : Remove "/usr/include" from list of 2454 include directories passed to rootcint in root_generate_dictionary 2455 function. Needed to workaround bug in rootcint reported by Andrea 2456 Dotti. 2457 2458 7th May 2013 - Ben Morgan (cmake-V09-06-11) 2459 - Modules/Geant4OptionalComponents.cmake : Set variables 2460 GEANT4_USE_BUILTIN_{CLHEP,EXPAT,ZLIB} when the builtin versions 2461 of these packages are used. This is to assist the generation of 2462 Geant4Config.cmake using simple expansion variables 2463 - Templates/Geant4Config.cmake.in : Add and document new variables 2464 Geant4_builtin_{clhep,expat,zlib}_FOUND which are expanded to 2465 the value of GEANT4_USE_BUILTIN_{CLHEP,EXPAT,ZLIB} respectively. 2466 - These fixes are applied to support an issue in the nanobeam example, 2467 which requires the full CLHEP, so must check that the builtin 2468 version is not used. Whilst the test build is protected in 2469 tests/ctests/CMakeLists.txt, the nanobeam example uses an 2470 internal Geant4 variable to check for an external CLHEP, and so 2471 always fails. 2472 2473 6th May 2013 - Gunter Folger (cmake-V09-06-10) 2474 - modification for internal zlib: 2475 ZLIB_INCLUDE_DIRS: added ${PROJECT_BINARY_DIR}/source/externals/zlib to 2476 make generated zconf.h available; as side effect this zconf.h will be 2477 installed. 2478 2479 22nd April 2013 - Gabriele Cosmo (cmake-V09-06-09) 2480 - Fixed comments in scripts Geant4MakeRules_cxx.cmake and 2481 Geant4LibraryBuildOptions.cmake... 2482 2483 15th April 2013 - Ben Morgan (cmake-V09-06-08) 2484 - Modules/Geant4MakeRules_cxx.cmake : Use -pthread flag for clang and 2485 gcc compilers in preference to -lpthread. Remove -lpthread from 2486 exe linker flags as the compiler flag should get passed to this. 2487 - Modules/Geant4LibraryBuildOptions.cmake : Remove addition of MT flags 2488 from exe linker flags, as main CXX flags should handle this. 2489 2490 9th April 2013 - Andrea Dotti 2491 - Adding -lpthread to GCC linker flags if GEANT4_BUILD_MULTITHREADED is on. 2492 2493 25th March 2013 - Ben Morgan 2494 - Modules/Geant4ToolchainBackwardCompatibility.cmake : BUGFIX #1399 2495 Applied Mike's patch for selflocation to C-shell template 2496 generation. 2497 2498 25th March 2013 - Ben Morgan (cmake-V09-06-07) 2499 - Modules/Geant4OptionalComponents.cmake : BUGFIX #1322 Noted that 2500 FindZLIB in CMake < 2.8 does not set the ZLIB_INCLUDE_DIRS variable, 2501 so set it manually to ensure uniform behaviour in ZLIB clients. 2502 2503 25th March 2013 - Ben Morgan 2504 - Modules/Geant4OptionalComponents.cmake : BUGFIX #1322 Enable option 2505 GEANT4_USE_SYSTEM_ZLIB to locate system zlib if requested and otherwise 2506 use internal version. This will co-work with externals-V09-06-00. 2507 It *breaks* the analysis module, and HepRep module requires adjustment 2508 as reported in above bug report to ensure zlib is enabled. 2509 2510 25th March 2013 - Ben Morgan (cmake-V09-06-06) 2511 - Modules/Geant4MacroLibraryTargets.cmake : BUGFIX #1353 : Add a build 2512 mode dependent compiler definition to the build of each Geant4 target 2513 in the form GEANT4_DEVELOPER_<CONFIG> where <CONFIG> is the uppercased 2514 build mode as determined from CMAKE_CONFIGURATION_TYPES or 2515 CMAKE_BUILD_TYPE as appropriate for the generator. 2516 Checked on Linux and Mac with Make/Xcode generators, tagging for testing 2517 2518 1st March 2013 - Ben Morgan (cmake-V09-06-05) 2519 - Templates/Geant4Config.cmake.in : Add 'multithreaded' component to 2520 indicate if Geant4 was built with multithreading. If it is requested, 2521 and the build is multithreaded, append the -DG4MULTITHREADED compile 2522 definition to GEANT4_DEFINITIONS. Note clear this is the best option 2523 yet, but awaits testing and example builds. 2524 - Modules/Geant4LibraryBuildOptions.cmake : Add option 2525 GEANT4_BUILD_MULTITHREADED which when ON, adds the compiler definition 2526 -DG4MULTITHREADED globally, and appends GEANT4_MULTITHREADED_CXX_FLAGS 2527 to CMAKE_CXX_FLAGS. Set to OFF by default as requested for testing. 2528 - Modules/Geant4MakeRules_cxx.cmake : For GNU compiler only (which may also 2529 apply to clang compiler with CMake 2.8.2 and earlier), set a new variable 2530 GEANT4_MULTITHREADED_CXX_FLAGS to hold any extra flags needed by 2531 multithreaded build, but would conflict with sequential. Not clear 2532 this separation is needed yet, but this aims for safety to allow testing 2533 of MT builds without interfering with other work. 2534 2535 21st February 2013 - Gunter Folger (cmake-V09-06-04) 2536 - Updated dataset G4NEUTRONXS 1.3 ( previous was not yet released) 2537 2538 13th February 2013 - Gunter Folger (cmake-V09-06-03) 2539 - Switch to G4NEUTRONXS 1.3 2540 2541 12th February 2013 - Ben Morgan (cmake-V09-06-02) 2542 - Modules/Geant4MakeRules_cxx.cmake : Revert default CXX flags for GNU 2543 (and clang) compilers to non-MT versions. Leave MT flag set as commented 2544 out line for future reference, although MT will be optional. 2545 2546 11th February 2013 - Pere Mato (cmake-V09-06-01) 2547 - Modules/Geant4TestDriver.cmake : increased the timeout safety to 120 2548 seconds. This is to avoid having a timeout in a test without having 2549 the time to write the output. 2550 2551 18th December 2012 - Ben Morgan (cmake-V09-06-00) 2552 - Templates/UseGeant4_internal.cmake : Tidy layout 2553 - Templates/UseGeant4.cmake : Tidy layout and remove obsolete 2554 geant4_collate_application_sources macro. 2555 - Templates/Geant4ConfigVersion.cmake.in : Tidy layout 2556 - Templates/Geant4Config.cmake.in : Tidy layout 2557 - Modules/ResolveCompilerPaths.cmake : Tidy layout and convert macros to 2558 consistent use of lowercase naming. 2559 - Modules/MacroEnsureVersion.cmake : Tidy layout and convert macros to 2560 consistent use of lowercase naming. 2561 - Modules/Geant4ValidateSources.cmake : Tidy up layout/commenting 2562 - Modules/Geant4TestDriver.cmake : Tidy up layout/commenting 2563 - Modules/Geant4OptionalComponents.cmake : Tidy up layout. 2564 - Modules/Geant4MakeRules_fortran.cmake : Remove obsolete file. 2565 - Modules/Geant4MacroDefineModule.cmake : Tidy up layout and add basic 2566 documentation placeholders for main macros. 2567 - Modules/Geant4LibraryBuildOptions.cmake : Tidy up layout 2568 - Modules/Geant4InstallDirs.cmake : Tidy up layout 2569 - Modules/Geant4ConfigureConfigScript.cmake : Tidy up layout 2570 - Modules/Geant4CTest.cmake : Tidy up layout 2571 - Modules/Geant4CPackBase.cmake : Tidy up layout 2572 - Modules/Geant4BuildProjectConfig.cmake : Tidy up layout 2573 - Modules/Geant4BuildModes.cmake : Tidy up commenting and layout. 2574 - Modules/Geant4MacroUtilities.cmake : Functionize macros where possible, 2575 add include guard and standardize on lower case for function and internal 2576 variable names. 2577 - INSTALL.g4cmake : Remove this now obsolete file 2578 2579 27th November 2012 - Ben Morgan (cmake-V09-05-79) 2580 - Templates/geant4-config.in : Correct listing of G3toG4 library, 2581 replacing "-lG3ToG4" with "-lG3toG4" 2582 2583 27th November 2012 - Gabriele Cosmo (cmake-V09-05-78) 2584 - Added "-Wno-variadic-macros -Wshadow" compilation options g++ and clang. 2585 - Extended description in Geant4CPackBase.cmake script. 2586 2587 26th November 2012 - Gunter Folger (cmake-V09-05-77) 2588 - Switch to PhotonEvaporation 2.3 2589 2590 23rd November 2012 - Gunter Folger (cmake-V09-05-76) 2591 - Switch to G4RadioactiveDecay 3.6 2592 2593 21st November 2012 - Ben Morgan (cmake-V09-05-75) 2594 - Templates/geant4_validate_sources.cmake.in : Add "T1xxChannel.cc" 2595 and "XXChannel.cc" names to false positives. These names appear 2596 in processes/hadronic/models/cascade/cascade/sources.cmake as 2597 comments, but the current regex picks them up. This is a temporary 2598 fix as longer term solution is to update regex to not match 2599 comments! 2600 2601 21st November 2012 - Ben Morgan (cmake-V09-05-74) 2602 - Templates/Geant4Config.cmake.in : Fix setting of Geant4 DEFINITIONS 2603 INCLUDE_DIRS and LIBRARIES so that multiple calls to find_package 2604 do not overwrite previosu settings. Multiple calls now copy, 2605 insert or append to these variables as needed. Duplicates 2606 are removed from the final list. 2607 - Templates/UseGeant4.cmake : Tidy up documentation and mark 2608 macros as deprecated. 2609 2610 20th November 2012 - Ivana Hrivnacova (cmake-V09-05-73) 2611 - Fixed FindHepMC.cmake (GenEvent.h file extension was missing) 2612 2613 16th November 2012 - Ben Morgan (cmake-V09-05-72) 2614 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Improve 2615 description of workaround for sourcing Cshell scripts 2616 non-interactively, as reported in HyperNews: 2617 http://hypernews.slac.stanford.edu/HyperNews/geant4/get/installconfig/1513/1.html 2618 2619 15th November 2012 - Ben Morgan (cmake-V09-05-71) 2620 [BUGFIX #1387] 2621 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Correct shell 2622 variable name in export of commands to scripts. 2623 2624 14th November 2012 - Ben Morgan (cmake-V09-05-70) 2625 - Modules/Geant4BuildProjectConfig.cmake : Add CMakeMacroParseArguments 2626 to list of modules installed as it is needed to support FindROOT 2627 on CMake < 2.8. 2628 2629 2630 14th November 2012 - Gunter Folger (cmake-V09-05-69) 2631 - switch to G4NDL 4.2 2632 (excluding changes made past tag cmake-V09-05-68) 2633 2634 13th November 2012 - Ben Morgan 2635 [BUGFIX #1290, #1328] 2636 - Templates/geant4-config.in : Add support for G3ToG4 library. Add 2637 CLHEP library to link line using output from clhep-config. 2638 Replace explicit -I@VAR@ flags with pure @VAR@ variables for 2639 each include path that may be filtered out if it is in the 2640 compiler's default search path. 2641 - Modules/Geant4ConfigureConfigScript.cmake : Set export variable 2642 for existence of G3ToG4. Implement function to return list of 2643 default search paths for GNU, Clang and Intel compilers. 2644 Create list before configuring geant4-config, and filter out 2645 any header paths that we need to export but that appear in this list 2646 before creating export variables. 2647 2648 13th November 2012 - Ben Morgan (cmake-V09-05-68) 2649 - Modules/Geant4BuildProjectConfig.cmake : Copy FindXXX modules required 2650 by examples from source to build tree, and install them into a 2651 Modules subdirectory of GEANT4_CMAKE_DIR. 2652 - Templates/UseGeant4.cmake : Append path for FindXXX modules required 2653 by examples to CMAKE_MODULE_PATH. This is transparent across both 2654 the build and install trees. 2655 2656 2657 12th November 2012 - Ben Morgan (cmake-V09-05-67) 2658 - Modules/Geant4MakeRules_cxx.cmake : Add -Qunused-arguments flag 2659 to compiler flags when running Clang. This is to finally suppress 2660 warnings when building tests, which CTest cannot filter out. 2661 2662 2663 9th November 2012 - Ben Morgan (cmake-V09-05-66) 2664 - Resubmission of cmake-V09-05-64+cmake-V09-05-65. Former was 2665 rejected after clang warnings, which are now ignored by the 2666 CTest system. Latter passed Continuous builds without issue and 2667 only affects Windows systems. 2668 2669 2670 8th November 2012 - Ben Morgan (cmake-V09-05-65) 2671 - Modules/Geant4MakeRules_cxx.cmake : Remove MD flags from core flags. 2672 Add MD flag to Release style build modes (RELEASE, MINSIZEREL and 2673 RELWITHDEBINFO). Add MDd flag to Debug style build modes (DEBUG, 2674 TESTRELEASE, MAINTAINER). 2675 This follows discussions originated from HyperNews: 2676 http://hypernews.slac.stanford.edu:5090/HyperNews/geant4/get/installconfig/1436/1.html 2677 2678 2679 7th November 2012 - Ben Morgan (cmake-V09-05-64) 2680 - [BUGFIX #1351] 2681 - Geant4MacroUtilities.cmake : Implement new functions set_ifnot 2682 and enum_option 2683 - Geant4MakeRules_cxx.cmake : Implement C++ Standard detection and 2684 flag configuration for GNU, Clang and Intel compilers. 2685 - Geant4LibraryBuildOptions.cmake : Add user option to select C++ 2686 Standard to build against, it the compiler supports this. The 2687 default is always c++98/'ansi' (C++98 plus the '03 addenda). 2688 2689 2690 5th November 2012 - Ben Morgan (cmake-V09-05-63) 2691 - Modules/Geant4InterfaceOptions.cmake: Remove requirement to co-work 2692 with internal tag openinventor-V09-05-16. 2693 2694 2695 5th November 2012 - Ben Morgan (cmake-V09-05-62) 2696 - Modules/Geant4InterfaceOptions.cmake: Check that X11 Xpm library 2697 has been found when Inventor driver is activated, and FATAL_ERROR 2698 is it is not located. 2699 2700 2701 2nd November 2012 - Ben Morgan (cmake-V09-05-61) 2702 - [BUGFIX #1285] 2703 - Modules/Geant4InstallData.cmake: Implement new 2704 API for managing data to allow reuse of existing datasets and 2705 not install data at build time if required. 2706 - Modules/Geant4DatasetDefinitions.cmake: Migrate dataset definitions 2707 to separate file to ease update and patch cycle. 2708 - Modules/Geant4ToolchainBackwardCompatibility.cmake: Migrate export 2709 of dataset environment variables/paths to use new dataset API. Avoids 2710 hardcoding of dataset names, allowing for easy expansion/contraction 2711 in the future. 2712 - Modules/Geant4CTest.cmake: Migrate setting of GEANT4_TEST_ENVIRONMENT 2713 to use new dataset API for export of environment variable names and 2714 values. 2715 - Templates/geant4make-skeleton.in: Migrate expansion variables for 2716 datasets to single 'code block' variable. 2717 - Templates/geant4-env-skeleton.in: Migrate expansion variables for 2718 datasets to single 'code block' variable. 2719 - [PERFORMANCE]: Tidy up module inclusions to provide minor, but 2720 noticeable, speed up in CMake configuration time. 2721 - Modules/Geant4MacroDefineModule.cmake: Use 'header guard' variable to 2722 prevent module being loaded multiple times. 2723 - Modules/Geant4MacroLibraryTargets.cmake: Use 'header guard' variable to 2724 prevent module being loaded multiple times. 2725 - Modules/Geant4MacroUtilities.cmake: Include Geant4MacroDefineModule 2726 and Geant4MacroLibraryTargets so these are included at top level and 2727 hence are not re-parsed by CMake if they are included in lower scopes. 2728 - [CLEANUP] 2729 - Templates/geant4-env.csh.in: Remove obsolete file. 2730 - Templates/geant4-env.sh.in: Remove obsolete file. 2731 2732 2733 31st October 2012 - Ben Morgan (cmake-V09-05-60) 2734 - Modules/Geant4InstallData.cmake: Remove obsolete ABLA dataset. 2735 - Modules/Geant4ToolchainBackwardCompatibility.cmake: Remove 2736 setting of ABLA environment export variables to overcome error 2737 reported by Gunter Folger and Hisaya Kurashige. 2738 - Modules/Geant4CTest.cmake: Remove obsolete ABLA dataset. 2739 - Template/geant4-env-skeleton.in: Remove ABLA export variables 2740 - Template/geant4make-skeleton.in: Remove ABLA export variables 2741 2742 2743 31th October 2012 - Gunter Folger (cmake-V09-05-59) 2744 - bring settings for ABLA back in , used elsewhere, and caused 2745 configure to badly fail. 2746 2747 30th October 2012 - Gunter Folger (cmake-V09-05-58) 2748 - Modules/Geant4InstallData.cmake: Revert to use G4EMLOW.6.32 2749 and delete settings for ABLA, not needed per Davide M. 2750 2751 30th October 2012 - John Apostolakis (cmake-V09-05-57) 2752 - Modules/Geant4InstallData.cmake: Revert to use G4EMLOW.6.31 2753 to overcome problems in Continuous build of G4 in Cdash 2754 2755 30th October 2012 - Gunter Folger (cmake-V09-05-56) 2756 - Modules/Geant4InstallData.cmake: Use G4EMLOW.6.32 2757 2758 25th October 2012 - Pere Mato (cmake-V09-05-55) 2759 - Templates/Geant4CTest.cmake: corrected mistake with GEANT4_DATA_DIR 2760 2761 19th October 2012 - Ben Morgan (cmake-V09-05-54) 2762 - Templates/Geant4Config.cmake.in : Add g3tog4 component to detect 2763 and configure G3toG4 library if required. 2764 - Modules/Geant4OptionalComponents.cmake : Improve documentation of 2765 GEANT4_USE_G3TOG4 option. 2766 - Modules/Geant4CTest.cmake : Remove un-needed message() of dataset 2767 configuration. 2768 2769 18th October 2012 - Gunter Folger (cmake-V09-05-53) 2770 - Modules/Geant4InstallData.cmake: Use G4EMLOW.6.31 2771 2772 16th October 2012 Ben Morgan (cmake-V09-05-52) 2773 - Modules/Geant4InstallData.cmake : Update version and MD5 of 2774 G4NEUTRONXS for 1.2 release, add new G4SAIDDATA dataset, 2775 version 1.1 2776 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Export 2777 new G4SAIDDATA dataset to scripts. 2778 - Modules/Geant4CTest.cmake : Add new G4SAIDDATA dataset to 2779 CTest environment, and remove obsolete G4ELASTICDATA and 2780 NeutronHPCrossSections environment variables. 2781 - Templates/geant4-env-skeleton.in : Add expansion variable for 2782 export of new G4SAIDDATA dataset. 2783 - Templates/geant4make-skeleton.in : Add expansion variable for 2784 export of new G4SAIDDATA dataset. 2785 2786 2787 12th October 2012 Ben Morgan (cmake-V09-05-51) 2788 - Modules/FindInventor.cmake: BUGFIX #1320: Remove find of Inventor 2789 debug libraries and do not use the "optimized;debug" technique. 2790 Add find for of SoXt headers. 2791 - Modules/Geant4InterfaceOptions.cmake: BUGFIX #1320: Add SoXt headers 2792 to INVENTOR_INCLUDE_DIR when on UNIX, and FATAL_ERROR if SoXt not 2793 located. Add X11 Xt library when SoXt is used on Mac OS X 2794 2795 9th October 2012 Pere Mato (cmake-V09-05-50) 2796 - Modules/Geant4CTest.cmake: minor changes to avoid user traps 2797 2798 4th October 2012 - Gunter Folger (cmake-V09-05-49) 2799 - Modules/Geant4InstallData.cmake: Use G4EMLOW.6.30 2800 2801 26th September 2012 Ivana Hrivnacova (cmake-V09-05-48) 2802 - Adding FindPythia6 module. 2803 - Modules/FindHepMC.cmake: support also HEPMC_DIR environment variable (which 2804 is used in GNUmake build); added HEPMC_FIO_LIBRARIES 2805 2806 25th September 2012 Ivana Hrivnacova (cmake-V09-05-47) 2807 - Adding FindAIDA module. 2808 2809 24th September - Pere Mato (cmake-V09-05-46) 2810 - Modules/Geant4TestDriver.cmake : Use the argument TIM=<timeout> to set a shorter timeout than CTest 2811 - Templates/UseGeant4_internal.cmake : Generate TIM argument from test TIMEOUT property 2812 2813 24th September - Ben Morgan (cmake-V09-05-45) 2814 - Modules/ResolveCompilerPaths.cmake : Remove extraneous quotes around 2815 resolved include paths (patch from Fabian Kislat, BUGFIX #1357) 2816 2817 19th September - Ben Morgan (cmake-V09-05-44) 2818 - Modules/Geant4MakeRules_cxx.cmake : Remove optimization flags from 2819 TestRelease build mode flags on all platforms (BUGFIX #1263). 2820 - Modules/Geant4BuildModes.cmake : Remove obsolete "TestReleaseDebug" build 2821 mode (BUGFIX #1263) 2822 2823 17th September - Ben Morgan (cmake-V09-05-43) 2824 - Modules/Geant4InstallData.cmake : Update G4EMLOW dataset to version 6.29 2825 and update MD5 sum. 2826 2827 30th August 2012 Pere Mato (cmake-V09-05-42) 2828 - Modules/Geant4CTest.cmake : Added Unit Tests and some re-organization of the module 2829 - Modules/Geant4MacroUtilities.cmake : Moved macro GEANT4_LATEST_VERSION to this module 2830 2831 29th August 2012 Witek Pokorski (cmake-V09-05-41) 2832 - Adding FindHepMC module. 2833 2834 28th August 2012 - Pere Mato 2835 - Modules/Geant4MacroUtilities.cmake: Defined new macro GEANT4_ADD_UNIT_TESTS 2836 - Modules/Geant4LibraryBuildOptions.cmake: Added new option GEANT4_BUILD_TESTS 2837 2838 28th August 2012 - Gunter Folger (cmake-V09-05-39) 2839 - Modules/Geant4InstallData.cmake: Use RadioactiveDecay3.5 2840 2841 16th July 2012 - Ben Morgan (cmake-V09-05-38) 2842 - Use correct tag name. Update tag number to ensure numerical sequence. 2843 2844 16th July 2012 - Ben Morgan (cmake-V09-05-37) 2845 - Templates/geant4_validate_sources.cmake.in : Remove use of STATUS in 2846 error messages so all errors go to stderr. 2847 2848 10th July 2012 - Ben Morgan (cmake-V09-05-36) 2849 - Modules/Geant4MakeRules_cxx.cmake : Add preliminary support for Clang 2850 detection (CMake > 2.8.1) 2851 - Modules/Geant4/LibraryBuildOptions.cmake : Add preliminary support for 2852 Clang detection (CMake > 2.8.1) 2853 2854 10th July 2012 - Ben Morgan 2855 - Modules/FindStatTest.cmake : Minor formatting/layout updates. 2856 2857 10th July 2012 - Andrea Dotti (cmake-V09-05-35) 2858 - Modules/FindStatTest.cmake : First commit of module to find and setup 2859 utility program StatTest for automatic regression testing of Geant4 2860 ctest outputs 2861 2862 27th June 2012 - Pere Mato (cmake-V09-05-34) 2863 - Modules/Geant4TestDriver.cmake : Added TST paramenter to obtain the test name to produce 2864 <test>.out and <test>.err 2865 - Templates/UseGeant4_internal.cmake: mofdified to pass the test name 2866 2867 22nd June 2012 - Pere Mato (cmake-V09-05-33) 2868 - Modules/Geant4TestDriver.cmake : Fixed the problem that <test> should be only the 2869 file name and not the full path of the executable. 2870 2871 22nd June 2012 - Pere Mato (cmake-V09-05-32) 2872 - Modules/Geant4TestDriver.cmake : adapted to create <test>.out and <test>.err files 2873 with stdout and stderr each time a test is run in the current directory. 2874 2875 21th June 2012 - Gunter Folger (cmake-V09-05-31) 2876 - After update of G4EMLOW6.27, new tar needs updated md5sum. 2877 2878 21th June 2012 - Gunter Folger (cmake-V09-05-30) 2879 - After recreating G4NDL4.1, update md5sum. 2880 2881 20th June 2012 - Gunter Folger (cmake-V09-05-29) 2882 - Modules/Geant4InstallData.cmake: Use G4NDL 4.1 2883 2884 15th June 2012 - Gabriele Cosmo (cmake-V09-05-28) 2885 - Updated tags to 9.6.0 for 9.6-beta. 2886 2887 14th June 2012 - Ben Morgan (cmake-V09-05-27) 2888 - Modules/Geant4OptionalComponents.cmake : Search for system expat by 2889 default on non-Win32. We prefer the system library on these platforms 2890 due to compilation warnings in the current internal version of expat. 2891 2892 13th June 2012 - Ben Morgan (cmake-V09-05-26) 2893 - Modules/Geant4OptionalComponents.cmake : Allow choice between internal 2894 and system expat library on non-Win32 platforms, default to use 2895 internal. Choosing system expat requires it to be found. 2896 2897 12th June 2012 - Ben Morgan (cmake-V09-05-25) 2898 - Modules/Geant4ToolchainBackwardCompatibility.cmake: Quote paths used 2899 in execute_process calls run at install time. This fixes a problem 2900 reported by Joseph Perl on Windows, when a space appears in the install 2901 prefix. 2902 2903 8th June, 2012 - Gunter Folger (cmake-V09-05-24) 2904 - Modules/Geant4OptionalComponents.cmake: require CLHEP 2.1.2.3 2905 2906 4th June, 2012 - Gunter Folger (cmake-V09-05-23) 2907 - Modules/Geant4InstallData.cmake: use G4EMLOW.6.27 2908 2909 1st June, 2012 - Ben Morgan (cmake-V09-05-22) 2910 - Modules/Geant4InstallData.cmake : Complete rewrite of data installation 2911 with support for CMake >= 2.6.4 and custom physics data install location. 2912 Downloaded data bundles are also verified using MD5 hashes. 2913 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Location of data 2914 updated to use new paths from Geant4InstallData.cmake. 2915 2916 May 31st, 2012 - Pere Mato (cmake-V09-05-21) 2917 - Modules/Geant4BuildProjectConfig.cmake : Transmit CMAKE_EXE_LINKER_FLAGS as Geant4_EXE_LINKER_FLAGS 2918 - Templates/UseGeant4.cmake : Set CMAKE_EXE_LINKER_FLAGS as Geant4_EXE_LINKER_FLAGS 2919 This is to ensure that the definition is of CMAKE_EXE_LINKER_FLAGS is used by projects using Geant4 2920 2921 May 30th, 2012 - Pere Mato (cmake-V09-05-20) 2922 - Modules/Geant4MakeRules_cxx.cmake : Added -limf library in CMAKE_EXE_LINKER_FLAGS for icc compiler. 2923 This is to avoid warnings of the type "warning: feupdateenv is not implemented and will always fail" 2924 2925 May 30th, 2012 - Pere Mato (cmake-V09-05-19) 2926 - Templates/UseGeant4_internal.cmake : Added new arguments WORKING_DIRECTORY and LABELS to GEANT4_ADD_TEST() 2927 This allows to assign tests to specific test slots (Nightly, Continuous, PhyscisChecks). If no label is specified it is 2928 given the Nightly label. 2929 2930 May 29th, 2012 - Ben Morgan (cmake-V09-05-18) 2931 - Modules/Geant4ToolchainBackwardCompatibility.cmake : [BUGFIX #1268] Enable use of C-shell scripts inside other scripts. 2932 This follows the pattern used in ROOT's cshell scripts, which works at 2933 the cost of the user having to supply extra information to the source 2934 command/script. 2935 - Templates/geant4-env-skeleton.in : [BUGFIX #1268] Protect changes to the environment if self location fails. 2936 - Templates/geant4make-skeleton.in : [BUGFIX #1268] Protect changes to the environment if self location fails. 2937 2938 2939 May 9th, 2012 - Pere Mato (cmake-V09-05-17) 2940 - Templates/UseGeant4_internal.cmake : By default tests building anything will fail in case of warnings. 2941 This is wanted by G. Folger. 2942 2943 May 8th, 2012 - Pere Mato (cmake-V09-05-16) 2944 - Templates/UseGeant4_internal.cmake : Added PASSREGEX and FAILREGEX arguments to GEANT4_ADD_TEST() 2945 2946 April 30th, 2012 - Ben Morgan (cmake-V09-05-15) 2947 - Modules/Geant4InstallData.cmake : GEANT4_INSTALL_DATA set as an INTERNAL 2948 variable when deactivated on CMake < 2.8. Ensures it doesn't show in GUI. 2949 - Modules/Geant4LibraryBuildOptions.cmake : Force deactivation of 2950 GEANT4_ENABLE_TESTING on CMake < 2.8 due to compatibility issues. 2951 2952 April 24th, 2012 - Ben Morgan (cmake-V09-05-14) 2953 - Modules/Geant4InstallData.cmake : Force GEANT4_INSTALL_DATA to OFF if 2954 CMake < 2.8.0 is used, and warn user if it has been set. This prevents the 2955 problem reported on HyperNews: 2956 http://hypernews.slac.stanford.edu/HyperNews/geant4/get/visualization/612/3/1/1/1.html 2957 2958 April 20th, 2012 - Ben Morgan (cmake-V09-05-13) 2959 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Fixed Bug #1306, using 2960 BASH_VERSION instead of non-POSIX compliant check. 2961 2962 April 12th, 2012 - Pere Mato (cmake-V09-05-12) 2963 - Fixed bug in Modules/Geant4CTest.cmake to locate newest data library version 2964 2965 April 12th, 2012 - Gunter Folger (cmake-V09-05-11) 2966 - Switch to G4EMLOW6.26 2967 2968 April 5th, 2012 - Gunter Folger (cmake-V09-05-10) 2969 - Switch to G4EMLOW6.25 2970 2971 April 3rd, 2012 - Ben Morgan (cmake-V09-05-09) 2972 - Modules/Geant4InstallData.cmake : Increased default timeout to 1500s. 2973 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Redirect all cd commands 2974 to /dev/null as some cd implementations report change to stdout. 2975 2976 March 30th, 2012 - Ben Morgan (cmake-V09-05-08) 2977 - Modules/Geant4InstallData.cmake : Add GEANT4_INSTALL_DATA_TIMEOUT cache 2978 variable to allow users to increase the download timeout on slow connections. 2979 Only available on CMake 2.8.1 and above. 2980 2981 March 22nd, 2012 - Pere Mato (cmake-V09-05-07) 2982 - genwindef/LibSymbolInfo.cpp : filter the symbols giving problems when building G4clhep for Win64 (second attempt) 2983 2984 March 22nd, 2012 - Pere Mato (cmake-V09-05-06) 2985 - genwindef/LibSymbolInfo.cpp : filter the symbols giving problems when building G4clhep for Win64 2986 2987 March 7th, 2012 - Pere Mato (cmake-V09-05-05) 2988 - Modules/Geant4MakeRules_cxx.cmake : added link flag "-i-dynamic" to avoid link ICC warnings of the sort 2989 "warning: feupdateenv is not implemented and will always fail" 2990 2991 March 6th, 2012 - Pere Mato (cmake-V09-05-04) 2992 - Modules/Geant4LibraryBuildOptions.cmake : matching "icc" in addition to "icpc" to detect Intel compiler 2993 - Modules/Geant4MakeRules_cxx.cmake : change ICC option from -Wnon-virtual-dtor to -Wno-non-virtual-dtor 2994 2995 February 10th, 2012 - Pere Mato (cmake-V09-05-03) 2996 - Added function REFLEX_GENERATE_DICTIONARY() in FindROOT.cmake 2997 2998 January 25th, 2012 - Gunter Folger (cmake-V09-05-02) 2999 - Switch to G4EMLOW6.24 3000 3001 December 13th 2011 - P. mato (cmake-V09-05-01) 3002 - Templates/UseGeant4_internal.cmake: Avoid prepending configuration tag for existing commands 3003 3004 December 6th 2011 - B.Morgan (cmake-V09-05-00) 3005 - Modules/Geant4ToolchainBackwardCompatibility.cmake [BUGFIX #1265]: Added 3006 setting of expansion variable needed to prepend path with G4WORKDIR path. 3007 - Templates/geant4make-skeleton.in [BUGFIX #1265] : Added expansion variable for 3008 path setup to G4WORKDIR directory for executables. 3009 - Templates/geant4-env-skeleton.in [BUGFIX #1265] : Added needed '@' symbol 3010 to end of GEANT4_TC_SHELL_PROGRAM used as shbang. 3011 3012 3013 November 30th 2011 - B.Morgan (cmake-V09-04-41) 3014 - Modules/Geant4LibraryBuildOptions.cmake : Commented out 3015 GEANT4_BUILD_GRANULAR_LIBS option to restrict these builds for 9.5. Current 3016 granular build is not tested and broken in several places, so we want to 3017 prevent its use for now. 3018 3019 November 29th 2011 - B.Morgan (cmake-V09-04-40) 3020 - Modules/Geant4InterfaceOptions.cmake : Added ability for Mac to concurrently 3021 build mixed Qt and X11 OpenGL driver. Xt library adde to X11 libraries, but 3022 only on Mac when Xm is built. Linking Xt on Linux causes runtime errors. 3023 - Templates Geant4Config.cmake.in : Fixed bug that prevented OpenInventor 3024 library being appended to output when vis_all was set. 3025 3026 3027 November 24th 2011 - B.Morgan (cmake-V09-04-39) 3028 - Modules/Geant4InstallData.cmake : Updated data library versions 3029 G4NDL -> 4.0 3030 RadioactiveDecay - > 3.4 3031 Added GEANT4_ADD_FEATURE reporting for data and example code install. 3032 3033 3034 November 23rd 2011 - B.Morgan (cmake-V09-04-38) 3035 - Modules/Geant4LibraryBuildOptions.cmake : Marked GEANT4_ENABLE_TESTING and 3036 GEANT4_BUILD_EXAMPLES options as advanced because these are for developers and 3037 system testing only. 3038 - Templates/geant4-env-skeleton.in (NEWFILE) : New shell skeleton file for core 3039 environment setup of geant4, just PATH, (DY)LD_LIBRARY_PATH and data libraries 3040 if installed. 3041 - Templates/geant4-environment-skeleton.in : RENAMED -> geant4make-skeleton.in 3042 - Templates/geant4-environment-skeleton.in : Added expansion variable to handle 3043 G4WORKDIR setup. Added expansion variables for data library setup. 3044 Added expansion variable to provide a self location block. 3045 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Added a function to 3046 conditional set environment variables. Added setup of G4WORKDIR. 3047 Added setup of data library variables if they've been installed. 3048 Added self location capability so that scripts can find themselves and 3049 consequently locate library and include directories relative to the determined 3050 location. 3051 Moved installation of of backwared compatible toolchain files to a directory 3052 named 'geant4make' under the main data directory. This helps to partition the 3053 setup script and gmk files into their own, isolated location. 3054 Configure new 'geant4.(c)sh' setup script from geant4-env-skeleton.in file. 3055 - Modules/Geant4InstallData.cmake : Set name of list holding dataset information 3056 to GEANT4_DATASETS just to mark it as usable elsewhere. Added environment 3057 variable name to end of dataset information strings to help in setting them up 3058 in configuration of shell scripts. 3059 Marked GEANT4_INSTALL_EXAMPLES option as advanced. 3060 3061 3062 November 22nd 2011 - B.Morgan (cmake-V09-04-37) 3063 - Templates/Geant4Config.cmake : Added 'ui_all' and 'vis_all' components to 3064 allow simple selection of all available UI and Vis components. 3065 3066 3067 November 18th 2011 - P.Mato (cmake-V09-04-36) 3068 - Modules/Geant4CTest.cmake : Added some protection if GEANT4_DATA_DIR not defined 3069 3070 November 16th 2011 - B.Morgan (cmake-V09-04-35) 3071 - Templates/geant4_validate_sources.cmake.in : Added two VRML icc files 3072 to false positive list. These are in VRML's src/ directory for internal 3073 use only. 3074 3075 November 16th 2011 - G.Folger (cmake-V09-04-34) 3076 - Modules/Geant4InstallData.cmake: correct data file name 3077 3078 November 15th 2011 - G.Folger (cmake-V09-04-33) 3079 - Modules/Geant4InstallData.cmake: update data libraries version for 9.5 3080 3081 November 8th 2011 - B.Morgan (cmake-V09-04-32) 3082 - Templates/Geant4Config.cmake.in [BUGFIX #1196, #1261]: Added support for 3083 G4OpenInventor as a component, named 'vis_openinventor'. Prtected inclusion of 3084 Geant4LibraryDepends file by test on a variable Geant4_LIBDEPS_LOADED so that 3085 multiple calls to the config file from find_package are possible. This allows 3086 option selecting of the components. NB Full Inventor build requires tag 3087 openinventor-V09-04-02). 3088 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Added support for 3089 configuration of OpenInventor environment variables in 3090 geant4-environment-setup scripts. 3091 - Templates/geant4-environment-skeleton.in : Added support for OpenInventor 3092 environment variables needed by old Makefile toolchain. At present, OIVHOME is 3093 not set, as the Geant4 public interface should not need this. 3094 - Modules/Geant4ConfigureConfigScript.cmake : Added support for configuration 3095 of OpenInventor feature. 3096 - Templates/geant4-config.in : Added support for OpenInventor feature. 3097 - Modules/Geant4InterfaceOptions.cmake : Added support for OpenInventor, with 3098 new CMake option GEANT4_USE_INVENTOR to enable build. On Unix platforms, X11 3099 and Xm are also searched for as these are used in Geant4's Inventor module. 3100 - Modules/FindInventor.cmake (NEWFILE) : Find module for Inventor, adapted from 3101 post on CMake mailing list by Jan Peciva. Tested against Coin3d 3102 implementation. 3103 3104 3105 November 4th 2011 - B.Morgan 3106 - Modules/Geant4ConfigureConfigScript.cmake : Added setup of installed script 3107 to use self location functionality in geant4-config when installation is 3108 relocatable. 3109 - Templates/geant4-config.in : Added capability for script to self locate 3110 itself. The technique is to fully resolve any softlinks to the script file 3111 itself using readlink, but with workarounds because the '-f' option to 3112 readlink is not available on all platforms. No attempt is made to resolve 3113 any softlinks in the path elements or to replace occurrence of '.' or '..'. 3114 However, the algorithm has been tested in several softlinking situations 3115 and should cover everything but real corner cases... The result of the 3116 resolution is the diectory in which the script resides. This can be used 3117 later in the script as necessary. 3118 3119 3120 November 2nd 2011 - B.Morgan (cmake-V09-04-31) 3121 - Modules/Geant4InstallData.cmake : Bumped version of G4EMLOW library to be 3122 installed from 6.22 -> 6.23. 3123 3124 3125 November 2nd 2011 - B.Morgan (cmake-V09-04-30) 3126 - Modules/Geant4BuildModes.cmake : Reverted file to revision 51604 3127 (cmake-V04-04-28 tag) which removes the TestReleaseDebug mode. 3128 - Modules/Geant4MakeRules_cxx.cmake : Reverted file to revision 52696 3129 (cmake-V09-04-28 tag) which removes the TestReleaseDebug mode. This reverts 3130 TestRelease to having platform dependent flags, specifically there is no 3131 optimization on Apple. 3132 - Modules/geant4-config.in : Fixed typo error that used incorrect name for 3133 CMake supplied variable Geant4_VERSION, preventing correct expansion. 3134 - Modules/Geant4ConfigureConfigScript.cmake : Tidied up indenting to standard 3135 two space format. Added skeleton setup for making script relocatable in 3136 the Install Tree. 3137 3138 3139 October 11th 2011 - B.Morgan 3140 - Templates/Geant4Config.cmake.in [BUGFIX #1253] : Jean Jacquemier reported 3141 a problem when building applications using a pure static build of Geant4. 3142 This was traced to incorrect list syntax in Geant4Config.cmake, as detailed 3143 in the above Bug Report #1253. The fix is to remove the quotes around the 3144 list as these cause it to be represented as one single string. 3145 3146 3147 October 10th 2011 - B.Morgan (cmake-V09-04-29) 3148 - Modules/Geant4ValidateSources.cmake (NEWFILE) : Module to configure the 3149 geant4_validate_sources.cmake.in and create a custom 'validate_sources' 3150 target which runs the resulting configured script. 3151 - Templates/geant4_validate_sources.cmake.in (NEWFILE) : CMake script that 3152 locates all sources.cmake files in the Geant4 source tree, parses them to 3153 extract all listed sources/headers and compares that list with sources and 3154 headers on disk. Any mismatches whether files listed in sources.cmake and no 3155 longer on disk, or files on disk but not listed in sources.cmake, are 3156 reported. If any mismatches are found, the script will fail with FATAL_ERROR, 3157 though it will not do so until the whole tree has been scanned to ensure all 3158 mismatches are located. It ignores certain files that are known to cause 3159 mismatch detection but which are no longer part of the Geant4 CMake build. 3160 3161 3162 October 6th 2011 - B.Morgan (cmake-V09-04-28) 3163 - Modules/Geant4BuildModes.cmake : Added TestReleaseDebug mode to 3164 CMAKE_BUILD_TYPES and CMAKE_CONFIGURATION_TYPES. 3165 NB: Diaganosed problem reported by Pere, whereby added modes were not 3166 appearing in VS. This is likely because CMAKE_CONFIGURATION_TYPES is set 3167 *after* the project(...) call: http://www.itk.org/Bug/view.php?id=6788 3168 Will fix after new modes are confirmed. 3169 - Modules/Geant4MakeRules_cxx.cmake : Split TestRelease mode into two, 3170 TestRelease, which is optimized and has debugging symbols, and 3171 TestReleaseDebug, which has debug symbols only. Both still use 3172 G4DEBUG_VERBOSE and G4FPE_DEBUG definitions. 3173 3174 3175 October 4th 2011 - P. Mato (cmake-V09-04-27) 3176 - Modules/Geant4TestDriver.cmake: Fix to allow an empty command 3177 3178 October 4th 2011 - P. Mato (cmake-V09-04-26) 3179 - Modules/FindXercesC.cmake: Added xerces-c_3 as a possible name for libraries (for windows) 3180 3181 September 30th 2011 - P. Mato (cmake-V09-04-25) 3182 - Modules/Geant4MakeRules_cxx.cmake: Fixed debug flag to -Zi for Visual C++ 3183 3184 - Modules/Geant4CTest.cmake: Moved from tests/CMakeLists.txt the logic to 3185 construct the GEANT_TEST_ENVIRONMENT with data file locations to be useful 3186 for benchmarks tests. 3187 3188 September 29th 2011 - B. Morgan (cmake-V09-04-24) 3189 - Modules/Geant4OptionalComponents.cmake : Removed enabling of Fortran language 3190 when G3toG4 is enabled. Gunter Folger reported problems with obtaining correct 3191 Fortran setup, so we disable this since we don't actually compile the rztog4 3192 app at present. A change has also been made in the top level CMakeLists.txt 3193 so that the Make rules initialization for Fortran is no longer set up. 3194 3195 3196 September 16th 2011 - B. Morgan (cmake-V09-04-23) 3197 - Templates/Geant4Config.cmake.in : Addition of G4VIS_USE and G4UI_USE to list 3198 of definitions has been made conditional on the existence of the variables 3199 G4VIS_NONE and G4UI_NONE. If those variables are set, e.g. via -DG4UI_NONE, 3200 the corresponding compile definition will not be set. This gives 3201 requested behaviour, but as before this is a temporary hack. 3202 3203 3204 September 16th 2011 - B. Morgan (cmake-V09-04-22) 3205 - Templates/Geant4Config.cmake.in : Added G4VIS_USE and G4UI_USE to list 3206 of core compile definitions. This is seemingly needed to support test 3207 building, but should only be seen as a temporary fix. These variables 3208 should be set at the application level. 3209 3210 3211 September 15th 2011 - P. Mato (cmake-V09-04-21) 3212 - Templates/UseGeant4_internal.cmake: Fixed a bug affecting tests on Windows. 3213 3214 August 16th 2011 - P. Mato (cmake-V09-04-20) 3215 - Templates/UseGeant4_internal.cmake: Added support for tests on Windows with 3216 NMake and Visual Studio. 3217 3218 - Modules/Geant4TestDriver.cmake: Avoid the use of ':' as separator since is used 3219 already in the drive letters on Windows. 3220 3221 August 16th 2011 - P. Mato (cmake-V09-04-19) 3222 - Modules/FindROOT.cmake : Added function ROOT_GENERATE_DICTIONARY() to facilitate 3223 the generation of ROOT dictionaries 3224 3225 - Modules/Geant4CTest.cmake (NEWFILE): Place for the configutation of CTest. 3226 3227 - Modules/Geant4TestDriver.cmake: Added the pre- and post-commands for tests. This 3228 was neeed to preform some initial cleanup of post processing on some tests. 3229 3230 - Templates/UseGeant4_internal.cmake: Changed the function GEANT4_ADD_TEST() to 3231 make use of the pre- and post-commands. 3232 3233 August 16th 2011 - B.Morgan (cmake-V09-04-18) 3234 - Templates/UseGeant4.cmake : Fixed error is use of get_filename_component 3235 to locate internal use file. 3236 3237 3238 August 10th 2011 - B.Morgan (cmake-V09-04-17) 3239 - Modules/Geant4BuildProjectConfig.cmake : Added copy of UseGeant4_internal 3240 file to build tree, but do not install it. 3241 3242 - UseGeant4.cmake : Factored out internal only macros into UseGeant4_internal 3243 module. Added optional inclusion of that module, which will only happen in the 3244 build tree. 3245 3246 - UseGeant4_internal.cmake (NEWFILE) : Added to hold CMake code only needed 3247 by 'use' of Geant4 inside Geant4 itself, e.g. unit and validation tests. 3248 This is done to fix a bug reported offline by Alberto Ribon, where including 3249 UseGeant4.cmake fails due to an unfound custom CMake module. The functions 3250 like GEANT4_ADD_TEST use extra functionality which is located in custom CMake 3251 modules. Whilst these modules could be installed, this adds unneeded 3252 complexity to the use of Geant4 and may also clash with CMake itself. Also, 3253 the functions needing the modules are not intended for use by users, so are 3254 factored out into this build tree only module. 3255 3256 3257 August 3rd 2011 - B.Morgan (cmake-V09-04-16) 3258 - Modules/Geant4MakeRules_cxx.cmake, Modules/Geant4BuildModes.cmake : 3259 Moved setting of initial values for TestRelease and Maintainer mode compiler 3260 flags to make rules override file. Values are now set based on compiler and 3261 platform, as G4FPE_DEBUG option should only be used for GNU compiler, and 3262 with non-optimized code on Mac OS X (information from Gunter Folger). 3263 Geant4BuildModes uses initial values as input to cache value, so variables 3264 can be reset from the command line and within the cache interfaces if 3265 needed. 3266 3267 - Modules/Geant4BuildProjectConfig.cmake : Re-added WIN32 guard on export of 3268 the G4LIB_BUILD_DLL definition. 3269 3270 3271 July 29th 2011 - B.Morgan (cmake-V09-04-15) 3272 - Modules/Geant4InstallData.cmake : Corrected URL for use in downloading data 3273 to use direct URL. Original URL redirects, which early 2.8 iterations of 3274 CMake appear not to like. 3275 Use .tar.gz of RadioactiveDecay as this is available and cheaper to download. 3276 Added use of PREFIX in ExternalProject so that all EP directories are 3277 created under a single 'Externals' directory. This is simply to keep the 3278 build tree nicely organized. The data still appear in the data/ subdirectory 3279 of the build directory, so this should not affect usage by tests. 3280 3281 3282 July 29th 2011 - P. Mato 3283 - Modules/CMakeMacroParseArguments.cmake : updated to the version exiting in CMake 2.8.5 3284 3285 - Modules/Geant4MacroLibraryTargets.cmake, Modules/Geant4MacroDefineModule.cmake, 3286 Modules/Geant4MacroDefineModule.cmake : Adjusted to the new CMakeMacroParseArguments.cmake 3287 3288 - Templates/UseGeant4.cmake : Removed installs included in GEANT4_LIBRARY and 3289 GEANT4_EXECUTABLE macros and fixed comments. 3290 3291 3292 July 28th 2011 - B. Morgan (cmake-V09-04-14) 3293 - History : Added note on preferred format of entries. 3294 3295 - Modules/Geant4InstallData.cmake : Added guard on option and install of data so 3296 that this is only available on CMake >= 2.8 due to use of ExternalProject. 3297 (NB: Usage still broken, probably due to tar formats (CMake 2.8.1). 3298 3299 - Modules/UseGeant4.cmake : Forced all CXX flags to use those used to build 3300 Geant4 [BUGFIX #1227]. Neatified and commented internal functions for 3301 library/exe/test builds. Added WARNING message if GEANT4_ADD_TEST is used 3302 outside of the Geant4 project. Corrected(?) include of 3303 CMakeMacroParseArguments (MIGHT BREAK GEANT4_XXX FUNCTIONS IN UseGeant4). 3304 3305 - Modules/Geant4CPackBase.cmake : Added TBZ2 and ZIP types back into list of 3306 source package generators. Neatified the generation of the README file. 3307 Neatified and commented new component build commands. 3308 3309 - Modules/Geant4MacroLibraryTargets.cmake : Corrected setting of 3310 INSTALL_NAME_DIR for library targets [BUGFIX #1231]. 3311 3312 - Templates/geant4-config.in : Added G4analysis library to default list of 3313 libraries. 3314 3315 - Templates/Geant4Config.cmake.in : Added G4analysis library to Geant4_LIBRARIES 3316 variable. Always added for now rather than as an optional component. 3317 3318 3319 July 27th 2011 - P. Mato 3320 - Added the downloading and installation of Geant4 Data files if the option 3321 GEANT4_INSTALL_DATA is set. Modified Modules/Geant4InstallData.cmake 3322 - Initial version of CPack configuration for binaries. 3323 Modified Modules/Geant4CPackBase.cmake and added Templates/CMakeCPackOptions.cmake.in, 3324 Templates/g4_small.gif 3325 - Initial set of files needed for testing with CTest. 3326 Added Modules/FindROOT.cmake, Modules/Geant, Geant4TestDriver.cmake 3327 Added options GEANT4_ENABLE_TESTING, GEANT4_BUILD_EXAMPLES in 3328 Modules/Geant4LibraryBuildOptions.cmake 3329 Inherit CMAKE_MODULE_PATH in tests. Modified Modules/Geant4BuildProjectConfig.cmake, 3330 Templates/Geant4Config.cmake.in 3331 Added convenient macros to Templates/UseGeant4.cmake 3332 3333 3334 July 5th 2011 - G.Folger (cmake-V09-04-13) 3335 - Modules/{Geant4LibraryBuildOptions,Geant4BuildProjectConfig}.cmake: 3336 protect setting of G4LIB_BUILD_DLL to happen on WIN32 only. 3337 (Affected examples/.../olap, which was built without this flag, 3338 and failed to link) 3339 3340 July 5th 2011 - B. Morgan (cmake-V09-04-12) 3341 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Added support for 3342 setting GDML/Xerces variables as needed. 3343 - Templates/geant4-environment-skeleton.in : Added unsetting/setting of 3344 G4LIB_USE_GDML and XERCESCROOT. These are needed to help the automated builds 3345 of examples in the old toolchain. XERCESCROOT uses the value of 3346 XERCESC_INCLUDE_DIR with one directory level stripped off the end. This 3347 is not 100% foolproof if an odd XercesC install is used, but should cover 3348 the vast majority of cases. 3349 3350 June 29th 2011 - B.Morgan (cmake-V09-04-11) (In geant4-09-04-ref-06) 3351 - INSTALL.g4cmake : Added warning about ensuring consistent compiler flag 3352 sets between build of Geant4 and build of user application. 3353 - Templates/UseGeant4.cmake : Added setting of all CMAKE_CXX_FLAGS_XXXX 3354 variables with appending of Geant4 recommended flags, and filter out 3355 any duplicate flags. Adding warning in documentation about this. 3356 3357 June 23rd 2011 - B.Morgan (cmake-V09-04-10) 3358 - INSTALL.g4cmake : Added note on possible issues when building Windows 3359 applications using Windows 7 + VS2010 Express. 3360 - Templates/UseGeant4.cmake : Fixed idiotic typo error in globbing expressions 3361 inside file(GLOB_RECURSE). 3362 3363 June 23rd 2011 - B.Morgan (cmake-V09-04-09) 3364 - INSTALL.g4cmake : Added in missing data library package names. Added 3365 note in Known Issues on Mac warnings from ld due to duplicate dylibs 3366 (the overlinking issue as it appears on Mac). 3367 - Modules/Geant4MacroLibraryTargets.cmake : Added setting of INSTALL_NAME_DIR 3368 target property to shared libraries (only affects Mac OS X) to final 3369 install location of libraries. This prevents "image not found" errors when 3370 building an app against Geant4 (you don't need DYLD_LIBRARY_PATH set). 3371 CMake *should* build the dylibs with the headerpad_max_install_names flag 3372 so that bundling the Geant4 libraries into an app should work (you can 3373 repoint the app to use the bundled libraries). 3374 N.B. THIS IS LIKELY TO AFFECT USAGE OF CPACK LATER ON! 3375 - Templates/UseGeant4.cmake : Fixed error in use of file(GLOB_RECURSE) so 3376 that globas are done only under the current source directory. 3377 3378 June 22nd 2011 - B.Morgan (cmake-V09-04-08) 3379 - INSTALL.g4cmake : Finalized with description of using the three toolchains 3380 to build Geant4 applications. 3381 - Modules/Geant4ConfigureConfigScript.cmake : Updated with patch from Pere 3382 Mato Vila to export use of internal CLHEP to script when used. Also upgraded 3383 to export details on Motif. Script is now generated for both the build and 3384 install trees. On CMake >= 2.8, the build tree script is made executable. 3385 - Templates/geant4-config : Updated with patch from Pere Mato Vila to use 3386 internal CLHEP, plus upgrades to provide easier setting of third party paths, 3387 compile defintions and libraries. Added motif feature, and changed main 3388 prefix, lib and include directory variable replacement to that the script 3389 can be used form the build directory as well. 3390 - INSTALL.g4cmake : Updated with new guides on building user applications 3391 using CMake and GNU make. 3392 - Templates/Geant4Config.cmake.in : First full implementation with most 3393 features in place. Provides version and component checking. Setting of 3394 components features quite a bit of boilerplate code and a reasonable degree 3395 of in module processing. TODO : Investigate clean up and better 3396 modularization. 3397 - Templates/UseGeant4.cmake : NEW FILE : Provides a simple CMake module which 3398 users can include to setup the build of a basic Geant4 application without 3399 needing to know too many details. Sets definitions, include directories and 3400 compiler flags. Provides a simple macro to collate sources in an old style 3401 Geant4 Example, with documetation on usage in the file. 3402 - Modules/Geant4BuildProjectConfig.cmake : Set needed variables for export to 3403 Geant4Config.cmake script. 3404 - Modules/Geant4MakeRules_cxx.cmake : Added -DXPNET and 3405 -D_CRT_SECURE_NO_DEPRECATE to MSVC flags to make these exactly the same as 3406 used on old makefile system. 3407 - Modules/Geant4LibraryBuildOptions.cmake : Added definition G4LIB_BUILD_DLL 3408 needed to define import/export correctly. Done globally. 3409 - INSTALL.g4cmake : Fleshed out further. 3410 - Templates/Geant4Config.cmake.in : Fleshed out documentation with extra notes 3411 to help development. 3412 - Modules/Geant4BuildProjectConfig.cmake : Added extra comments 3413 3414 June 21st 2011 - B.Morgan (cmake-V09-04-07) 3415 - Modules/Geant4BuildProjectConfig.cmake : Added section for collecting 3416 variables to be exported to the configuration files. Rationalized config of 3417 Build and Install Trees so that these sections have the same structure. 3418 - Templates/Geant4Config.cmake.in : Updates with documentation, debugging 3419 option and some improved setting of definitions. Still a skeleton though. 3420 - Modules/Geant4InterfaceOptions.cmake : Removed reset of OpenGL variables on 3421 Win32 because this seems to prevent proper refind of the variables. Since we 3422 expect to be able to use Qt and OpenGL concurrently on Win32. This *should* 3423 be o.k. 3424 - INSTALL.g4cmake : Added extra information on using Visual Studio. 3425 - Modules/Geant4ToolChainBackwardCompatibility.cmake : Removed setting of 3426 G4ORDPARAMTABLE as this is no longer needed. 3427 - Templates/geant4-environment-skeleton.in : Removed setting of G4ORDPARAMTABLE. 3428 3429 3430 June 20th 2011 - B.Morgan (cmake-V09-04-06) 3431 - Modules/Geant4InterfaceOptions.cmake : Corrected typographic error in option 3432 test for enabling Qt on Non-Apple platforms. 3433 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Added Geant4 to 3434 end of G4INCLUDE path for install tree in line with changes to 3435 Geant4InstallDirs. 3436 - Modules/Geant4MacroLibraryTargets.cmake : Added Geant4 to end of installation 3437 destination for headers in line with changes to Geant4InstalDirs. 3438 - Modules/Geant4InstallDirs.cmake : Removed Geant4 from INCLUDEDIR to better 3439 reflect standard practice. The Geant4 tag is now added to the destination in 3440 the install commands for headers. 3441 - Modules/Geant4OptionalComponents.cmake : Automatically use GDML if user 3442 supplies XERCESC_ROOT_DIR argument. 3443 - Modules/Geant4InstallData.cmake : NEW FILE : Refactored installation of 3444 examples from top level CMakeLists.txt into this file. Also provided stub 3445 option for installation of data libraries. We don't implement this yet 3446 because it appears to require some CMake 2.8 specific functionality and 3447 I haven't yet worked out how to reproduce this in 2.6.4. 3448 - INSTALL.g4cmake : Rewritten for updated CMake system with full documentation 3449 of variables. Provided sections for describing use of the three toolchains 3450 for building user applications, but not fully covered yet. 3451 3452 June 20th 2011 - B.Morgan (cmake-V09-04-05) 3453 - Modules/Geant4LibraryOptions.cmake : On Unix platforms, set output directory 3454 for libraries to end in the 'SYSTEM-COMPILER' tag expected by the old 3455 toolchain. This allows the build tree to be used with the old toolchain. 3456 #BUGFIX - 1200 (PARTIAL) 3457 - Modules/Geant4OptionalComponents.cmake : Now ensures that the static versions 3458 of the internal G4clhep and G4expat libraries are used if geant4 is built 3459 completely static, otherwise dynamic libs will be used. This is not perfect 3460 but ensures builds will not fail. 3461 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Completely rewritten 3462 to use new geant4-environment-skeleton.in template. Provides full setup 3463 of environment from build and install trees, permitting developers to 3464 build applications directly using the build tree. Also adds all currently 3465 supported visualization/ui modules. Adds setting of the G4ORDPARAMTABLE 3466 variable to support this new resource file. 3467 - Templates/geant4-environment-skeleton.in : NEW FILE : Universal shell script 3468 skeleton for generating backward compatible environment variable setup. 3469 # BUGFIX - 1202 3470 3471 June 17th 2011 - B.Morgan (cmake-V09-04-04) 3472 - Modules/Geant4ConfigureConfigScript.cmake 3473 Modules/Geant4ToolchainBackwardCompatibility.cmake : Updated to use new 3474 GEANT4_USE_RAYTRACER_X11 variable. 3475 - Modules/Geant4InterfaceOptions.cmake : Corrected type in resetting of OpenGL 3476 variables. 3477 Changed GEANT4_USE_RAYTRACERX -> GEANT4_USE_RAYTRACER_X11 to be in line with 3478 what's done for other drivers. 3479 3480 June 17th 2011 - B.Morgan (cmake-V09-04-03) 3481 - Tagging : internal because this requires testing. 3482 Full support also requires tags: 3483 interfaces-V09-04-03 3484 opengl-V09-04-05 3485 3486 - Modules/Geant4InterfaceOptions.cmake : Rewritten to enable correct switch 3487 between Qt and X11 based GUIs on Mac, with consistent changes in OpenGL 3488 location. Added in find_package for Motif. Added full option and find_package 3489 for locating OpenGL on Win32. 3490 - Modules/Geant4OptionalComponents.cmake : Imporved documentation of external 3491 CLHEP option. GEANT4_USE_SYSTEM_CLHEP made a standard option as it will 3492 likely be used a lot to begin with. 3493 3494 June 16th 2011 - B.Morgan (cmake-V09-04-02) 3495 - Modules/Geant4LibraryBuildOptions.cmake : Default to building shared libraries 3496 on all platforms, but warn about possible link errors on MSVC when building 3497 both shared and static libs. Mark both library build options as advanced. 3498 Add warning about building granular libs as only for developers. 3499 - Modules/Geant4InterfaceOptions.cmake : Reverted to version from 3500 cmake-V09-04-01 because of poor logic. 3501 - Modules/FindCLHEP.cmake : UPGRADE WITH INTERFACE BREAK : Much simplified 3502 search structure which no longer relies on clhep-config. The user can supply 3503 a CLHEP_ROOT_DIR argument to point CMake to a specific installation. On UNIX 3504 clhep-config will be searched for under this root dir. CLHEP library and 3505 include path will be found under this root dir, or in the system paths. 3506 Version checking is also provided which follows the standard logic of 3507 CMake modules. 3508 - Modules/Geant4OptionalComponents.cmake : Option to use system CLHEP is 3509 now automatically set to ON if the user has supplied a CLHEP_ROOT_DIR 3510 argument. This simplifies the interface. 3511 3512 June 15th 2011 - B.Morgan 3513 - Modules/Geant4InterfaceOptions.cmake : Added in option for enabling Xm (Motif) 3514 support with find_package for Motif headers/libraries. 3515 Use of Qt and X11 OpenGL have been made mutually exclusive on Mac OS X to 3516 prevent clashes between Framework OpenGL and X11 OpenGL. 3517 Added new stub option to build OpenInventor driver 3518 TODO: Add FindInventor module, check build of OpenInventor category. 3519 Added new stub option to build Win32 OpenGL driver. 3520 TODO: Add Win32 build to OpenGL category. 3521 - Templates/geant4-env.sh.in 3522 Templates/geant4-env.csh.in : Removed unsetting of data library environment 3523 variables. 3524 TODO : Add setting of these as an optional codeblock if data was installed 3525 as part of the Geant4 build. 3526 3527 June 15th 2011 - B.Morgan (cmake-V09-04-01) 3528 - Modules/Geant4InterfaceOptions.cmake : Set QT_USE_IMPORTED_TARGETS on WIN32 3529 to stop errors when setting LINK_INTERFACE_LIBRARIES to a value containing 3530 the 'optimized' etc library link keywords. By default, FindQt4 will use 3531 these keywords... 3532 KNOWNISSUE: Using imported targets means that the Geant4Config.cmake file 3533 must regenerate these targets otherwise the link will fail. 3534 3535 June 14th 2011 - B.Morgan 3536 - Modules/Geant4MacroLibraryTargets.cmake : Added build of DLL targets on 3537 WIN32 platforms. Export definition files are generated by genwindef from 3538 an archive library. If Geant4 is not built with archive libraries, a 3539 dummy, non-installed archive will be built an used. 3540 The structure largely follows that of GaudiPolicy.cmake from Pere Mato Vila. 3541 - Modules/Geant4LibraryBuildOptions.cmake : Added build of genwindef app 3542 on WIN32 platforms as an internal app, as per guidelines from 3543 GaudiPolicy.cmake from Pere Mato Vila. 3544 - Modules/genwindef/genwindef.cpp 3545 Modules/genwindef/LibSymbolInfo.hpp 3546 Modules/genwindef/LibSymbolInfo.cpp: 3547 NEW FILES to support generation of DLL .def files on WIN32 platform. 3548 Courtesy of Pere Mato Vila. 3549 - Modules/Geant4Wrapping.cmake : NEW FILE : Refactoring of options for 3550 Python wrapping to help in modularization. Python wrapping is not yet 3551 implemented in the CMake build, but this is where we'll set it up. 3552 - Modules/Geant4OptionalComponents.cmake : NEW FILE : Refactoring of options 3553 for CLHEP, Expat, ZLIB, GDML, G3TOG4 from top level CMakeLists.txt to 3554 help with modularization. 3555 - Modules/Geant4LibraryBuildOptions.cmake : NEW FILE : Refactoring of library 3556 build options from top level CMakeLists.txt, including global define flags, 3557 global vs granular library format and static vs shared builds. 3558 - Modules/Geant4MacroLibraryTargets.cmake : Ensure that when static targets 3559 are built, they are linked to Geant4 static targets. 3560 TODO: Do we want to make this the case also for external libraries (very 3561 difficult?)? 3562 KNOWNISSUE: G4global will always be linked to shared G4clhep if latter is 3563 built as will G4processes to shared G4expat. Not critical (well, shouldn't 3564 affect running or applications). 3565 3566 June 13th 2011 - B.Morgan 3567 - Modules/Geant4CPackBase.cmake : Added to list of files to be excluded for 3568 source package so that .svn and top level tests directories are not added. 3569 Fixed source package generator so that .tar.gz, .tar.bz2 and .zip packages 3570 are created. 3571 Tidied up structure so that future changes are easier to add in a clear 3572 way. 3573 - Modules/Geant4InterfaceOptions.cmake : Removed accidently commited change 3574 of finding VTK as a test of find_package. 3575 3576 June 10th 2011 - B.Morgan 3577 - Templates/geant4-config.in : Adapted to use new install directories as 3578 provided by Geant4InstallDirs as template parameters. 3579 - Modules/Geant4ConfigureConfigScript.cmake : Added support for new 3580 install directories defined in Geant4InstallDirs 3581 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Added support for 3582 new install directories defined in Geant4InstallDirs. 3583 - Modules/Geant4MacroLibraryTargets.cmake : Added support for install of 3584 libraries and headers to new install paths defined by Geant4InstallDirs. 3585 Added EXPORT to library targets so that they can be used by Geant4Config 3586 scripts. 3587 Added proper COMPONENT argument to install commands to correctly partition 3588 targets needed for Development and for Runtime. 3589 Appended each library target and include paths to global 3590 properties so these can be exported to Geant4Config file easily for use 3591 from the build tree. 3592 - Templates/Geant4Config.cmake.in : NEW FILE : Template versioning file 3593 for use by Geant4Config.cmake. 3594 - Templates/Geant4Config.cmake.in : NEW FILE : Template files for CMake 3595 config script for Geant4. VERY PRELIMINARY. 3596 - Modules/Geant4BuildProjectConfig.in : NEW FILE : Builds CMake Config scripts 3597 to allow external projects to use Geant4 from a build or install tree. 3598 - Modules/Geant4InstallDirs.cmake : NEW FILE : Adds a standard set of 3599 installation location based on the GNU set. Adapted from GNUInstallDirs 3600 provided with CMake 2.8, but cut down to only use directories needed by 3601 Geant4. 3602 - Modules/CMakeUninstallTarget.cmake : NEW FILE : Adds an 'uninstall' target 3603 to remove all items installed via the install command. 3604 - History: Corrected a couple of entries with incorrect year in the date. 3605 - Modules/Geant4InterfaceOptions.cmake: Set GEANT4_ADD_FEATURE for all 3606 UI/Vis options so that enabled options are reported at the end of 3607 configuration. 3608 3609 3610 May 25th 2011 - B.Morgan 3611 - Modules/Geant4InterfaceOptions.cmake : Added new GEANT4_USE_OPENGL_X11 3612 option to enable build of OpenGL library X11 component. If enabled, will 3613 search for X11 libraries (plus Xmu, which FindX11 doesn't do) and OpenGL. 3614 Also performed some cleanup of the Qt section. 3615 - Templates/geant4-env.sh.in : Added variable setting for OpenGL X11 3616 - Templates/geant4-env.csh.in : Added variable setting for OpenGL X11 3617 - Templates/geant4-config.in : Added needed reporting and flags setting for 3618 OpenGL X11 support. 3619 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Added setting of 3620 variable needed to export the existence of OpenGL X11 in the geant4-env 3621 scripts. 3622 - Modules/Geant4ConfigureConfigScript.cmake : Added setting of variables 3623 needed to export OpenGL X11 existence and X11 flags to geant4-config script. 3624 3625 3626 May 24th 2011 - B.Morgan (cmake-V09-04-00) 3627 - *** All History for the CMake category will now be in this file *** 3628 - Templates/geant4-env.sh.in : Added variable setting for RayTracerX 3629 - Templates/geant4-env.csh.in : Added variable setting for RayTracerX 3630 - Templates/geant4-config.in : Added needed reporting and flags setting for 3631 RayTracerX support. 3632 - Modules/Geant4ToolchainBackwardCompatibility.cmake : Added setting of 3633 variable needed to export the existence of RayTracerX in the geant4-env 3634 scripts. 3635 - Modules/Geant4ConfigureConfigScript.cmake : Added setting of variables 3636 needed to export RayTracerX existence and X11 flags to geant4-config script. 3637 3638 3639 December 3rd 2010 - B. Morgan (cmake-V09-03-01) 3640 - Added generation of geant4-config script. 3641 3642 October 29th 2010 - B. Morgan 3643 - Install.g4cmake: Added as installation guide for using CMake. 3644 3645 October 1st, 2010 - B.Morgan (cmake-V09-03-00) 3646 - Created. First Alpha version of CMake build system.