diff --git a/CMake/generate.py b/CMake/generate.py
index 8b2701d6d47081eb360a441970580948791824c4..0b933cc4b2ef0a0be6f0684aae8b6b8af579bdcb 100755
--- a/CMake/generate.py
+++ b/CMake/generate.py
@@ -26,7 +26,7 @@ class SmartOpen:
 
     def __enter__(self):
         if self._dry_run and 'w' in self._mode:
-            self._fd.write(f'{self._filename}\n' + '-' * self.SEPARATOR_SIZE + '\n')
+            self._fd.write('{}\n'.format(self._filename) + '-' * self.SEPARATOR_SIZE + '\n')
 
         return self._fd
 
@@ -200,16 +200,16 @@ def main(dry_run, main_file, packages):
         for package in packages_set:
             try:
                 packages_functions[type](package, dry_run)
-                print(f'[{i}/{packages_cnt}] Generated {type} package {package}', file=sys.stderr)
+                print('[{}/{}] Generated {} package {}'.format(i, packages_cnt, type, package), file=sys.stderr)
             except FileNotFoundError as e:
-                print(f'[{i}/{packages_cnt}] Skipping library package {package}: {e}', file=sys.stderr)
+                print('[{}/{}] Skipping library package {}: {}'.format(i, packages_cnt, type, package, e), file=sys.stderr)
 
             i += 1
 
     # Generate root file
     if main_file:
         create_root_cmakelist(dry_run, packages)
-        print(f'[{i}/{packages_cnt}] Generated main CMakeLists.txt', file=sys.stderr)
+        print('[{}/{}] Generated main CMakeLists.txt'.format(i, packages_cnt), file=sys.stderr)
 
 # ----------------------------------------------------------------------------------------------------------------------