CMakeLists.txt 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. unset(extra_generator_args)
  2. if(TARGET Qt::Qml)
  3. list(APPEND extra_generator_args QML)
  4. endif()
  5. qt6_protobuf_generate(GENERATED_TARGET protobuf_basic_types_gen
  6. PROTO_FILES
  7. basicmessages.proto
  8. repeatedmessages.proto
  9. mapmessages.proto
  10. simpletest.proto
  11. globalenums.proto
  12. globalenumssamenamespace.proto
  13. nopackage.proto
  14. nopackageexternal.proto
  15. sequencetest.proto
  16. externalpackagetest.proto
  17. annotation.proto # TODO Qt6: move to manual tests
  18. PROTO_FILES_BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../shared/proto/"
  19. FIELDENUM
  20. ${extra_generator_args}
  21. OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/qt_protobuf_generated"
  22. )
  23. qt_internal_add_test(protobuf_basic
  24. SOURCES
  25. simpletest.cpp
  26. INCLUDE_DIRECTORIES
  27. ../shared
  28. LIBRARIES
  29. gtest_main
  30. gtest
  31. Qt::Protobuf
  32. )
  33. _qt_internal_link_protobuf_objects(protobuf_basic protobuf_basic_types_gen)
  34. qt_internal_add_test(protobuf_serialization
  35. SOURCES
  36. serializationtest.cpp serializationtest.h
  37. serializationcomplexmessagemap.cpp
  38. INCLUDE_DIRECTORIES
  39. ../shared
  40. LIBRARIES
  41. gtest_main
  42. gtest
  43. Qt::Protobuf
  44. )
  45. _qt_internal_link_protobuf_objects(protobuf_serialization protobuf_basic_types_gen)
  46. qt_internal_add_test(protobuf_deserialization
  47. SOURCES
  48. deserializationtest.cpp
  49. INCLUDE_DIRECTORIES
  50. ../shared
  51. LIBRARIES
  52. gtest_main
  53. gtest
  54. Qt::Protobuf
  55. )
  56. _qt_internal_link_protobuf_objects(protobuf_deserialization protobuf_basic_types_gen)
  57. qt_internal_add_test(protobuf_converter
  58. SOURCES
  59. converterstest.cpp
  60. INCLUDE_DIRECTORIES
  61. ../shared
  62. LIBRARIES
  63. gtest_main
  64. gtest
  65. Qt::Protobuf
  66. )
  67. qt_internal_add_test(protobuf_jsonserialization
  68. SOURCES
  69. jsonserializationtest.cpp
  70. INCLUDE_DIRECTORIES
  71. ../shared
  72. LIBRARIES
  73. gtest_main
  74. gtest
  75. Qt::Protobuf
  76. )
  77. _qt_internal_link_protobuf_objects(protobuf_jsonserialization protobuf_basic_types_gen)
  78. qt_internal_add_test(protobuf_jsondeserialization
  79. SOURCES
  80. jsondeserializationtest.cpp
  81. INCLUDE_DIRECTORIES
  82. ../shared
  83. LIBRARIES
  84. gtest_main
  85. gtest
  86. Qt::Protobuf
  87. )
  88. _qt_internal_link_protobuf_objects(protobuf_jsondeserialization protobuf_basic_types_gen)
  89. qt_internal_add_test(protobuf_duplicatedmetatypes
  90. SOURCES
  91. duplicatedmetatypestest.cpp
  92. INCLUDE_DIRECTORIES
  93. ../shared
  94. LIBRARIES
  95. gtest_main
  96. gtest
  97. Qt::Protobuf
  98. )
  99. qt6_protobuf_generate(TARGET protobuf_duplicatedmetatypes
  100. PROTO_FILES
  101. duplicated_metatypes.proto
  102. duplicated_metatypes_external.proto
  103. PROTO_FILES_BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../shared/proto/"
  104. # TODO Qt6: Restore QML support
  105. ${extra_generator_args}
  106. FIELDENUM
  107. OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/qt_protobuf_generated"
  108. )
  109. _qt_internal_link_protobuf_objects(protobuf_duplicatedmetatypes protobuf_basic_types_gen)
  110. qt_internal_add_test(protobuf_nestedtypes
  111. SOURCES
  112. nestedtest.cpp
  113. INCLUDE_DIRECTORIES
  114. ../shared
  115. LIBRARIES
  116. gtest_main
  117. gtest
  118. Qt::Protobuf
  119. )
  120. _qt_internal_link_protobuf_objects(protobuf_nestedtypes protobuf_basic_types_gen)
  121. qt6_protobuf_generate(TARGET protobuf_nestedtypes
  122. PROTO_FILES
  123. nestedmessages.proto
  124. PROTO_FILES_BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../shared/proto/"
  125. ${extra_generator_args}
  126. FIELDENUM
  127. OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/qt_protobuf_generated"
  128. )
  129. if(NOT WIN32)
  130. qt_internal_add_test(protobuf_internals
  131. SOURCES
  132. internalstest.cpp
  133. INCLUDE_DIRECTORIES
  134. ../shared
  135. LIBRARIES
  136. gtest_main
  137. gtest
  138. Qt::Protobuf
  139. )
  140. _qt_internal_link_protobuf_objects(protobuf_internals protobuf_basic_types_gen)
  141. endif()