[petsc-dev] CMake: make, install, find_package ?

Jed Brown jed at jedbrown.org
Sun Nov 5 10:05:27 CST 2017


Franck Houssen <franck.houssen at inria.fr> writes:

> Here is a bundle you can pull for you to have a look (franck/cmake branch - push KO to the bitbucket as I don't know which loggin/password to use): take it or leave it ! :D
>
> On debian, I have a "real" cmake build (not the configure traces) in a dedicated BUILD directory (make things cleaner).

PETSC_ARCH is a dedicated build directory.

Porting a configuration from our Python (BuildSystem) to CMake for
cross-compilation and all the optional dependencies would be monumental
task and would result in a portability regression for systems where
platform files are not yet available.

> More important: getting find_package to work will be much more reliable than resorting to FindPETSc.cmake (often KO as architecture/OS specific...).

Please use the pkg-config file that PETSc generates.

> I would understand you give up with CMake for reason of your own reason (!)... 
> But if so, the simple presence of CMakeLists.txt may be misleading (personal opinion: people can go "let's try to use it".).
>
> Hope this helps !...
>
> Franck
>
> /petsc> ./configure; mkdir BUILD; cd BUILD; cmake -DPETSc_CMAKE_ARCH=arch-linux2-c-opt -DCMAKE_INSTALL_PREFIX=/tmp/local ..; make; make install
> ...
> -- Configuring done
> -- Generating done
> -- Build files have been written to: /home/fghoussen/Documents/INRIA/petsc/BUILD
> Scanning dependencies of target petsc
> [  0%] Building Fortran object CMakeFiles/petsc.dir/src/sys/f90-mod/petscsysmod.F.o
> [  0%] Building Fortran object CMakeFiles/petsc.dir/src/vec/f90-mod/petscvecmod.F.o
> ...
>
> ----- Mail original -----
>> De: "Satish Balay" <balay at mcs.anl.gov>
>> À: "Franck Houssen" <franck.houssen at inria.fr>
>> Cc: "petsc-dev" <petsc-dev at mcs.anl.gov>, "Jed Brown" <jed at jedbrown.org>
>> Envoyé: Dimanche 5 Novembre 2017 15:52:44
>> Objet: Re: [petsc-dev] CMake: make, install, find_package ?
>> 
>> On Sun, 5 Nov 2017, Franck Houssen wrote:
>> 
>> > > Or are you having trouble with
>> > > https://github.com/jedbrown/cmake-modules/blob/master/FindPETSc.cmake ?
>> > > [and not with PETSc build?]
>> > 
>> > At first, I was trying to understand why find_package(petsc) was not
>> > working.
>> > So then, I looked at the way the make/install was done: that lead me to
>> > look at the CMakeLists.txt and test it.
>> > 
>> 
>> > > > What did not work for you? Please send relavent logs.
>> > 
>> > Didn't find mpi.mod.
>> > find_package(MPI) was missing: I just added it.
>> > Still can push if you want to have a look (?).
>> 
>> So your primary issue is with FindPETSc.cmake - and the fix you have is for
>> petsc?
>> 
>> Sure post the patch or push [where?] and Jed might review..
>> 
>> Instructions to reproduce the problem will help.
>> 
>> Satish
>> 


More information about the petsc-dev mailing list