diff --git a/setup.py b/setup.py
index 622d2f7460087f851238f82d57b97037073d8d3b..cb6ee1a4a945d54609bb39f07e1b4ecbe485704e 100644
--- a/setup.py
+++ b/setup.py
@@ -3,7 +3,6 @@ import os
 import shutil
 import pathlib
 import multiprocessing
-import platform
 
 from math import ceil
 
@@ -52,12 +51,16 @@ class CMakeBuild(build_ext):
             if "AIDGE_INSTALL" not in os.environ
             else os.environ["AIDGE_INSTALL"]
         )
-        # Ninja doesn't work for windows build on the ci for now
-        build_gen = ["-G", "Ninja"] if "Windows" in platform.system() else []
+        build_gen = (
+            ["-G",[os.environ["AIDGE_BUILD_GEN"]]
+            if "AIDGE_BUILD_GEN" in os.environ
+            else [-G,"Ninja"]  # using ninja as default build system to build faster and with the same compiler as on windows
+        )
+        
         self.spawn(
             [
                 "cmake",
-                *build_gen,  # using ninja as build system to build faster and with the same compiler as on windows
+                *build_gen,
                 str(cwd),
                 "-DTEST=OFF",
                 f"-DCMAKE_INSTALL_PREFIX:PATH={install_path}",