• Alexis SALZMAN's avatar
    Add coverage to general CMakelists · 340981fb
    Alexis SALZMAN authored
    This commit introduce coverage via 3 elements under the control of new
    USE_LCOV option:
     * compilation/linking option (note that it is specific to GCC,
       typically on liger with intel compiler, option is not recognized).
     * add a target lcov that create a coverage folder in
       CMAKE_BINARY_DIR  and collect in this folder all run results
       present in all directories and sub directories under
       CMAKE_BINARY_DIR and then create a html interpretation of those
       results in coverage folder.
     * add a target cleanlcov that removes coverage folder and all run
       results present under CMAKE_BINARY_DIR.
    
    To do some coverage turn on USE_LCOV option, recompile all or parts of
    your project, run all or part of your project executable and then type
    make lcov.
    You will obtain a coverage view of your project for part compiled with
    coverage and run.
    You may run new part of your project and type make lcov to obtain
    merging coverage view. But if you want to see only coverage view of a
    specific program, type first make cleanlcov, then run your specific
    program and finally type again make lcov.
    
    Use any web browser with coverage/index.html to see coverage view
    generate by make lcov
    
    Note: It is a quick preliminary implantation and may deserve more
    attention to fill our needs
    lcov is not installed on titan for now so LocalConfig_Titan is turning
    off USE_LCOV option.
    On liger lcov is installed but do not work with intel compiler.
    340981fb