@@ -1818,6 +1818,14 @@ def _write_ninja_file_and_compile_objects(
1818
1818
build_file_path = os .path .join (build_directory , 'build.ninja' )
1819
1819
if verbose :
1820
1820
print (f'Emitting ninja build file { build_file_path } ...' , file = sys .stderr )
1821
+
1822
+ # Create build_directory if it does not exist
1823
+ if not os .path .exists (build_directory ):
1824
+ if verbose :
1825
+ print (f'Creating directory { build_directory } ...' , file = sys .stderr )
1826
+ # This is like mkdir -p, i.e. will also create parent directories.
1827
+ os .makedirs (build_directory , exist_ok = True )
1828
+
1821
1829
_write_ninja_file (
1822
1830
path = build_file_path ,
1823
1831
cflags = cflags ,
@@ -1866,6 +1874,14 @@ def _write_ninja_file_and_build_library(
1866
1874
build_file_path = os .path .join (build_directory , 'build.ninja' )
1867
1875
if verbose :
1868
1876
print (f'Emitting ninja build file { build_file_path } ...' , file = sys .stderr )
1877
+
1878
+ # Create build_directory if it does not exist
1879
+ if not os .path .exists (build_directory ):
1880
+ if verbose :
1881
+ print (f'Creating directory { build_directory } ...' , file = sys .stderr )
1882
+ # This is like mkdir -p, i.e. will also create parent directories.
1883
+ os .makedirs (build_directory , exist_ok = True )
1884
+
1869
1885
# NOTE: Emitting a new ninja build file does not cause re-compilation if
1870
1886
# the sources did not change, so it's ok to re-emit (and it's fast).
1871
1887
_write_ninja_file_to_build_library (
0 commit comments