From a785d9488eaa3f7bedadf2ac29f73bfe25745499 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A5rd=20Skaflestad?= Date: Wed, 1 Feb 2012 16:16:30 +0100 Subject: [PATCH] Create minimum buildable Polymer module for OPM. --- .hgignore | 33 +++++++++++++++++++ Makefile.am | 6 ++++ configure.ac | 34 +++++++++++++++++++ examples/Makefile.am | 8 +++++ examples/SayHello.cpp | 50 ++++++++++++++++++++++++++++ m4/.ignore | 0 opm/polymer/HelloPolymer.hpp | 63 ++++++++++++++++++++++++++++++++++++ 7 files changed, 194 insertions(+) create mode 100644 .hgignore create mode 100644 Makefile.am create mode 100644 configure.ac create mode 100644 examples/Makefile.am create mode 100644 examples/SayHello.cpp create mode 100644 m4/.ignore create mode 100644 opm/polymer/HelloPolymer.hpp diff --git a/.hgignore b/.hgignore new file mode 100644 index 000000000..d5e745f96 --- /dev/null +++ b/.hgignore @@ -0,0 +1,33 @@ +syntax: glob + +*~ +*.o +*.lo +*.la +.libs +.deps +*.pc +stamp-* +.dirstamp + +Makefile +Makefile.in +Doxyfile +Doxyfile.in +aclocal.m4 +autom4te.cache +config.* +configure +compile +depcomp +dependencies.m4 +install-sh +libtool +ltmain.sh +m4/libtool.m4 +m4/lt*.m4 +missing + +# Ignoring executables +*_test +examples/hello diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 000000000..31bb00fd7 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,6 @@ +ACLOCAL_AMFLAGS = -I m4 + +SUBDIRS = . examples + +nobase_include_HEADERS = \ +opm/polymer/HelloPolymer.hpp diff --git a/configure.ac b/configure.ac new file mode 100644 index 000000000..a16e74a28 --- /dev/null +++ b/configure.ac @@ -0,0 +1,34 @@ +# -*- Autoconf -*- +# Process this file with autoconf to produce a configure script. + +AC_PREREQ([2.65]) +AC_INIT([OPM Polymer Module], [0.1], [atgeirr@sintef.no],dnl + [opmpolymer], [https://public.ict.sintef.no/opm/hg/opm-polymer]) + +AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects]) + +m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) +m4_ifdef([LT_INIT], [LT_INIT]) + +AC_CONFIG_SRCDIR([opm/polymer/HelloPolymer.hpp]) +AC_CONFIG_HEADERS([config.h]) + +# Checks for programs. +AC_PROG_CXX +AM_PROG_CC_C_O +m4_ifdef([LT_INIT], [], [AC_PROG_LIBTOOL]) + +# Checks for libraries. + +# Checks for header files. + +# Checks for typedefs, structures, and compiler characteristics. + +# Checks for library functions. + +AC_CONFIG_FILES([ + Makefile + examples/Makefile +]) + +AC_OUTPUT diff --git a/examples/Makefile.am b/examples/Makefile.am new file mode 100644 index 000000000..a049aa971 --- /dev/null +++ b/examples/Makefile.am @@ -0,0 +1,8 @@ +AM_CPPFLAGS = \ +-I$(top_srcdir) + +noinst_PROGRAMS = \ +hello + +hello_SOURCES = \ +SayHello.cpp diff --git a/examples/SayHello.cpp b/examples/SayHello.cpp new file mode 100644 index 000000000..871d0e857 --- /dev/null +++ b/examples/SayHello.cpp @@ -0,0 +1,50 @@ +/*=========================================================================== +// +// File: SayHello.cpp +// +// Created: 2012-02-01 16:14:51+0100 +// +// Authors: Knut-Andreas Lie +// Jostein R. Natvig +// Halvor M. Nilsen +// Atgeirr F. Rasmussen +// Xavier Raynaud +// Bård Skaflestad +// +//==========================================================================*/ + + +/* + Copyright 2012 SINTEF ICT, Applied Mathematics. + Copyright 2012 Statoil ASA. + + This file is part of the Open Porous Media Project (OPM). + + OPM is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OPM is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with OPM. If not, see . +*/ + +#include + +#include + +int main() +{ + Opm::Polymer::Hello world; + ::std::cout << world << '\n'; + + Opm::Polymer::Hello hello("World"); + ::std::cerr << hello << '\n'; + + return 0; +} diff --git a/m4/.ignore b/m4/.ignore new file mode 100644 index 000000000..e69de29bb diff --git a/opm/polymer/HelloPolymer.hpp b/opm/polymer/HelloPolymer.hpp new file mode 100644 index 000000000..a7e2591c2 --- /dev/null +++ b/opm/polymer/HelloPolymer.hpp @@ -0,0 +1,63 @@ +/*=========================================================================== +// +// File: HelloPolymer.hpp +// +// Created: 2012-02-01 16:15:27+0100 +// +// Authors: Knut-Andreas Lie +// Jostein R. Natvig +// Halvor M. Nilsen +// Atgeirr F. Rasmussen +// Xavier Raynaud +// Bård Skaflestad +// +//==========================================================================*/ + + +/* + Copyright 2012 SINTEF ICT, Applied Mathematics. + Copyright 2012 Statoil ASA. + + This file is part of the Open Porous Media Project (OPM). + + OPM is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + OPM is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with OPM. If not, see . +*/ + +#ifndef OPM_HELLOPOLYMER_HPP_HEADER +#define OPM_HELLOPOLYMER_HPP_HEADER + +#include + +namespace Opm { + namespace Polymer { + class Hello { + public: + Hello() : designee_("world") {} + Hello(const std::string& dsgn) : designee_(dsgn) {} + + template + friend Ostream& operator<< (Ostream& os, const Hello& h); + private: + ::std::string designee_; + }; + + template + Ostream & + operator<<(Ostream& os, const Hello& h) { + os << "Polymer::Hello, " << h.designee_; + return os; + } + } // namespace Polymer +} // namespace Opm +#endif /* OPM_HELLOPOLYMER_HPP_HEADER */