[GNC] GnuCash 3.2 Released

Geert Janssens geert.gnucash at kobaltwit.be
Thu Jul 5 03:56:39 EDT 2018


Op donderdag 5 juli 2018 07:04:21 CEST schreef David Cousens:
> On Wed, 2018-07-04 at 14:54 +0200, Geert Janssens wrote:
> > Are you referring to the fact that uninstall doesn't remove empty
> > directories
> >
> 
> No. The uninstall target in build.ninja as written by cmake was just an
> empty stub. 

<snip>
> 
> cmake_uninstall.cmake existed and had been created by cmake when it
> configured the build, but it could not be executed from build.ninja.
> Somewhere in the CMakeLists.txt files in the source something is
> missing which writes the code into build.ninja to run
> cmake_uninstall.cmake. 

This is odd in itself. I have been using ninja-build for months and the 
uninstall target works just fine without your additions (it does leave the 
directories of course).

So I don't understand why you would need to modify the generated build.ninja 
file.
> 
> I think it would be nice to tidy up the uninstall of the directories as
> well. John has pointed out elsewhere that it isn't absolutely necessary
> to prevent any interference between installs and that this was
> primarily for developers but with cmake now the primary build
> configuration, those of us who like to keep ahead of the distro version
> are likely to be building from source using cmak and ninja. 
> 
> With a /usr/local prefix, GnuCash does a nice install where the files
> are all copied into directories named as gnucash:
> /usr/local/lib/gnucash/...
> /usr/local/share/gnucash/...
> /usr/local/etc/gnucash/...
> /usr/local/include/gnucash/...
> 
> and the directories I referred to were subdirectories of the respective
> gnucash directories listed above. At present install_manifest.txt has
> no explicit record of the existence of them as they are created on the
> fly when files are installed in them by cmake_install.cmake (top level
> of build directory) rather than being created explicitly with a mkdir.
> 
> Removing the above directories with "rm -r <prefix>/lib/gnucash " and
> similar commands for the others should do it with the appropriate
> checking as you mentioned above.

Indeed. You could add something to that effect in cmake_uninstall.cmake.in

> 
> There is a separate target in build.ninja for install/local (but not an
> uninstall/local) for installing under a user home directory.
> 
build.ninja is generated based on the contents of the various CMakeLists.txt 
and *.cmake files. I only look in build.ninja if a ninja build behaves 
differently from a make build. Is that the case here ?

Note I always install in a custom prefix under my home directory. Perhaps 
that's why my uninstall works where uninstall under /usr/local doesn't ?

Something to try when I find the time.

> Do you know if Rob Gowin is continuing to work on the cmake scripts or
> not? I don't mind going in and trying to patch it, but if it is still a
> work in progress then I don't want to get in his way, and I'm happy to
> leave it to Rob if he is still developing them.

I don't know. I'll let Rob answer this.

Geert





More information about the gnucash-user mailing list