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