Problem 1352 - Request "simple" interface for in-situ single-architecture build/install
Summary: Request "simple" interface for in-situ single-architecture build/install
Status: CLOSED FIXED
Alias: None
Product: Geant4
Classification: Unclassified
Component: cmake (show other problems)
Version: other
Hardware: All All
: P5 minor
Assignee: Ben Morgan
URL:
Depends on: 1356
Blocks:
  Show dependency treegraph
 
Reported: 2012-09-14 10:17 CEST by Michael Kelsey
Modified: 2018-05-08 14:41 CEST (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this problem.
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.