So, here's my workflow for adding a new example (in a new examples
directory).

cd libmesh/examples
mkdir mesh_transfer
cp -r introduction/introduction_ex3 mesh_transfer/simple_dtk
cd mesh_transfer/simple_dtk
# Rename files to simple_dtk (or whatever)
# Edit Makefile.am to include the name of the new files
cd ../..
# Edit Makefile.am to include new directory
cd .. (to the "libmesh" directory)
# Edit configure.ac to include the new example's Makefile
./bootstrap
mkdir build
cd build
METHODS="opt dbg" ../configure --prefix=$LIBMESH_ROOT/installed
make
make install

# That will setup the basic environment.  Now, open _3_ terminals to the
following directories:
libmesh/examples/mesh_transfer/simple_dtk
libmesh/build/examples/mesh_transfer/simple_dtk
libmesh/installed/examples/mesh_transfer/simple_dtk

# Now start modifying example and do this for every modification:

# Snag libmesh/examples terminal.
# Edit any files in the example
# Edit Makefile.am to add any new files

# Snag libmesh/build/examples terminal.
make install

# Snag libmesh/installed/examples terminal.
make
./example-opt  # To actually run the example

# Repeat

Guys, seriously.  This is really they way you want to work?  You _really_
want to have 3 directories to interact with every time you make a change?
 Every time you add a file you really want to modify a file to tell the
build system about it?

If my software worked this way... not ONE single person would ever use it.
 I guarantee you that this build system will limit casual developers from
contributing to libMesh (maybe that was one of the intentions...)

I suppose I should be grateful that at least I don't have to reconfigure
for every cycle... I was really worried that I was going to have to...

Derek



On Sat, Jan 19, 2013 at 3:14 PM, Derek Gaston <fried...@gmail.com> wrote:

> So,
>
> With the new build system what's the best way to develop a new example?
>
> Previously I would do this:
>
> cd libmesh/examples/introduction
> cp introduction_ex3 introduction_ex17
> # Change everything in introduction_ex17 to say ex17
> make
> ./introduction_ex17
>
> What's the best way of doing that now?
>
> If I do the above and copy an example... then I have to reconfigure to get
> it copied to my "build" directory... and then "make install" to get it
> built and copied into my install directory.
>
> But where do I edit it then?  I suppose I edit it in
> libmesh/examples/introduction/introduction_ex17 and then build and make
> install in my build directory?  If I add more files to my example do I need
> to reconfigure to get a new Makefile made?  Then rebuild the whole library
> so I can build my example?
>
> I'm hoping there is a better way.
>
> /me is still not a fan of the new build system.
>
> Derek
>
------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. SALE $99.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122912
_______________________________________________
Libmesh-devel mailing list
Libmesh-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to