Hi Sam,

Thanks, that did work (once I fixed the typo - the ']' after
'SHLIB_EXT').

So on the first pass, when the executable is made, the 'lib' directory
is created and on the second, the library is moved from 'bin' to 'lib'?
Not that I am complaining, but it seems slightly odd that the two build
runs should be coupled like that.  I would have expected something more
along the lines of for the first build, do the right thing for that, and
then for second build, do the right thing for that.

I see that the CMakeList.txt contains

  set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
  set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

so maybe someone can tweak something there.

However, since I now have a solution, that someone is currently not
going to be me :-)

Thanks again,

Loris

Sam Moors <[email protected]> writes:

> Hi Loris,
>
> not sure what is the 'correct' way of doing this, one way could be to remove 
> the installopts and add:
>
> postinstallcmds = [
>     'mkdir %(installdir)s/lib',
>     'mv %%(installdir)s/{bin,lib}/raxml-ng-mpi.%s' % SHLIB_EXT],
> ]
>
> does this work?
>
> Cheers,
> Sam
>
> On Mon, May 18, 2020 at 2:56 PM Loris Bennett <[email protected]> 
> wrote:
>
>  Hi,
>
>  Via the configuration parameter
>
>    BUILD_AS_LIBRARY
>
>  I can build RAxML-NG either as a stand-alone executable or as a shared
>  library.  Depending on the value of the variable above I either getting
>
>    raxml-ng-mpi
>
>  or
>
>    raxml-ng-mpi.so
>
>  created in the subdirectory
>
>    bin
>
>  What I would like to have is
>
>    bin/raxml-ng-mpi
>    lib/raxml-ng-mpi.so
>
>  in the install directory.
>
>  To do this I currently have
>
>    configopts = [
>        "-DUSE_MPI=ON -DUSE_TERRAPHAST=OFF -DBUILD_AS_LIBRARY=OFF",
>        "-DUSE_MPI=ON -DUSE_TERRAPHAST=OFF -DBUILD_AS_LIBRARY=ON",
>    ]
>
>  and have tried
>
>    installopts = [
>        'prefix=%(installdir)s/bin',
>        'prefix=%(installdir)s/lib',
>    ]
>
>    sanity_check_paths = {
>        'files': ['bin/raxml-ng-mpi', 'lib/raxml-ng-mpi.so'],
>        'dirs': [''],
>    }
>
>  but I am getting
>
>    Sanity check failed: no file found at 'lib/raxml-ng-mpi.so'
>
>  and in the build directory I just have
>
>    bin/raxml-ng-mpi.so
>
>  What is the corrected way of doing this?
>
>  Cheers,
>
>  Loris
>
>  --
>  Dr. Loris Bennett (Mr.)
>  ZEDAT, Freie Universität Berlin         Email [email protected]
>
-- 
Dr. Loris Bennett (Mr.)
ZEDAT, Freie Universität Berlin         Email [email protected]

Reply via email to