diff --git a/.azure.yml b/.azure.yml index 26ee8d29813..1cb696b8f7e 100644 --- a/.azure.yml +++ b/.azure.yml @@ -5,7 +5,7 @@ jobs: - job: "Quinoa" - timeoutInMinutes: 180 + timeoutInMinutes: 240 pool: vmImage: 'Ubuntu 16.04' variables: @@ -69,6 +69,7 @@ jobs: DISTRO: 'debian-clang-smp' SMP: 'on' doc: + COMPILER: 'gnu' DOC: true DISTRO: 'debian-doc' steps: diff --git a/README.md b/README.md index f77e642ed6b..4287bf18676 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ -_Adaptive computational fluid dynamics_ - https://quinoacomputing.github.io +_Adaptive computational fluid dynamics_ - https://quinoacomputing.org Quinoa is a set of computational tools that enables research and numerical analysis in fluid dynamics. Using the [Charm++](http://charmplusplus.org) @@ -18,21 +18,6 @@ problems with a production-quality code that is extensible and maintainable, using hardware resources efficiently, even for problems with _a priori_ unknown, heterogeneous, and dynamic load distribution. -## Directory layout - - quinoa - ├── cmake/ - CMake code, shared between github.com/quinoacomputing/quinoa-tpl and src/ - ├── doc/ - Documentation, rendered at quinoacomputing.org - ├── external/ - External packages, pulled in as submodules from github.com/quinoacomputing/quinoa-tpl - ├── src/ - Compilable sources, see quinoacomputing.org/files.html - ├── tests/ - Unit-, and regression tests - ├── tools/ - Development utilities and docker files - ├── LICENSE - Copyright and license - └── README.md - This file, rendered at github.com/quinoacomputing/quinoa - -## More info - For more details on philosophy, documentation, software design, journal papers, -license, and contributing see the -[documentation](https://quinoacomputing.github.io). +license, and contributing see the [documentation](https://quinoacomputing.org). diff --git a/cmake/BuildType.cmake b/cmake/BuildType.cmake index 56aa1eb8feb..6ea979cd45c 100644 --- a/cmake/BuildType.cmake +++ b/cmake/BuildType.cmake @@ -10,8 +10,8 @@ ################################################################################ if(NOT CMAKE_BUILD_TYPE) - message(STATUS "CMAKE_BUILD_TYPE not specified, setting to 'Debug'") - set(CMAKE_BUILD_TYPE Debug CACHE STRING "Build type. Possible values: DEBUG | RELEASE | RELWITHDEBINFO | MINSIZEREL" FORCE) + message(STATUS "CMAKE_BUILD_TYPE not specified, setting to 'Release'") + set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type. Possible values: DEBUG | RELEASE | RELWITHDEBINFO | MINSIZEREL" FORCE) # Set the possible values of build type for cmake-gui set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "MinSizeRel" "RelWithDebInfo") else() diff --git a/cmake/CodeCoverage.cmake b/cmake/CodeCoverage.cmake index 4e23eb65618..43e49785fc2 100644 --- a/cmake/CodeCoverage.cmake +++ b/cmake/CodeCoverage.cmake @@ -47,8 +47,8 @@ FUNCTION(SETUP_TARGET_FOR_COVERAGE suite path targetname testrunner) cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - IF(NOT LCOV) - MESSAGE(FATAL_ERROR "lcov not found! Aborting...") + IF(NOT FASTCOV) + MESSAGE(FATAL_ERROR "fastcov not found! Aborting...") ENDIF() IF(NOT GENHTML) @@ -68,18 +68,12 @@ FUNCTION(SETUP_TARGET_FOR_COVERAGE suite path targetname testrunner) # Setup code coverage target ADD_CUSTOM_TARGET(${targetname} - # Cleanup lcov - COMMAND ${LCOV} --gcov-tool ${GCOV} --directory . --zerocounters - # Capture initial state yielding zero coverage baseline - COMMAND ${LCOV} --gcov-tool ${GCOV} --capture --initial --directory . --output-file ${OUTPUT}.base.info + # Zero coverage counters + COMMAND ${FASTCOV} --zerocounters # Run test suite COMMAND ${testrunner} ${ARG_TESTRUNNER_ARGS} - # Capture lcov counters - COMMAND ${LCOV} --gcov-tool ${GCOV} --capture --rc lcov_branch_coverage=1 --directory . --output-file ${OUTPUT}.test.info - # Combine trace files - COMMAND ${LCOV} --gcov-tool ${GCOV} --rc lcov_branch_coverage=1 --add-tracefile ${OUTPUT}.base.info --add-tracefile ${OUTPUT}.test.info --output-file ${OUTPUT}.total.info - # Filter out unwanted files - COMMAND ${LCOV} --gcov-tool ${GCOV} --rc lcov_branch_coverage=1 --remove ${OUTPUT}.total.info "*/tests/*" "*/c++/*" "*/include/*" "*/boost/*" "*/charm/*" "*.decl.h" "*.def.h" "*/STDIN" "*/openmpi/*" "*/pstreams/*" "*/Random123/*" "*/pegtl/*" "*/tut/*" "*/highwayhash/*" "*/moduleinit*" --output-file ${OUTPUT}.filtered.info + # Process gcov output for genhtml + COMMAND ${FASTCOV} --branch-coverage --exceptional-branch-coverage --lcov -o ${OUTPUT}.info --exclude tests/ c++/ include/ boost/ charm/ decl.h def.h openmpi pstreams Random123 pegtl tut/ highwayhash/ moduleinit # Copy over report customization files for genhtml COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/../doc/quinoa.gcov.css @@ -88,13 +82,13 @@ FUNCTION(SETUP_TARGET_FOR_COVERAGE suite path targetname testrunner) ${CMAKE_SOURCE_DIR}/../doc/quinoa.lcov.prolog ${CMAKE_BINARY_DIR} # Generate HTML report - COMMAND ${GENHTML} --legend --branch-coverage --demangle-cpp --css-file quinoa.gcov.css --ignore-errors source --html-prolog quinoa.lcov.prolog --title "${GIT_SHA1}" -o ${OUTPUT} ${OUTPUT}.filtered.info + COMMAND ${GENHTML} --legend --rc genhtml_branch_coverage=1 --demangle-cpp --css-file quinoa.gcov.css --ignore-errors source --html-prolog quinoa.lcov.prolog --title "${GIT_SHA1}" -o ${OUTPUT} ${OUTPUT}.info # Customize page headers in generated html to own COMMAND find ${OUTPUT} -type f -exec ${SED} -i "s/LCOV - code coverage report/Quinoa ${suite} test code coverage report/g" {} + COMMAND find ${OUTPUT} -type f -exec ${SED} -i "s/
Quinoa docs, part of the Quinoa project. Copyright © J. Bakosi 2012–2015, Los Alamos National Security, LLC, 2016–2018, Triad National Security, LLC, 2019. Generated on @BUILD_DATE_SIMPLE@ based on @GIT_SHA1_ONLY@ by Doxygen and m.css. Contact us via GitHub, Email or Gitter.
" +##! M_LINKS_NAVBAR2 = "resources GitHub Tarballs License roadmap contributing papers Chat Email list coverage Azure OpenHub Practices" + +##! M_PAGE_FINE_PRINT = "Quinoa docs, part of the Quinoa project. Copyright © J. Bakosi 2012–2015, Los Alamos National Security, LLC, 2016–2018, Triad National Security, LLC, 2019. Generated on @BUILD_DATE_SIMPLE@ based on @GIT_SHA1_ONLY@ by Doxygen and m.css. Contact us via GitHub, Email or Chat.
" ALIASES += \ "m_div{1}=@xmlonly