My personal aim is to build the sword on windows with msvc and/or clang. So
autotools is not an option (compared to linux).
I have several years experience with cmake and building c++ multiplatform
projects, so I can help with this.
I believe bringing the sword to "msvc  (and git ;-) ) world" could bring
another contributor to this project.

  Zdenko

On Wed, 20 Aug 2025 at 05:55, Greg Hellings <greg.helli...@gmail.com> wrote:

>
>
> 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
>
_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to