Sure - but I still disagree on your premise: If: 'CMakeLists.txt' exists then: 'mkdir BUILD; cd BUILD; cmake -DPETSc_CMAKE_ARCH=arch-linux2-c-opt -DCMAKE_INSTALL_PREFIX=/tmp/local ..; make; make install' should work!
Its equivalent to assuming: if 'makefile' exists 'make all && make install' will work. There is no such universality - and documentation is primary way of resolving this. I don't think we should remove CMakeLists.txt for this reason. [We could remove it if we decide to remove all cmake code in petsc] Note: 'make all-cmake' the previously documented mode works for me. [but might not work for all use cases] Satish On Sun, 5 Nov 2017, Franck Houssen wrote: > OK, guys, let's summarize: > - I just say that generating a CMakeLists.txt (that can't be used) IS > misleading for any users ! :D > - You don't want to deal with CMake: OK, I am fine with that, no problem (I > can understand that). > - Now I know (!...), I'll stick to pkg-config... Because now I know ! > > Bonne journée, > > Franck > > ----- Mail original ----- > > De: "Satish Balay" <ba...@mcs.anl.gov> > > À: "Jed Brown" <j...@jedbrown.org> > > Cc: "Franck Houssen" <franck.hous...@inria.fr>, "petsc-dev" > > <petsc-dev@mcs.anl.gov> > > Envoyé: Dimanche 5 Novembre 2017 17:13:25 > > Objet: Re: [petsc-dev] CMake: make, install, find_package ? > > > > On Sun, 5 Nov 2017, Jed Brown wrote: > > > > > Franck Houssen <franck.hous...@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 > > > > And we never supported this build mode - or documented it - or recommended > > it. > > > > Configure used cmake to generate gnumakefiles [so presumably this step is > > already done]. So the next step would be 'make all-cmake' > > This basically did: > > > > cd arch-linux2-c-opt && make -j ${MAKE_NP} > > > > Check 'ccmake:' target in lib/petsc/conf/rules > > > > Satish > > > > > > > > ... > > > > -- 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" <ba...@mcs.anl.gov> > > > >> À: "Franck Houssen" <franck.hous...@inria.fr> > > > >> Cc: "petsc-dev" <petsc-dev@mcs.anl.gov>, "Jed Brown" > > > >> <j...@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 > > > >> > > > > > >