|Message: Re: How can we use root in Geant4.9.5 with cmake on Windows7 or ubuntu||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
On Tue, 22 May 2012 17:16:07 GMT, Fada Guan wrote: > It works for linux, but it does not work for windows because root-config > on windows is not an executable file, which is used in FindRoot.cmake. > Could you also please provide an example to demonstrate how to integrate > root in geant4?
> I also met another question, which is how to let cmake know the > environment variables settings. > > For example, I set an environment G4ANALYSIS_USE_ROOT = 1 in .bashrc, > and I defined below lines in my source files. > > #ifdef G4UI_USE > #include "G4UIExecutive.hh" > #endif > > #ifdef G4VIS_USE > #include "G4VisExecutive.hh" > #endif > > #ifdef G4ANALYSIS_USE_ROOT > #include "TROOT.h" > #include "TH1D.h" > #include "TCanvas.h" > #endif > > For G4UI_USE and G4VIS_USE, it's OK (I guess cmake knows they have been > set). But for G4ANALYSIS_USE_ROOT, no effect at all. I tried to set it > in cmakelists.txt > > set(G4ANALYSIS_USE_ROOT 1) > > unfortunately, this setting did not take effect for cmake. > > The funny thing is if I cancel the setting of this variable, and changed > the line to #ifndef G4ANALYSIS_USE_ROOT, yes, it's OK and cmake knows > this variable has not been set. > > Could you provide more guidance?
CMake doesn't, as such, use the environment for configuration. It can read the environment (see the CMake documentation), but a better solution for your case would be CMake code along the lines of.
# This gives you a comand line/ccmake/GUI option to switch ROOT usage on/off option(MYAPP_WITH_ROOT "Build MyApp with ROOT support" OFF) # If we want ROOT support, find it, and add a compile definition if(MYAPP_WITH_ROOT) # Find ROOT, failing if we don't locate it (the REQUIRED flag) find_package(ROOT REQUIRED) # If we found ROOT, add a compile definition (i.e. -DG4ANALYSIS_USE_ROOT # - this will enable compilation the lines between the #ifdef/#endif if(ROOT_FOUND) add_definitions(-DG4ANALYSIS_USE_ROOT) endif() endif()
You'll still need to add in
Hope that helps
|Inline Depth:||Outline Depth:||Add message:|