Thank you Greg.
Dominique is today the person heading the module making team. The last time I did anything but dabble is now years ago. Should I return to full involvement I think I would simply work with what is now going rather than reactivating my old stuff.
Peter
Sent from Outlook for iOS
From: sword-devel <sword-devel-boun...@crosswire.org> on behalf of Greg Hellings <greg.helli...@gmail.com>
Sent: Wednesday, August 20, 2025 6:55 am
To: SWORD Developers' Collaboration Forum <sword-devel@crosswire.org>
Subject: Re: [sword-devel] Fwd: cmake patches
Sent: Wednesday, August 20, 2025 6:55 am
To: SWORD Developers' Collaboration Forum <sword-devel@crosswire.org>
Subject: Re: [sword-devel] Fwd: cmake patches
On Tue, Aug 19, 2025, 10:34 PM Aaron Rainbolt <arraybo...@gmail.com> wrote:
FWIW (and as you well know since you're still a co-maintainer of it),
the SWORD package for Fedora relies on the CMake toolchain.
Indeed. But it really shouldn't. Mea culpa on that! The main reason I never switched it is because it is the only currently easy access I have to the bindings without always needing to stand up a development environment everywhere.
Personally, I've always used CMake rather than autotools for building
SWORD when doing custom builds of it. I was under the impression that
the autotools toolchain was deprecated.
No. Autotools is the source of truth. CMake is a "best effort" alternative that started out really as just a way for me to enable Python bindings and Windows builds. But now autotools supports Windows (cross-build) targets just as readily as it does Unix targets. And people who want to use Python or Perl are well served by the existing CMake toolchain.
Ideally the bindings should be pulled out to a separate package and uploaded to, for example, PyPI. (Peter - do you still use the Perl bindings? I think you might have been the only one to ever use those, but do you still?) That way they are available through that language's native tooling. I did that, once upon a time, but adding tooling to automatically regenerate the Swig binding would take that a long way.
As for why one would use CMake instead, you could probably quote
whatever the usual arguments are for using CMake instead of autotools
I've never actually seen such a debate. Despite having no qualms with shell script, I still find CMake more legible. But autotools is well known and readily supported almost anywhere. Except for Windows build hosts. And early on I was hoping to provide a way to build with MSVC through it to replace the old handcrafted Windows build scripts. But when MinGW had fully matured, that need was eliminated.
(easier to audit for security as opposed to autogenerated
multi-thousand-line-long shell scripts written in convoluted
antediluvian POSIX sh language designed to work on older versions of
Solaris and that check for bugs existing in assorted other ancient and
likely entirely unused flavors of UNIX among other things, you don't
have to build the build system itself and potentially run into
insurmountable issues in so doing if trying to build SWORD on a system
older or newer than the ones upstream uses, modifying the build system
to add extra source files or move things around only gives one a
migraine rather than making their head explode, etc.). I personally
would like to not have to change the Fedora SWORD package from using
CMake, and would ask for help if the CMake side of things broke
because I don't want to fight with autoheadache.
The problem is, those antique targets are still actively supported by Sword, so using autotools is still a really good choice. Personally I don't even dabble in C these days unless I need to edit someone else's code. But more modern languages don't really target those older systems, so autotools for a C++ code base is pretty much the best thing going to service all of breadth of systems that Sword supports.
--Greg
On Tue, Aug 19, 2025 at 10:22 PM Greg Hellings <greg.helli...@gmail.com> wrote:
>
> What are your needs for using the CMake toolchain? It is strictly inferior to the autotools system with the exception of supporting Python and Perl more robustly. But I never was able to get it handling all of the Unicode tests perfectly, and even I don't use it anymore for the places where I maintain Sword builds. The two initial reasons for putting it together were MinGW support which was superior at that time in CMake than autotools (this is no longer the case) and the Python/Perl bindings. But even those I would likely move over to autotools at this point when the need for an update appears.
>
> --Greg
>
> On Mon, Aug 18, 2025, 4:25 AM ZdPo Ster <zdpos...@gmail.com> wrote:
>>
>> Any idea when cmake build will be fixed & improved?
>> Recent svn version can not be built with cmake. Minimum change to at least finish configure requires:
>>
>> diff --git a/CMakeLists.txt b/CMakeLists.txt
>> index 676353b5..bd3e6f81 100644
>> --- a/CMakeLists.txt
>> +++ b/CMakeLists.txt
>> @@ -11,13 +11,14 @@
>> # of their own GPLv2 license and all copyright is transferred to them for
>> # all posterity and eternity, wherever such transfer is possible. Where it is
>> # not, then this file is released under the GPLv2 by myself.
>> +CMAKE_MINIMUM_REQUIRED(VERSION 3.10.0)
>>
>> CMAKE_POLICY(SET CMP0010 NEW)
>> include(FindSubversion)
>> Subversion_WC_INFO(${CMAKE_CURRENT_SOURCE_DIR} MYSVN IGNORE_SVN_FAILURE)
>>
>> PROJECT(libsword CXX C)
>> -CMAKE_MINIMUM_REQUIRED(VERSION 2.6.0)
>> +
>> SET(SWORD_VERSION 1.9.0)
>> if(DEFINED MYSVN_WC_REVISION)
>> SET(SWORD_VERSION ${SWORD_VERSION}.${MYSVN_WC_REVISION})
>>
>> --Zdenko
>>
>> On Fri, 17 Mar 2023 at 19:25, Greg Hellings <greg.helli...@gmail.com> wrote:
>>>
>>> Indeed. It's not a principled stand that I'm refusing to get Subversion going. It's simply that it's too much work that I haven't bothered and don't foresee doing so anytime soon.
>>>
>>> And, with no setup to automatically test the scripts in all the environments they must support, it's not likely others are willing to commit this on my behalf.
>>>
>>> --Greg
>>>
>>> On Sun, Mar 12, 2023, 09:42 Peter von Kaehne <ref...@gmx.net> wrote:
>>>>
>>>> I think you misunderstood Greg.
>>>>
>>>> There is a long campaign and strong feeling to have the project on Git but there is no agreement or movement to that. And it seems Greg is pausing his contributions until that matter is resolved.
>>>>
>>>> Peter
>>>>
>>>> Sent from my phone. Please forgive misspellings and weird “corrections”
>>>>
>>>> On 12 Mar 2023, at 15:51, ZdPo Ster <zdpos...@gmail.com> wrote:
>>>>
>>>>
>>>> I am sorry, but I did not get the point of your reply.
>>>> I do not use subversion - I use git-svn as proposed several months ago on this forum. But current cmake configuration expects everybody to use subversion, which is wrong.
>>>> These patches improve cmake build:
>>>>
>>>> that will work also with git-svn
>>>> MSVC build
>>>> fix depreciated
>>>>
>>>> AFAIK it should cause no harm for other combinations, just improve current state.
>>>>
>>>> Zdenko
>>>>
>>>> On Thu, 9 Mar 2023 at 23:18, Greg Hellings <greg.helli...@gmail.com> wrote:
>>>>>
>>>>> I've never bothered to get Subversion setup on my local machine. Remembering the setup, plus my credentials, and how to use it is more labor than I've been willing to spend on this effort. If, in the future, I overcome that inertia then I'll happily test and apply this patch.
>>>>>
>>>>> --Greg
>>>>>
>>>>> On Sat, Feb 25, 2023 at 5:34 AM ZdPo Ster <zdpos...@gmail.com> wrote:
>>>>>>
>>>>>> Any update on this (after 3.5 months)?
>>>>>>
>>>>>> Zdenko
>>>>>>
>>>>>> On Sat, 26 Nov 2022 at 21:53, Greg Hellings <greg.helli...@gmail.com> wrote:
>>>>>>>
>>>>>>> Thanks. I am not privy to the patches email inbox, so this mailing list is the way to reach me for CMake things. I'll review these when I have the opportunity.
>>>>>>>
>>>>>>> --Greg
>>>>>>>
>>>>>>> On Sat, Nov 26, 2022, 13:46 Peter von Kaehne <ref...@gmx.net> wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> How to suggest improvements to the sword project?
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> You did it the right way. It just is a bit on/off as a project. GHellings is the cmake pumpkin holder as far as I know. I bcc him on a different email address.
>>>>>>>>
>>>>>>>> Peter
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> BR,
>>>>>>>>
>>>>>>>> Zdenko
>>>>>>>>
>>>>>>>> ---------- Forwarded message ---------
>>>>>>>> From: ZdPo Ster <zdpos...@gmail.com>
>>>>>>>> Date: Sun, 6 Nov 2022 at 22:22
>>>>>>>> Subject: cmake patches
>>>>>>>> To: <patc...@crosswire.org>
>>>>>>>>
>>>>>>>>
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> please find 3 few patches related to cmake build (tested on windows with MSVC 2019):
>>>>>>>>
>>>>>>>> cmake_fix_deprecation.patch - cmake version 3.23.2 produce depreciation warning for old minimum version, co IMO it is time to increase expected cmake version
>>>>>>>> cmake_fix_msvc.patch - there is no "/O3" options in current MSVC[1]
>>>>>>>> cmake_git_svn.patch - I use git svn for accessing code, but cmake produce error because of missing svn executable. He is patch that fixed it + code for detecting svn revision (MYSVN_WC_REVISION) from git
>>>>>>>>
>>>>>>>> [1] https://learn.microsoft.com/en-us/cpp/build/reference/o-options-optimize-code?view=msvc-160
>>>>>>>>
>>>>>>>> Zdenko
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> sword-devel mailing list: sword-devel@crosswire.org
>>>>>>>> http://crosswire.org/mailman/listinfo/sword-devel
>>>>>>>> Instructions to unsubscribe/change your settings at above page
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> sword-devel mailing list: sword-devel@crosswire.org
>>>>>>> http://crosswire.org/mailman/listinfo/sword-devel
>>>>>>> Instructions to unsubscribe/change your settings at above page
>>>>>>
>>>>>> _______________________________________________
>>>>>> sword-devel mailing list: sword-devel@crosswire.org
>>>>>> http://crosswire.org/mailman/listinfo/sword-devel
>>>>>> Instructions to unsubscribe/change your settings at above page
>>>>>
>>>>> _______________________________________________
>>>>> sword-devel mailing list: sword-devel@crosswire.org
>>>>> http://crosswire.org/mailman/listinfo/sword-devel
>>>>> Instructions to unsubscribe/change your settings at above page
>>>>
>>>> _______________________________________________
>>>> sword-devel mailing list: sword-devel@crosswire.org
>>>> http://crosswire.org/mailman/listinfo/sword-devel
>>>> Instructions to unsubscribe/change your settings at above page
>>>>
>>>> _______________________________________________
>>>> sword-devel mailing list: sword-devel@crosswire.org
>>>> http://crosswire.org/mailman/listinfo/sword-devel
>>>> Instructions to unsubscribe/change your settings at above page
>>>
>>> _______________________________________________
>>> sword-devel mailing list: sword-devel@crosswire.org
>>> http://crosswire.org/mailman/listinfo/sword-devel
>>> Instructions to unsubscribe/change your settings at above page
>>
>> _______________________________________________
>> sword-devel mailing list: sword-devel@crosswire.org
>> http://crosswire.org/mailman/listinfo/sword-devel
>> Instructions to unsubscribe/change your settings at above page
>
> _______________________________________________
> sword-devel mailing list: sword-devel@crosswire.org
> http://crosswire.org/mailman/listinfo/sword-devel
> Instructions to unsubscribe/change your settings at above page
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page
_______________________________________________ sword-devel mailing list: sword-devel@crosswire.org http://crosswire.org/mailman/listinfo/sword-devel Instructions to unsubscribe/change your settings at above page