diff --git a/generator/generator_lib.py b/generator/generator_lib.py
index 2056bae..fa18a0d 100644
--- a/generator/generator_lib.py
+++ b/generator/generator_lib.py
@@ -231,6 +231,16 @@
     return paths
 
 
+# Computes the string representing a cmake list of paths.
+def _cmake_path_list(paths):
+    if os.name == "nt":
+        # On Windows CMake still expects paths to be separated by forward
+        # slashes
+        return (";".join(paths)).replace("\\", "/")
+    else:
+        return ";".join(paths)
+
+
 def run_generator(generator):
     parser = argparse.ArgumentParser(
         description=generator.get_description(),
@@ -310,7 +320,7 @@
                         " ".join(dependencies))
 
         if args.print_cmake_dependencies:
-            sys.stdout.write(";".join(dependencies))
+            sys.stdout.write(_cmake_path_list(dependencies))
             return 0
 
     # The caller wants to assert that the outputs are what it expects.
@@ -329,9 +339,11 @@
 
     # Print the list of all the outputs for cmake.
     if args.print_cmake_outputs:
-        sys.stdout.write(";".join([
-            os.path.join(args.output_dir, render.output) for render in renders
-        ]))
+        sys.stdout.write(
+            _cmake_path_list([
+                os.path.join(args.output_dir, render.output)
+                for render in renders
+            ]))
         return 0
 
     outputs = _do_renders(renders, args.template_dir)
