generator.toml 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. [platforms]
  2. linux="CMAKE_SYSTEM_NAME STREQUAL \"Linux\" AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"x86_64\" AND NOT HAVE_CUDA"
  3. linux-x86_64="CMAKE_SYSTEM_NAME STREQUAL \"Linux\" AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"x86_64\" AND NOT HAVE_CUDA"
  4. linux-x86_64-cuda="CMAKE_SYSTEM_NAME STREQUAL \"Linux\" AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"x86_64\" AND HAVE_CUDA"
  5. linux-aarch64="CMAKE_SYSTEM_NAME STREQUAL \"Linux\" AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"aarch64\" AND NOT HAVE_CUDA"
  6. linux-arm64="CMAKE_SYSTEM_NAME STREQUAL \"Linux\" AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"aarch64\" AND NOT HAVE_CUDA"
  7. linux-aarch64-cuda="CMAKE_SYSTEM_NAME STREQUAL \"Linux\" AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"aarch64\" AND HAVE_CUDA"
  8. linux-arm64-cuda="CMAKE_SYSTEM_NAME STREQUAL \"Linux\" AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"aarch64\" AND HAVE_CUDA"
  9. linux-ppc64le="CMAKE_SYSTEM_NAME STREQUAL \"Linux\" AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"ppc64le\" AND NOT HAVE_CUDA"
  10. linux-ppc64le-cuda="CMAKE_SYSTEM_NAME STREQUAL \"Linux\" AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"ppc64le\" AND HAVE_CUDA"
  11. darwin="CMAKE_SYSTEM_NAME STREQUAL \"Darwin\" AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"x86_64\""
  12. darwin-x86_64="CMAKE_SYSTEM_NAME STREQUAL \"Darwin\" AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"x86_64\""
  13. darwin-arm64="CMAKE_SYSTEM_NAME STREQUAL \"Darwin\" AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"arm64\""
  14. windows="WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"AMD64\" AND NOT HAVE_CUDA"
  15. windows-x86_64="WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"AMD64\" AND NOT HAVE_CUDA"
  16. windows-x86_64-cuda="WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL \"AMD64\" AND HAVE_CUDA"
  17. android-arm="ANDROID AND CMAKE_ANDROID_ARCH STREQUAL \"arm\""
  18. android-arm32="ANDROID AND CMAKE_ANDROID_ARCH STREQUAL \"arm\""
  19. android-arm64="ANDROID AND CMAKE_ANDROID_ARCH STREQUAL \"arm64\""
  20. android-x86="ANDROID AND CMAKE_ANDROID_ARCH STREQUAL \"x86\""
  21. android-x86_64="ANDROID AND CMAKE_ANDROID_ARCH STREQUAL \"x86_64\""
  22. [root]
  23. templates=[
  24. { path="conanfile.jinja", dest="conanfile.txt" },
  25. { path="root_cmake_lists.jinja", dest="CMakeLists.txt" },
  26. { path="root_global_vars.jinja", dest="cmake/global_vars.cmake" },
  27. ]
  28. copy=[
  29. "cmake/global_flags.compiler.gnu.march.cmake",
  30. "cmake/global_flags.compiler.gnu.cmake",
  31. "cmake/global_flags.compiler.msvc.cmake",
  32. "cmake/global_flags.linker.gnu.cmake",
  33. "cmake/global_flags.linker.msvc.cmake",
  34. "cmake/global_flags.cmake",
  35. ]
  36. [targets.EMPTY]
  37. template={ path="dir_cmake_lists.jinja", dest="CMakeLists{PLATFORM}.txt" }
  38. merge_platform_template={ path="merge_platforms_cmake_lists.jinja", dest="CMakeLists.txt" }
  39. [targets.add_executable]
  40. template={ path="dir_cmake_lists.jinja", dest="CMakeLists{PLATFORM}.txt" }
  41. merge_platform_template={ path="merge_platforms_cmake_lists.jinja", dest="CMakeLists.txt" }
  42. [targets.add_global_library_for]
  43. is_extra_target = true
  44. [targets.add_library]
  45. template={ path="dir_cmake_lists.jinja", dest="CMakeLists{PLATFORM}.txt" }
  46. merge_platform_template={ path="merge_platforms_cmake_lists.jinja", dest="CMakeLists.txt" }
  47. [targets.add_shared_library]
  48. template={ path="dir_cmake_lists.jinja", dest="CMakeLists{PLATFORM}.txt" }
  49. merge_platform_template={ path="merge_platforms_cmake_lists.jinja", dest="CMakeLists.txt" }
  50. [targets.add_fat_object]
  51. template={ path="dir_cmake_lists.jinja", dest="CMakeLists{PLATFORM}.txt" }
  52. merge_platform_template={ path="merge_platforms_cmake_lists.jinja", dest="CMakeLists.txt" }
  53. [targets.add_recursive_library]
  54. is_extra_target = true
  55. [targets.add_swig_jni_library]
  56. is_extra_target = true
  57. [attrs.root]
  58. # DEPRECATED - Skipped old hardcoded-cmake attributes
  59. conan_require="skip"
  60. conan_require_tool="skip"
  61. conan_import="skip"
  62. conan_options="skip"
  63. add_language="skip"
  64. set_global_flags="skip"
  65. # Really used attributes
  66. conan-requires="sorted_set"
  67. conan-tool_requires="sorted_set"
  68. conan-imports="sorted_set"
  69. conan-options="set"
  70. conan-generators="sorted_set"
  71. project_languages="set"
  72. vanilla_protobuf="flag"
  73. includes="set"
  74. [attrs.platform]
  75. platform_vars-FAT_OBJECT_PREFIX="str"
  76. platform_vars-FAT_OBJECT_SUFFIX="str"
  77. platform_vars-RAGEL_FLAGS="str"
  78. platform_vars-YASM_FLAGS="str"
  79. platform_vars-CMAKE_CUDA_STANDARD="str"
  80. platform_vars-BISON_FLAGS="str"
  81. platform_vars-LEX_FLAGS="str"
  82. platform_vars-FBS_CPP_FLAGS="str"
  83. platform_vars-COMMON_PROTOC_FLAGS="str"
  84. [attrs.dir]
  85. [attrs.target]
  86. is_interface="bool"
  87. [[rules]]
  88. attrs=["run_antlr"]
  89. copy=["cmake/antlr.cmake"]
  90. add_values=[{attr="includes", values=["cmake/antlr.cmake"]}]
  91. [[rules]]
  92. attrs=[
  93. "target_bison_parser",
  94. "target_flex_lexers"
  95. ]
  96. copy=["cmake/bison.cmake"]
  97. add_values=[{attr="includes", values=["cmake/bison.cmake"]}]
  98. [[rules]]
  99. attrs=[
  100. "conan_add_remote",
  101. "conan_check",
  102. "conan_cmake_autodetect",
  103. "conan_cmake_configure",
  104. "conan_cmake_detect_unix_libcxx",
  105. "conan_cmake_detect_vs_runtime",
  106. "conan_cmake_generate_conanfile",
  107. "conan_cmake_install",
  108. "conan_cmake_run",
  109. "conan_cmake_settings",
  110. "conan_cmake_setup_conanfile",
  111. "conan_config_install",
  112. "conan_load_buildinfo",
  113. "conan_parse_arguments",
  114. "conan-requires",
  115. "conan-tool_requires",
  116. "old_conan_cmake_install",
  117. ]
  118. copy=["cmake/conan.cmake"]
  119. add_values=[{attr="includes", values=["cmake/conan.cmake"]}]
  120. [[rules]]
  121. attrs=[
  122. "target_ev_messages",
  123. "target_proto_messages",
  124. "target_proto_plugin",
  125. "target_proto_outs",
  126. "target_proto_addincls",
  127. ]
  128. copy=[
  129. "cmake/protobuf.cmake",
  130. "build/scripts/re_replace.py",
  131. ]
  132. add_values=[{attr="includes", values=["cmake/protobuf.cmake"]}]
  133. [[rules]]
  134. attrs=[
  135. "add_global_library_for",
  136. "archive",
  137. "resources_file",
  138. "generate_enum_serilization",
  139. "copy",
  140. "target_joined_source",
  141. "target_ragel_lexers",
  142. "target_yasm_source",
  143. "vcs_info",
  144. "target_sources_custom",
  145. "use_export_script",
  146. "add_yunittest",
  147. "set_yunittest_property",
  148. ]
  149. copy=[
  150. "cmake/common.cmake",
  151. "build/scripts/export_script_gen.py",
  152. "build/scripts/split_unittest.py",
  153. "build/scripts/generate_vcs_info.py"
  154. ]
  155. add_values=[{attr="includes", values=["cmake/common.cmake"]}]
  156. [[rules]]
  157. attrs=[
  158. "llvm_compile_c",
  159. "llvm_compile_cxx",
  160. ]
  161. copy=["cmake/llvm-tools.cmake"]
  162. add_values=[{attr="includes", values=["cmake/llvm-tools.cmake"]}]
  163. [[rules]]
  164. attrs=["curdir_masm_flags"]
  165. copy=["cmake/masm.cmake"]
  166. add_values=[{attr="includes", values=["cmake/masm.cmake"]}]
  167. [[rules]]
  168. attrs=["target_fbs_source"]
  169. copy=["cmake/fbs.cmake"]
  170. add_values=[{attr="includes", values=["cmake/fbs.cmake"]}]
  171. [[rules]]
  172. attrs=["add_fat_object"]
  173. copy=["cmake/fat_object.cmake"]
  174. add_values=[{attr="includes", values=["cmake/fat_objects.cmake"]}]
  175. [[rules]]
  176. attrs=["add_recursive_library"]
  177. copy=[
  178. "cmake/recursive_library.cmake",
  179. "build/scripts/create_recursive_library_for_cmake.py"
  180. ]
  181. add_values=[{attr="includes", values=["cmake/recursive_library.cmake"]}]
  182. [[rules]]
  183. attrs=["add_shared_library"]
  184. copy=["cmake/shared_libs.cmake"]
  185. add_values=[{attr="includes", values=["cmake/shared_libs.cmake"]}]
  186. [[rules]]
  187. attrs=[
  188. "target_cuda_flags",
  189. "target_cuda_cflags",
  190. "target_cuda_sources"
  191. ]
  192. copy=["cmake/cuda.cmake"]
  193. add_values=[{attr="includes", values=["cmake/cuda.cmake"]}]
  194. [[rules]]
  195. attrs=["target_rodata_sources"]
  196. copy=["cmake/archive.cmake"]
  197. add_values=[{attr="includes", values=["cmake/archive.cmake"]}]
  198. [[rules]]
  199. attrs=[
  200. "target_cython_sources",
  201. "target_cython_options",
  202. "target_cython_include_directories",
  203. "set_python_type_for_cython",
  204. ]
  205. copy=["cmake/cython.cmake"]
  206. add_values=[{attr="includes", values=["cmake/cython.cmake"]}]
  207. [[rules]]
  208. attrs=[
  209. "swig_add_library",
  210. "add_jar"
  211. ]
  212. copy=[
  213. "cmake/swig.cmake",
  214. "build/scripts/gather_swig_java.cmake"
  215. ]
  216. add_values=[{attr="includes", values=["cmake/swig.cmake"]}]
  217. # Conan profiles for platforms
  218. [[rules]]
  219. platforms=[
  220. "android-arm",
  221. "android-arm32"
  222. ]
  223. copy=["cmake/conan-profiles/android.armv7.profile"]
  224. [[rules]]
  225. platforms=["android-arm64"]
  226. copy=["cmake/conan-profiles/android.arm64.profile"]
  227. [[rules]]
  228. platforms=["android-x86"]
  229. copy=["cmake/conan-profiles/android.x86.profile"]
  230. [[rules]]
  231. platforms=["android-x86_64"]
  232. copy=["cmake/conan-profiles/android.x86_64.profile"]
  233. [[rules]]
  234. platforms=[
  235. "linux-aarch64",
  236. "linux-arm64",
  237. "linux-aarch64-cuda",
  238. "linux-arm64-cuda"
  239. ]
  240. copy=["cmake/conan-profiles/linux.aarch64.profile"]
  241. [[rules]]
  242. platforms=[
  243. "linux-ppc64le",
  244. "linux-ppc64le-cuda"
  245. ]
  246. copy=["cmake/conan-profiles/linux.ppc64le.profile"]
  247. [[rules]]
  248. platforms=["darwin-arm64"]
  249. copy=["cmake/conan-profiles/macos.arm64.profile"]