Problem 1352

Summary: Request "simple" interface for in-situ single-architecture build/install
Product: Geant4 Reporter: Michael Kelsey <kelsey>
Component: cmakeAssignee: Ben Morgan <Ben.Morgan>
Status: CLOSED FIXED    
Severity: minor    
Priority: P5    
Version: other   
Hardware: All   
OS: All   
Problem Depends on: 1356    
Problem Blocks:    

Description Michael Kelsey 2012-09-14 10:17:29 CEST
For individual end users on personal machines (the vast majority of the "installer" community), the CMake separation of source-tree, build area, and install area is more complex than GEANT4 has traditionally been.  Such users are doing a single build from the tar-ball, with only the G4 version being the level of replication.

Would it be possible to provide a simple, top-level CMake option to do an in-situ build?  That is, all three directories are set identically to the directory where the tar-ball was unpacked.

This option (or the source == build state) should be protected against developers, so that new files created by the build are not liable for commission back into SVN.
Comment 1 Ben Morgan 2012-09-14 11:58:23 CEST
Can probably be handled by check for .svn directory alongside CMakeLists.txt. Possible care needed to handle svn 1.7 where .svn only present in one place (though should always be next to CMakeLists.txt)
Comment 2 Ben Morgan 2012-11-22 16:21:44 CET
Postponing this until first patch of 9.6, as time has run out for testing this fully against all use cases (especially the changes wrought by SVN 1.7) and adding documentation for the 9.6.0 release (sincere apologies for this). I've also marked this as depending on Bug #1356, as the first step will be to improve the build directory so that build products are output into a structure replicating the final install locations - this is important to make an in-source build helpful to use.
Comment 3 Ben Morgan 2014-05-12 18:14:34 CEST
Marking as LATER due to other higher priority issues.
Comment 4 Ben Morgan 2018-05-08 14:41:32 CEST
Resolved since Geant4 10.3, all libs output to BuildProducts dir in build location. Fully usable by CMake/GNUMake clients by pointing them to the Geant4Config/geant4make scripts in the main build directory.