Author: rinrab
Date: Fri Jun 28 18:27:42 2024
New Revision: 1918733

URL: http://svn.apache.org/viewvc?rev=1918733&view=rev
Log:
On the 'cmake' branch: Sort targets for better readability.

This is done by adding the targets to the lists for each types of targets
and then join them in in a certain order:

1. RA and FS modules; in the feature, they will be added to a CMake list
   and will be used in libsvn_ra and libsvn_fs libraries to link with
   all modules.
2. Subversion libraries.
3. Subversion command-line tools like `svn` and other.
4. Test-suite (not done yet).

* build/generator/gen_cmake.py
  (Generator.Write): Pass targets to the ezt template sorted by theirs type.

Modified:
    subversion/branches/cmake/build/generator/gen_cmake.py

Modified: subversion/branches/cmake/build/generator/gen_cmake.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/cmake/build/generator/gen_cmake.py?rev=1918733&r1=1918732&r2=1918733&view=diff
==============================================================================
--- subversion/branches/cmake/build/generator/gen_cmake.py (original)
+++ subversion/branches/cmake/build/generator/gen_cmake.py Fri Jun 28 18:27:42 
2024
@@ -53,7 +53,14 @@ class Generator(gen_base.GeneratorBase):
     gen_base.GeneratorBase.__init__(self, fname, verfname, options)
 
   def write(self):
-    targets = []
+    # FS and RA modules. They have to be declared before other libraries
+    mod_targets = []
+    # libsvn_* targets
+    lib_targets = []
+    # Program targets
+    exe_targets = []
+    # TODO: Test suite
+    # test_targets = []
 
     for target in self.get_install_sources():
       target: gen_base.Target
@@ -131,7 +138,16 @@ class Generator(gen_base.GeneratorBase):
           msvc_objects = msvc_objects,
         )
 
-        targets.append(new_target)
+        if isinstance(target, gen_base.TargetExe):
+          exe_targets.append(new_target)
+        elif isinstance(target, gen_base.TargetRaModule) or \
+             isinstance(target, gen_base.TargetFsModule):
+          mod_targets.append(new_target)
+        elif isinstance(target, gen_base.TargetLib):
+          lib_targets.append(new_target)
+
+    # Sort targets for better readability
+    targets = mod_targets + lib_targets + exe_targets
 
     data = _eztdata(
       targets = targets,


Reply via email to