Skip to content
Snippets Groups Projects

Romain's unmerged branches

Merged Boman Romain requested to merge romain_all into master

This pull request adds all my recent developments in waves. These could be useful if you plan to build waves on our cluster "fabulous" or on a ....(burp)... sorry.... mac.

Modifications

CMakeLists.txt

  • Better handling of C++11 flags
  • Change from lowercase to uppercase in CMake commands in the modified files
  • FindTBB.cmake is able to find TBB in macOS. Unfortunately, TBB is still not found at runtime since Mojave upgrade (to be fixed later).
  • New CMake/disable-trilinos.cmake which could help you disable trilinos (with cmake -C ../CMake/disable-trilinos.cmake ..)
  • CMake/OSX.cmake now includes CMake/disable-trilinos.cmake (Trilinos is broken on macOS)
  • Compilation with gfortran is now possible (for Louis'SPH code on macOS)
  • VTK libs are now searched using the new CMake way: only the required libraries are used for the link stage.
  • VTK/MPI libraries can be missing in the system (that is the case is several machines such as fabulous, spirou, etc). In that case, save_MPI() functions are simply disabled using an ifdef statement.

run.py

  • Improved run.py: definition of a function main which can be called from another run*.py. This will be helpful when an external module such as pfem wants to add its own modules to waves. PFEM will define a run_fem.py which will import run.py and run run.main().
  • fwk.wutils.findbins() now takes a string argument which is the name of the module to be found. This will be used to find binaries of external packages such as pfem.
  • fwk.wutils.findbins() has now a verb variable to increase verbosity for debugging purpose.

Reduction of warnings related to gmm

  • Definition of gmm_gmm.h which could be included instead of gmm/gmm.h to avoid warnings.
  • A few warnings are still present on Linux. They will be removed in the future.

Reduction of warnings on Windows

  • Gauss Points are now numbered with unsigned long long ints (size_t). This reduces the amount of warnings on Windows with MSVC (implicit casts from size_t to int).
  • some other implicit casts have been made explicit (e.g. element numbers, printf() calls). They will be converted to size_t in a new future.
  • The current code is compiled by MSVC without warnings on Windows.

Bug correction

  • correction of a bug in cvt.cpp (thanks to less warnings): a pointer was (erroneously) implicitly casted into an integer!)

Adrien

  • merge adrien's branch (correction of a bug + doc)

Test suite

  • Test suite:
    • OK on gaston (all tests),
    • OK on my desktop (Ubuntu18.04 - all tests)
    • OK on my windows VM (Windows 10 - without trilinos)
    • OK on fabulous (except trilinos and tests importing matplotlib 46/60)
  • Compilation OK on macOS - but execution fails (TBB not found due to a rpath problem which seem to come from the Mojave upgrade)

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
59 59 INCLUDE(fwkMacros)
60 60
61 61 # -- C++11
62 # Check if C++11 is supported
63 include(CheckCXXCompilerFlag)
64 CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
65 CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
66 IF(COMPILER_SUPPORTS_CXX11)
67 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
68 ELSEIF(COMPILER_SUPPORTS_CXX0X)
69 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
70 ELSE()
71 message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
72 ENDIF()
62 SET(CMAKE_CXX_STANDARD 11) # newer way to set C++11 (requires cmake>=3.1)
  • Boman Romain
    Boman Romain @rboman started a thread on commit ac1d592c
  • 59 59 INCLUDE(fwkMacros)
    60 60
    61 61 # -- C++11
    62 # Check if C++11 is supported
    63 include(CheckCXXCompilerFlag)
    64 CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
    65 CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
    66 IF(COMPILER_SUPPORTS_CXX11)
    67 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
    68 ELSEIF(COMPILER_SUPPORTS_CXX0X)
    69 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
    70 ELSE()
    71 message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
    72 ENDIF()
    62 SET(CMAKE_CXX_STANDARD 11) # newer way to set C++11 (requires cmake>=3.1)
    Please register or sign in to reply
    Loading