1. 27 May, 2020 2 commits
  2. 26 May, 2020 10 commits
  3. 05 May, 2020 1 commit
  4. 04 May, 2020 4 commits
  5. 29 Apr, 2020 3 commits
  6. 24 Apr, 2020 1 commit
  7. 14 Apr, 2020 1 commit
    • Benjamin Morgan's avatar
      Always analyse BACKEND as case insensitive · 36c93ff8
      Benjamin Morgan authored
      For backward compatibility, allow BACKEND argument to be case insensitive.
      Internally convert value to mixed-case required by call to find VecCore.
      Make find of VecCore QUIET to avoid warnings about no FindVecCore module
      or VecCoreConfig.
      36c93ff8
  8. 06 Apr, 2020 1 commit
    • Benjamin Morgan's avatar
      Rationalize CMake core and optional settings · 431a2799
      Benjamin Morgan authored and Gabriele Cosmo's avatar Gabriele Cosmo committed
      Organize setup of configuration/build settings related to a CMake
      option as close to the definition of that option as possible.
      When the option requires later setup, such as adding code to the build,
      group setup for that option in the relevant section.
      431a2799
  9. 10 Mar, 2020 1 commit
    • Benjamin Morgan's avatar
      Use GNUInstallDirs to define install locations · b8dc86c4
      Benjamin Morgan authored and Gabriele Cosmo's avatar Gabriele Cosmo committed
      Replace custom install location variables with standard and FHS
      compilant set provided by CMake's builtin GNUInstallDirs module.
      
      Provide a basic set of CMake settings to check for absolute install
      locations and to reduce verbosity of install messages when files
      have not changed.
      
      Replace all occurences (except Jenkins and RecordCmdLine.cmake) of
      CMAKE_{SOURCE,BINARY}_DIR variables with PROJECT_{SOURCE,BINARY}_DIR.
      The PROJECT versions are more robust under the use case that VecGeom
      is imported/built as a submodule of a downstream project. Jenkins
      scripts are left as-is as they are project specific. RecordCmdLine.cmake
      is unchanged as it must run before project() is called and thus the
      PROJECT variables do not exist.
      
      RecordCmdLine is called before Project
      b8dc86c4
  10. 05 Mar, 2020 2 commits
    • Benjamin Morgan's avatar
      Fix missing install of generated Config.h file · 6f85ea29
      Benjamin Morgan authored and Gabriele Cosmo's avatar Gabriele Cosmo committed
      6f85ea29
    • Benjamin Morgan's avatar
      Generate header containing configured preprocessor symbols · 898ba0f1
      Benjamin Morgan authored and Gabriele Cosmo's avatar Gabriele Cosmo committed
      VecGeom enables/disables features in its API and ABI via preprocessor
      conditionals, e.g. "#ifdef VECGEOM_SCALAR". The definition of these
      symbols is done by appending -D flags to a CMake variable, and then to
      CMAKE_CXX_FLAGS. Additionally, this VECGEOM_DEFINITIONS variable is
      exported to VecGeomConfig.cmake, and applied globally to any including
      project with add_definitions.
      
      This is suboptimal as the build time flags fix the API and ABI of the
      compiled library, requiring any client to use exactly the same set of -D
      flags. Whilst VecGeomConfig uses add_definitions, client projects are
      at liberty to change the build settings, and clients may not use CMake at
      all.
      
      Provide a Config.h header, configured at CMake time with #define/undef
      directives for VecGeom's symbols as configured by the client. For initial
      clarity and checking, retain -D flag setting and do not #include generated header
      nor install it.
      898ba0f1
  11. 28 Feb, 2020 1 commit
  12. 24 Feb, 2020 4 commits
  13. 20 Feb, 2020 1 commit
  14. 18 Feb, 2020 1 commit
    • Benjamin Morgan's avatar
      Remove internal build of XercesC · e40cec53
      Benjamin Morgan authored and Gabriele Cosmo's avatar Gabriele Cosmo committed
      As GDML is an optional component and Xerces is a common and easy
      to build external, remove ability to build it as an external.
      
      Make find of external Xerces required. Link vgdml to imported target
      supplied by CMake's FindXerces module.
      
      Remove un-needed GLOBing of sources as only have a few sources, so clearer
      to list explicitly.
      
      At present, there is no export of the vgdml target, as neither are the
      core VecGeom targets.
      e40cec53
  15. 17 Feb, 2020 1 commit
  16. 29 Jan, 2020 6 commits