Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/cmake/Modules/FindStatTest.cmake

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /cmake/Modules/FindStatTest.cmake (Version 11.3.0) and /cmake/Modules/FindStatTest.cmake (Version 10.5)


  1 # Copied from Geant4 installation, need patch       1 # Copied from Geant4 installation, need patch
  2 # - Find StatTest                                   2 # - Find StatTest
  3 # This module tries to find the StatTest appli      3 # This module tries to find the StatTest application
  4 # Once done this will define                        4 # Once done this will define
  5 #                                              <<   5 # 
  6 # STATTEST_FOUND    - Application found             6 # STATTEST_FOUND    - Application found
  7 # STATTEST_APP      - Application                   7 # STATTEST_APP      - Application
  8 #   STATTEST_CMD      - Command line to run th      8 #   STATTEST_CMD      - Command line to run the application
  9 #   STATTEST_ADD_TEST - Helper function to def      9 #   STATTEST_ADD_TEST - Helper function to define a ctest using
 10 #                     StatTest (Only if we are     10 #                     StatTest (Only if we are using for G4 testing)
 11 #                                                  11 #
 12 # Variables used by this module, which can cha <<  12 # Variables used by this module, which can change the default behaviour 
 13 # and need to be set before calling find_packa     13 # and need to be set before calling find_package
 14 #                                                  14 #
 15 # STATTEST_ROOT_DIR Root directory to StatTest     15 # STATTEST_ROOT_DIR Root directory to StatTest package
 16 #                                                  16 #
 17                                                    17 
 18 if(NOT GEANT4_ENABLE_TESTING)                      18 if(NOT GEANT4_ENABLE_TESTING)
 19     #No meaning for this if not testing            19     #No meaning for this if not testing
 20     SET(STATTEST_FOUND FALSE)                      20     SET(STATTEST_FOUND FALSE)
 21     return()                                       21     return()
 22 endif()                                            22 endif()
 23                                                    23 
 24 #Search application                                24 #Search application
 25 #Note that the second suggested path is G4 spe <<  25 #Note that the second suggested path is G4 specific... 
 26 find_path(STATTEST_APP_DIR                         26 find_path(STATTEST_APP_DIR
 27     NAMES StatTestVersion.py                       27     NAMES StatTestVersion.py
 28     PATHS ${STATTEST_ROOT_DIR} ${PROJECT_SOURC <<  28     PATHS ${STATTEST_ROOT_DIR} ${CMAKE_SOURCE_DIR}/verification/StatTest
 29     NO_DEFAULT_PATH                                29     NO_DEFAULT_PATH
 30     )                                              30     )
 31                                                    31 
 32 #If we didn't find it there, fall back to some     32 #If we didn't find it there, fall back to some standard search paths
 33 find_path(STATTEST_APP_DIR NAMES StatTestVersi     33 find_path(STATTEST_APP_DIR NAMES StatTestVersion.py)
 34                                                    34 
 35 ####                                               35 ####
 36 #### Run-time dependencies...                      36 #### Run-time dependencies...
 37 ####                                               37 ####
 38 # - Check if ROOT is available                     38 # - Check if ROOT is available
 39 find_package(ROOT QUIET)                           39 find_package(ROOT QUIET)
 40 if(NOT ROOT_FOUND)                                 40 if(NOT ROOT_FOUND)
 41   MESSAGE(STATUS "StatTest: ROOT package not f     41   MESSAGE(STATUS "StatTest: ROOT package not found --> StatTest package disabled")
 42   set(STATTEST_FOUND FALSE)                        42   set(STATTEST_FOUND FALSE)
 43   set(_root_isok FALSE)                            43   set(_root_isok FALSE)
 44 else()                                             44 else()
 45   set(_root_isok TRUE)                             45   set(_root_isok TRUE)
 46   # - Check if python interpreter is correct v <<  46   # - Check if python interpreter is correct version 
 47   # (the one compatible with root)                 47   # (the one compatible with root)
 48   find_package(Python ${ROOT_PYTHONVER} QUIET  <<  48   find_package(PythonInterp ${ROOT_PYTHONVER} QUIET)
 49   if(NOT Python_Interpreter_FOUND)             <<  49   if(NOT PYTHONINTERP_FOUND)
 50      MESSAGE(STATUS "StatTest: Python interpre     50      MESSAGE(STATUS "StatTest: Python interpreter of version ${ROOT_PYTHONVER} not found --> StatTest package disabled")
 51      set(STATTEST_FOUND FALSE)                     51      set(STATTEST_FOUND FALSE)
 52      set(_python_isok FALSE)                       52      set(_python_isok FALSE)
 53   else()                                           53   else()
 54      set(STATTEST_FOUND TRUE)                      54      set(STATTEST_FOUND TRUE)
 55      set(_python_isok TRUE)                        55      set(_python_isok TRUE)
 56   endif()                                          56   endif()
 57 endif()                                            57 endif()
 58                                                    58 
 59 include(FindPackageHandleStandardArgs)             59 include(FindPackageHandleStandardArgs)
 60 find_package_handle_standard_args(                 60 find_package_handle_standard_args(
 61     StatTest                                       61     StatTest
 62     DEFAULT_MSG                                    62     DEFAULT_MSG
 63     STATTEST_APP_DIR                               63     STATTEST_APP_DIR
 64     _root_isok                                     64     _root_isok
 65     _python_isok                                   65     _python_isok
 66   )                                                66   )
 67                                                    67 
 68                                                    68 
 69 if(STATTEST_FOUND)                                 69 if(STATTEST_FOUND)
 70   set(STATTEST_APP ${STATTEST_APP_DIR}/runtest     70   set(STATTEST_APP ${STATTEST_APP_DIR}/runtests.py)
 71   set(STATTEST_CMD ${PYTHON_EXECUTABLE} ${STAT     71   set(STATTEST_CMD ${PYTHON_EXECUTABLE} ${STATTEST_APP})
 72                                                    72 
 73   # Let's create a function that helps in buil <<  73   # Let's create a function that helps in building tests for 
 74   # regression testing                             74   # regression testing
 75   # function STATTEST_ADD_TEST(<name>          <<  75   # function STATTEST_ADD_TEST(<name> 
 76   #                            G4TEST testname     76   #                            G4TEST testname
 77   #                            CONFIG conffile     77   #                            CONFIG conffile
 78   #                            INPUT inputfile     78   #                            INPUT inputfile
 79   #              [DEBUG]                           79   #              [DEBUG]
 80   #          [TEXT]  #Input is text file inste     80   #          [TEXT]  #Input is text file instead of root
 81   #                            [REFERENCE refe     81   #                            [REFERENCE reference]
 82   #                            [LABELS label1      82   #                            [LABELS label1 label2 ...]
 83   #                            [IMG filename])     83   #                            [IMG filename])
 84   function(STATTEST_ADD_TEST stattest)             84   function(STATTEST_ADD_TEST stattest)
 85         CMAKE_PARSE_ARGUMENTS(ARG "DEBUG;TEXT" <<  85         CMAKE_PARSE_ARGUMENTS(ARG "DEBUG;TEXT" 
 86         "CONFIG;INPUT;REFERENCE;G4TEST;IMG"        86         "CONFIG;INPUT;REFERENCE;G4TEST;IMG"
 87         "LABELS" ${ARGN}                           87         "LABELS" ${ARGN}
 88     )                                              88     )
 89     #check mandatory arguments                     89     #check mandatory arguments
 90     list(LENGTH ARG_CONFIG _len)                   90     list(LENGTH ARG_CONFIG _len)
 91     if(_len LESS 1)                                91     if(_len LESS 1)
 92         message(FATAL_ERROR "STATTEST_ADD_TEST     92         message(FATAL_ERROR "STATTEST_ADD_TEST: conffile is mandatory")
 93     endif()                                        93     endif()
 94                                                <<  94       
 95     list(LENGTH ARG_INPUT _len)                    95     list(LENGTH ARG_INPUT _len)
 96     if(_len LESS 1)                                96     if(_len LESS 1)
 97         message(FATAL_ERROR "STATTEST_ADD_TEST     97         message(FATAL_ERROR "STATTEST_ADD_TEST: inputfile is mandatory")
 98     endif()                                        98     endif()
 99                                                <<  99       
100     list(LENGTH ARG_G4TEST _len)                  100     list(LENGTH ARG_G4TEST _len)
101     if(_len LESS 1)                               101     if(_len LESS 1)
102         message(FATAL_ERROR "STATTEST_ADD_TEST    102         message(FATAL_ERROR "STATTEST_ADD_TEST: testname is mandatory")
103     endif()                                       103     endif()
104                                                   104 
105     #Set basic command line                       105     #Set basic command line
106     if(ARG_IMG)                                   106     if(ARG_IMG)
107         set(_command ${STATTEST_CMD} -g ${ARG_    107         set(_command ${STATTEST_CMD} -g ${ARG_IMG})
108     else()                                        108     else()
109         set(_command ${STATTEST_CMD})             109         set(_command ${STATTEST_CMD})
110     endif()                                       110     endif()
111                                                << 111  
112     if(ARG_TEXT)                                  112     if(ARG_TEXT)
113       set(_command ${_command} "-T")              113       set(_command ${_command} "-T")
114     endif()                                    << 114     endif()  
115                                                   115 
116     #Mandatory parameters                         116     #Mandatory parameters
117     set(_command ${_command} ${ARG_CONFIG} ${A    117     set(_command ${_command} ${ARG_CONFIG} ${ARG_INPUT})
118     if(ARG_REFERENCE)                             118     if(ARG_REFERENCE)
119         set(_command ${_command} ${ARG_REFEREN    119         set(_command ${_command} ${ARG_REFERENCE})
120     endif()                                       120     endif()
121                                                   121 
122     if(ARG_LABELS)                                122     if(ARG_LABELS)
123         set(_labels ${ARG_LABELS})                123         set(_labels ${ARG_LABELS})
124     else()                                        124     else()
125         set(_labels "")                           125         set(_labels "")
126     endif()                                       126     endif()
127                                                   127 
128     include(G4CTest)                           << 128     include(Geant4CTest)
129                                                << 129     
130      #Now build G4 test                           130      #Now build G4 test
131     GEANT4_ADD_TEST(${stattest}                << 131     GEANT4_ADD_TEST(${stattest} 
132         COMMAND ${_command}                       132         COMMAND ${_command}
133         DEPENDS ${ARG_G4TEST}                     133         DEPENDS ${ARG_G4TEST}
134         LABELS ${_labels}                         134         LABELS ${_labels}
135         )                                         135         )
136   endfunction()                                   136   endfunction()
137 endif(STATTEST_FOUND)                             137 endif(STATTEST_FOUND)
138                                                   138 
139 mark_as_advanced(STATTEST_APP_DIR)                139 mark_as_advanced(STATTEST_APP_DIR)