[MOAB-dev] Problems with MOABConfig.cmake

JR Cary cary at txcorp.com
Mon Dec 8 09:12:11 CST 2014


One more thing.  My configure line was

   '/Users/cary/projects/dagmcall/moab/configure' \
   --prefix=/volatile/moab-master.r5242-ser \
   --enable-static \
   --disable-shared \
   CC='/usr/bin/clang' \
   CXX='/usr/bin/clang++' \
   FC='/usr/local/bin/gfortran' \
   F77='/usr/local/bin/gfortran' \
   CFLAGS='-pipe' \
   CXXFLAGS='-stdlib=libstdc++ -pipe' \
   --enable-dagmc \
   --without-vtk \
   --with-hdf5='/contrib/hdf5-1.8.13-ser' \
   --with-netcdf='/contrib/netcdf-4.3.2-ser'

in case you want to test on Darwin.

Best.....John


On 12/8/14, 8:10 AM, JR Cary wrote:
> Hi Vijay,
>
> The problem with the -n appearing everywhere
> is that sed on OSX is not gnu sed.  So, on linux:
>
> $ echo foo | sed 's/f/f\n/'
> f
> oo
>
> But on Darwin
>
> $ echo foo | sed 's/f/f\n/'
> fnoo
>
> Thus the code under
>
> install-data-hook:
>
> is invalid on OSX.
>
> I see what you are trying to do.  One way would be
> to get all replacements done except PREFIX in MOABConfig.cmake
> at configure time, then replace PREFIX at installation time.
>
> With regard to the libaries, keeping that long string of -L's
> and -l's may work for now, but cmake does not guarantee that
> syntax.  With something like
>
> link_directories(/volatile/moab-master.r5242-ser/lib 
> /contrib/netcdf-4.3.2-ser/lib /contrib/hdf5-1.8.13-ser/lib)
> set(MOAB_LIBRARY_NAMES MOAB netcdf hdf5_hl hdf5 pthread z dl m)
> set(DAGMC_LIBRARY_NAMES dagmc ${MOAB_LIBRARY_NAMES})
>
> CMake will not fail down the road someday.
>
> Best......John
>
>
>
>
>
> On 11/29/14, 8:04 AM, Vijay S. Mahadevan wrote:
>>
>> Thanks for the bug report John. We will push a fix to the MOABConfig 
>> generation.
>>
>> We can split the directory and library as separate variables but this 
>> follows the autoconf based moab.make that uses the mixed convention. 
>> Is there a specific reason why you want them separately? Apps using 
>> MOAB should directly use that line to link anyway.
>>
>> Vijay
>>
>> On Nov 28, 2014 11:05 PM, "JR Cary" <cary at txcorp.com 
>> <mailto:cary at txcorp.com>> wrote:
>>
>>     Dear moab folks,
>>
>>     I just configure moab with
>>
>>     '/Users/cary/projects/dagmcall/moab/configure'
>>     --prefix=/volatile/moab-master.r5237-sersh --disable-static
>>     --enable-shared CC='/usr/bin/clang' CXX='/usr/bin/clang++'
>>     FC='/usr/local/bin/gfortran' F77='/usr/local/bin/gfortran'
>>     CXXFLAGS='-stdlib=libstdc++' FFLAGS='-pipe -fPIC' FCFLAGS='-pipe
>>     -fPIC' --enable-dagmc --without-vtk
>>     --with-hdf5='/contrib/hdf5-1.8.13-sersh'
>>
>>     on Darwin.  It built and installed, but at the end of the cmake
>>     configuration file (lib/MOABConfig.cmake) I see many lines beginning
>>     with '-n' and then 'n' at line endings:
>>
>>     # Library and include defs
>>     SET(MOAB_INCLUDE_DIRS "/volatile/moab-master.r5237-sersh/include")
>>     -n SET(MOAB_LIBRARIES "
>>     -n          -L/contrib/hdf5-1.8.13-sersh/lib
>>     -L/volatile/moab-master.r5237-sersh/lib -lMOAB  -lc++ -lpthread
>>     -lz -ldl -lm    -lhdf5")n
>>     -n SET(DAGMC_LIBRARIES "
>>     -n          -L/contrib/hdf5-1.8.13-sersh/lib
>>     -L/volatile/moab-master.r5237-sersh/lib -ldagmc -lMOAB -lc++
>>     -lpthread -lz -ldl -lm    -lhdf5")n
>>
>>     This causes any cmake project depending on moab to fail.
>>
>>     It is also a bit strange, in that in cmake-land, libraries are what
>>     is after the -l, and LIBRARY_DIRS are what is after the -L.
>>
>>     ......John
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/moab-dev/attachments/20141208/314da435/attachment.html>


More information about the moab-dev mailing list