Page tree
Skip to end of metadata
Go to start of metadata
  • If you create a new user_directory; you must rerun autogen.sh to make automake aware of it (this does the autoconf step which is what actually writes the Makefiles. Change Makefile.am only changes the Makefile.in; please give me back CMake, all is forgiven).
  • Quick guide to writing Makefiles.am for oomph-lib
    • At the top add the line noinst_PROGRAMS= <myNewProgram>
    • Then add <myNewProgram>_SOURCES = <myNewProgramSourceList>
    • The add <myNewProgram>_LDADD = -L@libdir@ -l<OtherRequiredoomphlibLibraries> -lgeneric $(EXTERNAL_LIBS) $(FLIBS)
  • oomph-lib, despite using svn, does contain .gitignore files; which also stop your new user_drivers from being committable. You need to comment out 

    user_drivers/
    from the top level .gitignore file.

  • You cannot use CLion with oomph-lib; because CLion will only work with CMake based projects.
  • Complying optimised on a mac. Do the following.
    • Run make clean
    • Run make distclean
    • Run autogen.sh
    • Use these options

      --enable-suppress-doc --enable-symbolic-links-for-headers --disable-shared CXXFLAGS="-O3 -DPARANOID -Wall" CFLAGS="-O3 -Wall" FFLAGS="-O3 -Wall" FFLAGS_NO_OPT="-O0"

    • Note, I know this is not using clang but gcc is faster; but, gives worst error message so this best for speed.

  • On a mac you will need to install autotools
    • Best to installl brew and then do
    • brew install automake
    • Note, you do not run brew as route.
  • No labels

1 Comment

  1. General comment for the Mercury team. oomph-lib does make lots of small libraries. We are moving towards making one big one, Chris de Jong, seemed to like the one big one. I think I also do; but, I thought I would flag the point.