generator.toml 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  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. [common]
  37. template={ path="common_cmake_lists.jinja", dest="CMakeLists.txt" }
  38. [dir]
  39. template={ path="dir_cmake_lists.jinja", dest="CMakeLists{PLATFORM}.txt" }
  40. [attrs.root]
  41. project_name="str"
  42. project_language_list="list"
  43. platform_vars="list"
  44. includes="sorted_set"
  45. use_conan="bool"
  46. vanilla_protobuf="flag"
  47. [attrs.dir]
  48. # DEPRECATED
  49. prologue="str"
  50. epilogue="str"
  51. [attrs.target]
  52. is_interface="bool"
  53. [[rules]]
  54. attrs=["run_antlr"]
  55. copy=["cmake/antlr.cmake"]
  56. add_values=[{attr="includes", values=["cmake/antlr.cmake"]}]
  57. [[rules]]
  58. attrs=[
  59. "target_bison_parser",
  60. "target_flex_lexers"
  61. ]
  62. copy=["cmake/bison.cmake"]
  63. add_values=[{attr="includes", values=["cmake/bison.cmake"]}]
  64. [[rules]]
  65. attrs=[
  66. "conan_add_remote",
  67. "conan_check",
  68. "conan_cmake_autodetect",
  69. "conan_cmake_configure",
  70. "conan_cmake_detect_unix_libcxx",
  71. "conan_cmake_detect_vs_runtime",
  72. "conan_cmake_generate_conanfile",
  73. "conan_cmake_install",
  74. "conan_cmake_run",
  75. "conan_cmake_settings",
  76. "conan_cmake_setup_conanfile",
  77. "conan_config_install",
  78. "conan_load_buildinfo",
  79. "conan_parse_arguments",
  80. "conan_require",
  81. "conan_require_tool",
  82. "old_conan_cmake_install",
  83. ]
  84. copy=["cmake/conan.cmake"]
  85. add_values=[{attr="includes", values=["cmake/conan.cmake"]}]
  86. [[rules]]
  87. attrs=[
  88. "target_ev_messages",
  89. "target_proto_messages",
  90. "target_proto_plugin",
  91. "target_proto_outs",
  92. "target_proto_addincls",
  93. ]
  94. copy=[
  95. "cmake/protobuf.cmake",
  96. "build/scripts/re_replace.py",
  97. ]
  98. add_values=[{attr="includes", values=["cmake/protobuf.cmake"]}]
  99. [[rules]]
  100. attrs=[
  101. "add_global_library_for",
  102. "archive",
  103. "resources_file",
  104. "generate_enum_serilization",
  105. "copy",
  106. "target_joined_source",
  107. "target_ragel_lexers",
  108. "target_yasm_source",
  109. "vcs_info",
  110. "target_sources_custom",
  111. "use_export_script",
  112. "add_yunittest",
  113. "set_yunittest_property",
  114. ]
  115. copy=[
  116. "cmake/common.cmake",
  117. "build/scripts/export_script_gen.py",
  118. "build/scripts/split_unittest.py",
  119. "build/scripts/generate_vcs_info.py"
  120. ]
  121. add_values=[{attr="includes", values=["cmake/common.cmake"]}]
  122. [[rules]]
  123. attrs=[
  124. "llvm_compile_c",
  125. "llvm_compile_cxx",
  126. ]
  127. copy=["cmake/llvm-tools.cmake"]
  128. add_values=[{attr="includes", values=["cmake/llvm-tools.cmake"]}]
  129. [[rules]]
  130. attrs=["curdir_masm_flags"]
  131. copy=["cmake/masm.cmake"]
  132. add_values=[{attr="includes", values=["cmake/masm.cmake"]}]
  133. [[rules]]
  134. attrs=["target_fbs_source"]
  135. copy=["cmake/fbs.cmake"]
  136. add_values=[{attr="includes", values=["cmake/fbs.cmake"]}]
  137. [[rules]]
  138. attrs=["add_fat_object"]
  139. copy=["cmake/fat_object.cmake"]
  140. add_values=[{attr="includes", values=["cmake/fat_objects.cmake"]}]
  141. [[rules]]
  142. attrs=["add_recursive_library"]
  143. copy=[
  144. "cmake/recursive_library.cmake",
  145. "build/scripts/create_recursive_library_for_cmake.py"
  146. ]
  147. add_values=[{attr="includes", values=["cmake/recursive_library.cmake"]}]
  148. [[rules]]
  149. attrs=["add_shared_library"]
  150. copy=["cmake/shared_libs.cmake"]
  151. add_values=[{attr="includes", values=["cmake/shared_libs.cmake"]}]
  152. [[rules]]
  153. attrs=[
  154. "target_cuda_flags",
  155. "target_cuda_cflags",
  156. "target_cuda_sources"
  157. ]
  158. copy=["cmake/cuda.cmake"]
  159. add_values=[{attr="includes", values=["cmake/cuda.cmake"]}]
  160. [[rules]]
  161. attrs=["target_rodata_sources"]
  162. copy=["cmake/archive.cmake"]
  163. add_values=[{attr="includes", values=["cmake/archive.cmake"]}]
  164. [[rules]]
  165. attrs=[
  166. "target_cython_sources",
  167. "target_cython_options",
  168. "target_cython_include_directories",
  169. "set_python_type_for_cython",
  170. ]
  171. copy=["cmake/cython.cmake"]
  172. add_values=[{attr="includes", values=["cmake/cython.cmake"]}]
  173. [[rules]]
  174. attrs=[
  175. "swig_add_library",
  176. "add_jar"
  177. ]
  178. copy=[
  179. "cmake/swig.cmake",
  180. "build/scripts/gather_swig_java.cmake"
  181. ]
  182. add_values=[{attr="includes", values=["cmake/swig.cmake"]}]
  183. # Conan profiles for platforms
  184. [[rules]]
  185. platforms=[
  186. "android-arm",
  187. "android-arm32"
  188. ]
  189. copy=["cmake/conan-profiles/android.armv7.profile"]
  190. [[rules]]
  191. platforms=["android-arm64"]
  192. copy=["cmake/conan-profiles/android.arm64.profile"]
  193. [[rules]]
  194. platforms=["android-x86"]
  195. copy=["cmake/conan-profiles/android.x86.profile"]
  196. [[rules]]
  197. platforms=["android-x86_64"]
  198. copy=["cmake/conan-profiles/android.x86_64.profile"]
  199. [[rules]]
  200. platforms=[
  201. "linux-aarch64",
  202. "linux-arm64",
  203. "linux-aarch64-cuda",
  204. "linux-arm64-cuda"
  205. ]
  206. copy=["cmake/conan-profiles/linux.aarch64.profile"]
  207. [[rules]]
  208. platforms=[
  209. "linux-ppc64le",
  210. "linux-ppc64le-cuda"
  211. ]
  212. copy=["cmake/conan-profiles/linux.ppc64le.profile"]
  213. [[rules]]
  214. platforms=["darwin-arm64"]
  215. copy=["cmake/conan-profiles/macos.arm64.profile"]