[GNC] GnuCash 3.2 Released

John Ralls jralls at ceridwen.us
Thu Jul 5 09:45:48 EDT 2018



> On Jul 5, 2018, at 12:56 AM, Geert Janssens <geert.gnucash at kobaltwit.be> wrote:
> 
> 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.

Remember that CMake does things differently when told to install anywhere under /usr and /opt.

See https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html <https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html>

Regards,
John Ralls



More information about the gnucash-user mailing list