Nice! Cheers! =)

Den mån 16 sep. 2024 kl 14:41 skrev <rin...@apache.org>:

> Author: rinrab
> Date: Mon Sep 16 12:41:13 2024
> New Revision: 1920717
>
> URL: http://svn.apache.org/viewvc?rev=1920717&view=rev
> Log:
> Merge the `cmake` branch to trunk.
>
> Added:
>     subversion/trunk/CMakeLists.txt
>       - copied unchanged from r1920716,
> subversion/branches/cmake/CMakeLists.txt
>     subversion/trunk/build/cmake/
>       - copied from r1920716, subversion/branches/cmake/build/cmake/
>     subversion/trunk/build/generator/gen_cmake.py
>       - copied unchanged from r1920716,
> subversion/branches/cmake/build/generator/gen_cmake.py
>     subversion/trunk/build/generator/templates/targets.cmake.ezt
>       - copied unchanged from r1920716,
> subversion/branches/cmake/build/generator/templates/targets.cmake.ezt
>     subversion/trunk/subversion/svn_private_config.hc
>       - copied unchanged from r1920716,
> subversion/branches/cmake/subversion/svn_private_config.hc
> Modified:
>     subversion/trunk/   (props changed)
>     subversion/trunk/INSTALL
>     subversion/trunk/gen-make.py
>     subversion/trunk/tools/dist/release.py
>
> Propchange: subversion/trunk/
>
> ------------------------------------------------------------------------------
> --- svn:ignore (original)
> +++ svn:ignore Mon Sep 16 12:41:13 2024
> @@ -65,3 +65,5 @@ compile_commands.json
>  .swig_pl_checked
>  .swig_py_checked
>  .swig_rb_checked
> +out
> +CMakeSettings.json
>
> Propchange: subversion/trunk/
>
> ------------------------------------------------------------------------------
>   Merged /subversion/branches/cmake:r1918598-1920716
>
> Modified: subversion/trunk/INSTALL
> URL:
> http://svn.apache.org/viewvc/subversion/trunk/INSTALL?rev=1920717&r1=1920716&r2=1920717&view=diff
>
> ==============================================================================
> --- subversion/trunk/INSTALL (original)
> +++ subversion/trunk/INSTALL Mon Sep 16 12:41:13 2024
> @@ -20,6 +20,7 @@ Contents:
>         C. Building under Unix in Different Directories
>         D. Installing from a Zip or Installer File under Windows
>         E. Building the Latest Source under Windows
> +       F. Building using CMake
>
>     III. BUILDING A SUBVERSION SERVER
>         A. Setting Up Apache Httpd
> @@ -676,6 +677,19 @@ I.    INTRODUCTION
>  II.   INSTALLATION
>        ============
>
> +      Subversion support three different build systems:
> +      - Autoconf/make, for Unix builds
> +      - Visual Studio vcproj, for Windows builds
> +      - CMake, for both Unix and Windows
> +
> +      The first two have been in use since 2001. Sections A-E below
> describe
> +      the classic build system.
> +
> +      The CMake build system was created in 2024 and is still under
> +      development. It will be included in Subversion 1.15 and is expected
> to
> +      be the default build system starting with Subversion 1.16. Section F
> +      below describes the CMake build system.
> +
>    A.  Building from a Tarball
>        ------------------------------
>
> @@ -1187,6 +1201,31 @@ II.   INSTALLATION
>
>        C:>python win-tests.py -c -r -v -u http://localhost
>        C:>cd ..
> +
> +
> +  F.  Building using CMake
> +      --------------------
> +
> +      Get the sources, either a release tarball or by checking out the
> +      official repository. The CMake build system currently only exists in
> +      /trunk and it will be included in the 1.15 release.
> +
> +      The process for building on Unix and Windows is the same.
> +
> +          $ python gen-make.py -t cmake
> +          $ cmake -B out [build options]
> +          $ cmake --build out
> +
> +      "out" in the commands above is the build directory used by CMake.
> +
> +      Build options can be added, for example:
> +
> +          $ cmake -B out -DCMAKE_INSTALL_PREFIX=/usr/local/subversion
> -DSVN_ENABLE_RA_SERF=ON
> +
> +      Build options can be listed using:
> +
> +          $ cmake -LH
> +
>
>  III.  BUILDING A SUBVERSION SERVER
>        ============================
>
> Modified: subversion/trunk/gen-make.py
> URL:
> http://svn.apache.org/viewvc/subversion/trunk/gen-make.py?rev=1920717&r1=1920716&r2=1920717&view=diff
>
> ==============================================================================
> --- subversion/trunk/gen-make.py (original)
> +++ subversion/trunk/gen-make.py Mon Sep 16 12:41:13 2024
> @@ -47,6 +47,7 @@ sys.path.insert(0, os.path.join('build',
>  sys.path.insert(1, 'build')
>
>  gen_modules = {
> +  'cmake' : ('gen_cmake', 'CMake build system'),
>    'make' : ('gen_make', 'Makefiles for POSIX systems'),
>    'vcproj' : ('gen_vcnet_vcproj', 'VC.Net project files'),
>    }
>
> Modified: subversion/trunk/tools/dist/release.py
> URL:
> http://svn.apache.org/viewvc/subversion/trunk/tools/dist/release.py?rev=1920717&r1=1920716&r2=1920717&view=diff
>
> ==============================================================================
> --- subversion/trunk/tools/dist/release.py (original)
> +++ subversion/trunk/tools/dist/release.py Mon Sep 16 12:41:13 2024
> @@ -910,6 +910,8 @@ def roll_tarballs(args):
>      # line endings and won't run, so use the one in the working copy.
>      run_script(args.verbose,
>                 '%s/tools/po/po-update.sh pot' %
> get_workdir(args.base_dir))
> +    run_script(args.verbose,
> +               'python gen-make.py -t cmake --release')
>      clean_pycache()  # as with clean_autom4te, is this pointless on
> Windows?
>      os.chdir(cwd)
>      clean_autom4te() # dist.sh does it but pointless on Windows?
> @@ -926,6 +928,8 @@ def roll_tarballs(args):
>                 '''tools/po/po-update.sh pot
>                    ./autogen.sh --release''',
>                 hide_stderr=True) # SWIG is noisy
> +    run_script(args.verbose,
> +               'python gen-make.py -t cmake --release')
>      clean_pycache()  # without this, tarballs contain empty __pycache__
> dirs
>      os.chdir(cwd)
>      clean_autom4te() # dist.sh does it but probably pointless
>
>
>

Reply via email to