@@ -861,6 +861,10 @@ def generate_clion_run_configs(self, configs):
861
861
if 'folder' in config :
862
862
attrib ["folderName" ] = config ["folder" ]
863
863
clion_config = ET .SubElement (root , "configuration" , attrib )
864
+ if 'env' in config :
865
+ envs = ET .SubElement (clion_config , "envs" )
866
+ for key , value in config ['env' ].items ():
867
+ ET .SubElement (envs , "env" , name = key , value = value )
864
868
method = ET .SubElement (clion_config , "method" , v = "2" )
865
869
ET .SubElement (method , "option" ,
866
870
name = "com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" ,
@@ -1045,6 +1049,7 @@ def generate_run_configs(self):
1045
1049
]
1046
1050
})
1047
1051
1052
+ num_cores = os .cpu_count () or 1
1048
1053
self .prompt_option ("boost_src_dir" )
1049
1054
if self .options .boost_src_dir and os .path .exists (self .options .boost_src_dir ):
1050
1055
boost_libs = os .path .join (self .options .boost_src_dir , 'libs' )
@@ -1057,24 +1062,52 @@ def generate_run_configs(self):
1057
1062
"name" : f"Boost.{ lib .title ()} Documentation" ,
1058
1063
"target" : "mrdocs" ,
1059
1064
"args" : [
1060
- '" ../CMakeLists.txt" ' ,
1061
- f'--config=" { self .options .boost_src_dir } /libs/{ lib } /doc/mrdocs.yml" ' ,
1062
- f'--output=" { self .options .boost_src_dir } /libs/{ lib } /doc/modules/reference/pages" ' ,
1065
+ '../CMakeLists.txt' ,
1066
+ f'--config={ self .options .boost_src_dir } /libs/{ lib } /doc/mrdocs.yml' ,
1067
+ f'--output={ self .options .boost_src_dir } /libs/{ lib } /doc/modules/reference/pages' ,
1063
1068
f'--generator=adoc' ,
1064
- f'--addons=" { self .options .mrdocs_src_dir } /share/mrdocs/addons" ' ,
1065
- f'--stdlib-includes=" { self .options .llvm_install_dir } /include/c++/v1" ' ,
1066
- f'--stdlib-includes=" { self .options .llvm_install_dir } /lib/clang/20/include" ' ,
1067
- f'--libc-includes=" { self .options .mrdocs_src_dir } /share/mrdocs/headers/libc-stubs" ' ,
1069
+ f'--addons={ self .options .mrdocs_src_dir } /share/mrdocs/addons' ,
1070
+ f'--stdlib-includes={ self .options .llvm_install_dir } /include/c++/v1' ,
1071
+ f'--stdlib-includes={ self .options .llvm_install_dir } /lib/clang/20/include' ,
1072
+ f'--libc-includes={ self .options .mrdocs_src_dir } /share/mrdocs/headers/libc-stubs' ,
1068
1073
f'--tagfile=reference.tag.xml' ,
1069
1074
'--multipage=true' ,
1070
- '--concurrency=32 ' ,
1075
+ f '--concurrency={ num_cores } ' ,
1071
1076
'--log-level=debug'
1072
1077
]
1073
1078
})
1074
1079
else :
1075
1080
print (
1076
1081
f"Warning: Boost source directory '{ self .options .boost_src_dir } ' does not contain 'libs' directory. Skipping Boost documentation target generation." )
1077
1082
1083
+ # Target to generate the documentation for MrDocs itself
1084
+ configs .append ({
1085
+ "name" : f"MrDocs Self-Reference" ,
1086
+ "target" : "mrdocs" ,
1087
+ "args" : [
1088
+ '../CMakeLists.txt' ,
1089
+ f'--config={ self .options .mrdocs_src_dir } /docs/mrdocs.yml' ,
1090
+ f'--output={ self .options .mrdocs_src_dir } /docs/modules/reference/pages' ,
1091
+ f'--generator=adoc' ,
1092
+ f'--addons={ self .options .mrdocs_src_dir } /share/mrdocs/addons' ,
1093
+ f'--stdlib-includes={ self .options .llvm_install_dir } /include/c++/v1' ,
1094
+ f'--stdlib-includes={ self .options .llvm_install_dir } /lib/clang/20/include' ,
1095
+ f'--libc-includes={ self .options .mrdocs_src_dir } /share/mrdocs/headers/libc-stubs' ,
1096
+ f'--tagfile=reference.tag.xml' ,
1097
+ '--multipage=true' ,
1098
+ f'--concurrency={ num_cores } ' ,
1099
+ '--log-level=debug'
1100
+ ],
1101
+ "env" : {
1102
+ "LLVM_ROOT" : self .options .llvm_install_dir ,
1103
+ "Clang_ROOT" : self .options .llvm_install_dir ,
1104
+ "duktape_ROOT" : self .options .duktape_install_dir ,
1105
+ "Duktape_ROOT" : self .options .duktape_install_dir ,
1106
+ "libxml2_ROOT" : self .options .libxml2_install_dir ,
1107
+ "LibXml2_ROOT" : self .options .libxml2_install_dir
1108
+ }
1109
+ })
1110
+
1078
1111
# bootstrap.py targets
1079
1112
configs .append ({
1080
1113
"name" : f"MrDocs Bootstrap Help" ,
0 commit comments