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