Author: rinrab
Date: Sat Jun 29 16:12:31 2024
New Revision: 1918749

URL: http://svn.apache.org/viewvc?rev=1918749&view=rev
Log:
On the 'cmake' branch: Configure condition for target to be enabled from
Python script. Currently, it is always set `TRUE`.

* build/generator/gen_cmake.py
  (cmake_target): Add enable_condition field to the class.
  (Generator.write): Pass enable_condition to new targets.

* build/generator/templates/CMakeLists.txt.ezt
  (targets loop): Generate `if` over the targets with target.enable_condition
   as the condition. Neste the body to right by two spaces.

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=1918749&r1=1918748&r2=1918749&view=diff
==============================================================================
--- subversion/branches/cmake/build/generator/gen_cmake.py (original)
+++ subversion/branches/cmake/build/generator/gen_cmake.py Sat Jun 29 16:12:31 
2024
@@ -31,7 +31,7 @@ class _eztdata(object):
 class cmake_target():
   def __init__(self, name: str, type: str, sources,
                libs, msvc_libs, msvc_objects,
-               group: str):
+               enable_condition: str, group: str):
     self.name = name
     self.type = type
     self.sources = sources
@@ -40,6 +40,7 @@ class cmake_target():
     self.msvc_libs = msvc_libs
     self.msvc_objects = msvc_objects
 
+    self.enable_condition = enable_condition
     self.group = group
 
 def get_target_type(target: gen_base.Target):
@@ -87,6 +88,7 @@ class Generator(gen_base.GeneratorBase):
     for target in self.get_install_sources():
       target: gen_base.Target
       group = None
+      enable_condition = "TRUE"
 
       if isinstance(target, gen_base.TargetScript):
         # there is nothing to build
@@ -157,6 +159,7 @@ class Generator(gen_base.GeneratorBase):
           libs = libs,
           msvc_libs = msvc_libs,
           msvc_objects = msvc_objects,
+          enable_condition = enable_condition,
           group = group
         )
 

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=1918749&r1=1918748&r2=1918749&view=diff
==============================================================================
--- subversion/branches/cmake/build/generator/templates/CMakeLists.txt.ezt 
(original)
+++ subversion/branches/cmake/build/generator/templates/CMakeLists.txt.ezt Sat 
Jun 29 16:12:31 2024
@@ -39,23 +39,25 @@ if (WIN32)
     "WIN32"
   )
 endif()
-[for targets][is targets.type "lib"]
-add_library([targets.name][for targets.sources]
-  [targets.sources][end]
-)
-target_include_directories([targets.name] PUBLIC 
${SVN_INCLUDE_DIRECTORIES})[if-any targets.group]
-list(APPEND [targets.group] [targets.name])[end]
-[end][is targets.type "exe"]
-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]
-if (WIN32)
-  target_link_libraries([targets.name] PRIVATE[for targets.msvc_libs] 
[targets.msvc_libs][end])
-endif()[end][if-any targets.msvc_objects]
-if (MSVC)
-  set_target_properties([targets.name] PROPERTIES LINK_FLAGS[for 
targets.msvc_objects] [targets.msvc_objects][end])
-endif()[end]
+[for targets]
+if ([targets.enable_condition])[is targets.type "lib"]
+  add_library([targets.name][for targets.sources]
+    [targets.sources][end]
+  )
+  target_include_directories([targets.name] PUBLIC 
${SVN_INCLUDE_DIRECTORIES})[if-any targets.group]
+  list(APPEND [targets.group] [targets.name])[end]
+  [end][is targets.type "exe"]
+  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]
+  if (WIN32)
+    target_link_libraries([targets.name] PRIVATE[for targets.msvc_libs] 
[targets.msvc_libs][end])
+  endif()[end][if-any targets.msvc_objects]
+  if (MSVC)
+    set_target_properties([targets.name] PROPERTIES LINK_FLAGS[for 
targets.msvc_objects] [targets.msvc_objects][end])
+  endif()[end]
+endif()
 [end]


Reply via email to