Author: rinrab
Date: Mon Jul  1 14:06:17 2024
New Revision: 1918785

URL: http://svn.apache.org/viewvc?rev=1918785&view=rev
Log:
On the 'cmake' branch: Add executable targets for the test suite.

* build/generator/gen_cmake.py
  (Generator.write): Create the test_targets list, add the test items to it,
   and then use this list for `targets` to pass to ezt template.

* build/generator/templates/CMakeLists.txt.ezt
  (): Use add_executable(), when the target with the 'test' type met.

Modified:
    subversion/branches/cmake/build/generator/gen_cmake.py
    subversion/branches/cmake/build/generator/templates/CMakeLists.txt.ezt

Modified: subversion/branches/cmake/build/generator/gen_cmake.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/cmake/build/generator/gen_cmake.py?rev=1918785&r1=1918784&r2=1918785&view=diff
==============================================================================
--- subversion/branches/cmake/build/generator/gen_cmake.py (original)
+++ subversion/branches/cmake/build/generator/gen_cmake.py Mon Jul  1 14:06:17 
2024
@@ -92,8 +92,8 @@ class Generator(gen_base.GeneratorBase):
     lib_targets = []
     # Program targets
     exe_targets = []
-    # TODO: Test suite
-    # test_targets = []
+    # The test suite
+    test_targets = []
 
     for target in self.get_install_sources():
       target: gen_base.Target
@@ -154,7 +154,7 @@ class Generator(gen_base.GeneratorBase):
 
       target_type = get_target_type(target)
 
-      if target_type in ["exe", "lib"]:
+      if target_type in ["exe", "lib", "test"]:
         msvc_libs = []
         msvc_objects = []
 
@@ -176,7 +176,10 @@ class Generator(gen_base.GeneratorBase):
         )
 
         if isinstance(target, gen_base.TargetExe):
-          exe_targets.append(new_target)
+          if target_type == "test":
+            test_targets.append(new_target)
+          else:
+            exe_targets.append(new_target)
         elif isinstance(target, gen_base.TargetRaModule) or \
              isinstance(target, gen_base.TargetFsModule):
           mod_targets.append(new_target)
@@ -184,7 +187,7 @@ class Generator(gen_base.GeneratorBase):
           lib_targets.append(new_target)
 
     # Sort targets for better readability
-    targets = mod_targets + lib_targets + exe_targets
+    targets = mod_targets + lib_targets + exe_targets + test_targets
 
     data = _eztdata(
       targets = targets,

Modified: subversion/branches/cmake/build/generator/templates/CMakeLists.txt.ezt
URL: 
http://svn.apache.org/viewvc/subversion/branches/cmake/build/generator/templates/CMakeLists.txt.ezt?rev=1918785&r1=1918784&r2=1918785&view=diff
==============================================================================
--- subversion/branches/cmake/build/generator/templates/CMakeLists.txt.ezt 
(original)
+++ subversion/branches/cmake/build/generator/templates/CMakeLists.txt.ezt Mon 
Jul  1 14:06:17 2024
@@ -50,6 +50,10 @@ if ([targets.enable_condition])[is targe
   add_executable([targets.name][for targets.sources]
     [targets.sources][end]
   )
+  [end][is targets.type "test"]
+  add_executable([targets.name][for targets.sources]
+    [targets.sources][end]
+  )
   [end]target_link_libraries([targets.name] PRIVATE[for targets.libs]
     [targets.libs][end]
   )[if-any targets.msvc_libs]


Reply via email to