debundle-cmakelists.diff 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260
  1. diff --git a/AssetLoader/CMakeLists.txt b/AssetLoader/CMakeLists.txt
  2. index 2d147c2..540ad49 100644
  3. --- a/AssetLoader/CMakeLists.txt
  4. +++ b/AssetLoader/CMakeLists.txt
  5. @@ -28,6 +28,8 @@ PUBLIC
  6. interface
  7. PRIVATE
  8. include
  9. + ${diligentcore_INCLUDEDIR}
  10. + ${tinygltf_INCLUDEDIR}
  11. )
  12. source_group("source" FILES ${SOURCE})
  13. @@ -46,38 +48,14 @@ PRIVATE
  14. Diligent-JSON
  15. )
  16. -if (TARGET draco OR TARGET draco_static)
  17. - if(TARGET draco)
  18. - set(DRACO_TARGET draco)
  19. - else()
  20. - set(DRACO_TARGET draco_static)
  21. - endif()
  22. - target_link_libraries(Diligent-AssetLoader PRIVATE ${DRACO_TARGET})
  23. - get_target_property(DRACO_SOURCE_DIR ${DRACO_TARGET} SOURCE_DIR)
  24. +if (DILIGENT_ENABLE_DRACO)
  25. + target_link_libraries(Diligent-AssetLoader PRIVATE ${draco_LINK_LIBRARIES})
  26. target_compile_definitions(Diligent-AssetLoader PRIVATE TINYGLTF_ENABLE_DRACO)
  27. - target_include_directories(Diligent-AssetLoader PRIVATE "${DRACO_SOURCE_DIR}/src" "${CMAKE_BINARY_DIR}")
  28. -elseif (DRACO_PATH)
  29. - find_library(DRACO_LIBRARY NAMES draco draco_static PATHS "${DRACO_PATH}/lib")
  30. - if(DRACO_LIBRARY)
  31. - target_link_libraries(Diligent-AssetLoader PRIVATE ${DRACO_LIBRARY})
  32. - target_include_directories(Diligent-AssetLoader PRIVATE "${DRACO_PATH}/include")
  33. - target_compile_definitions(Diligent-AssetLoader PRIVATE TINYGLTF_ENABLE_DRACO)
  34. - else()
  35. - message(WARNING "Unable to find draco library. Draco support will be disabled")
  36. - endif()
  37. + target_include_directories(Diligent-AssetLoader PRIVATE "${draco_INCLUDEDIR}")
  38. endif()
  39. if(DILIGENT_USE_RAPIDJSON)
  40. - FetchContent_DeclareShallowGit(
  41. - rapidjson
  42. - GIT_REPOSITORY https://github.com/Tencent/rapidjson
  43. - GIT_TAG ab1842a2dae061284c0a62dca1cc6d5e7e37e346
  44. - )
  45. - set(RAPIDJSON_BUILD_DOC OFF)
  46. - set(RAPIDJSON_BUILD_EXAMPLES OFF)
  47. - set(RAPIDJSON_BUILD_TESTS OFF)
  48. - FetchContent_MakeAvailable(rapidjson)
  49. - target_include_directories(Diligent-AssetLoader PRIVATE ${rapidjson_SOURCE_DIR}/include/rapidjson)
  50. + target_include_directories(Diligent-AssetLoader PRIVATE ${rapidjson_INCLUDEDIR}/rapidjson)
  51. target_compile_definitions(Diligent-AssetLoader PRIVATE TINYGLTF_USE_RAPIDJSON TINYGLTF_USE_RAPIDJSON_CRTALLOCATOR)
  52. endif()
  53. diff --git a/Imgui/CMakeLists.txt b/Imgui/CMakeLists.txt
  54. index 73b412c..d38827c 100644
  55. --- a/Imgui/CMakeLists.txt
  56. +++ b/Imgui/CMakeLists.txt
  57. @@ -52,8 +52,9 @@ add_library(Diligent-Imgui STATIC
  58. ${IMGUIZMO_QUAT_SOURCE}
  59. )
  60. -if(TARGET imgui)
  61. - target_link_libraries(Diligent-Imgui PRIVATE imgui)
  62. +if(1)
  63. + target_link_libraries(Diligent-Imgui PRIVATE ${imgui_LINK_LIBRARIES})
  64. + target_include_directories(Diligent-Imgui PRIVATE ${imgui_INCLUDEDIR} ${diligentcore_INCLUDEDIR})
  65. else()
  66. set(DEAR_IMGUI_INTERFACE
  67. ${DILIGENT_DEAR_IMGUI_PATH}/imgui.h
  68. diff --git a/NativeApp/CMakeLists.txt b/NativeApp/CMakeLists.txt
  69. index 8a183d4..8297947 100644
  70. --- a/NativeApp/CMakeLists.txt
  71. +++ b/NativeApp/CMakeLists.txt
  72. @@ -462,6 +462,8 @@ if(PLATFORM_WIN32)
  73. target_include_directories(Diligent-NativeAppBase
  74. PUBLIC
  75. include/Win32
  76. + PRIVATE
  77. + ${diligentcore_INCLUDEDIR}
  78. )
  79. elseif(PLATFORM_UNIVERSAL_WINDOWS)
  80. @@ -495,6 +497,8 @@ elseif(PLATFORM_LINUX)
  81. target_include_directories(Diligent-NativeAppBase
  82. PUBLIC
  83. include/Linux
  84. + PRIVATE
  85. + ${diligentcore_INCLUDEDIR}
  86. )
  87. if(VULKAN_SUPPORTED)
  88. find_library(XCB_LIBRARY xcb)
  89. @@ -507,6 +511,8 @@ elseif(PLATFORM_MACOS)
  90. target_include_directories(Diligent-NativeAppBase PUBLIC
  91. src/MacOS
  92. include/MacOS
  93. + PRIVATE
  94. + ${diligentcore_INCLUDEDIR}
  95. )
  96. elseif(PLATFORM_IOS)
  97. target_include_directories(Diligent-NativeAppBase PUBLIC
  98. @@ -528,3 +534,7 @@ source_group("include" FILES ${INCLUDE})
  99. set_target_properties(Diligent-NativeAppBase PROPERTIES
  100. FOLDER DiligentTools
  101. )
  102. +
  103. +if(DILIGENT_INSTALL_TOOLS)
  104. + install_tools_lib(Diligent-NativeAppBase)
  105. +endif()
  106. diff --git a/RenderStateNotation/CMakeLists.txt b/RenderStateNotation/CMakeLists.txt
  107. index 2f76ec8..6129db8 100644
  108. --- a/RenderStateNotation/CMakeLists.txt
  109. +++ b/RenderStateNotation/CMakeLists.txt
  110. @@ -2,6 +2,7 @@ cmake_minimum_required (VERSION 3.6)
  111. project(Diligent-RenderStateNotation CXX)
  112. +set(Diligent-GraphicsEngine_SOURCE_DIR ${diligentcore_INCLUDEDIR}/DiligentCore/Graphics/GraphicsEngine)
  113. set(REFLECTED
  114. ${Diligent-GraphicsEngine_SOURCE_DIR}/interface/BlendState.h
  115. ${Diligent-GraphicsEngine_SOURCE_DIR}/interface/DepthStencilState.h
  116. @@ -26,8 +27,8 @@ file(COPY ../.clang-format DESTINATION "${RSN_PARSER_GENERATED_HEADERS_DIR}")
  117. find_package(Python3 REQUIRED)
  118. -set(LIBCLANG_INSTALL_CMD ${Python3_EXECUTABLE} -m pip install libclang==16.0.6)
  119. -set(JINJA2_INSTALL_CMD ${Python3_EXECUTABLE} -m pip install jinja2)
  120. +set(LIBCLANG_INSTALL_CMD ${Python3_EXECUTABLE} -m pip install --user libclang==16.0.6)
  121. +set(JINJA2_INSTALL_CMD ${Python3_EXECUTABLE} -m pip install --user jinja2)
  122. if(${Python3_VERSION} VERSION_GREATER_EQUAL "3.12")
  123. set(LIBCLANG_INSTALL_CMD ${LIBCLANG_INSTALL_CMD} --break-system-packages)
  124. @@ -65,15 +66,9 @@ source_group("generated" FILES ${GENERATED})
  125. source_group("source" FILES ${SOURCE})
  126. source_group("scripts" FILES ${SCRIPTS})
  127. -if (EXISTS "${CLANG_FORMAT_EXECUTABLE}")
  128. - set(FORMATTING_COMMAND "${CLANG_FORMAT_EXECUTABLE}" -i *.hpp --verbose)
  129. -else()
  130. - set(FORMATTING_COMMAND "${CMAKE_COMMAND}" -E echo "clang-format executable is not found: RSN parser headers will not be formatted")
  131. -endif()
  132. add_custom_command(OUTPUT ${GENERATED}
  133. COMMAND ${Python3_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/scripts/cxx_generator.py" --dir "." --files ${REFLECTED}
  134. - COMMAND ${FORMATTING_COMMAND}
  135. WORKING_DIRECTORY "${RSN_PARSER_GENERATED_HEADERS_DIR}"
  136. DEPENDS ${REFLECTED}
  137. COMMENT "Generating RSN Parser Headers...")
  138. @@ -91,7 +86,10 @@ PUBLIC
  139. interface
  140. PRIVATE
  141. include
  142. - ../../DiligentCore/Graphics/Archiver/interface
  143. + ${diligentcore_INCLUDEDIR}
  144. + ${diligentcore_INCLUDEDIR}/DiligentCore/Graphics/GraphicsEngine/interface
  145. + ${diligentcore_INCLUDEDIR}/DiligentCore/Graphics/Archiver/interface
  146. + ${nlohmann_json_INCLUDEDIR}
  147. ${RSN_PARSER_HEADERS_DIR}
  148. )
  149. diff --git a/RenderStatePackager/CMakeLists.txt b/RenderStatePackager/CMakeLists.txt
  150. index ab34ffa..87cadb3 100644
  151. --- a/RenderStatePackager/CMakeLists.txt
  152. +++ b/RenderStatePackager/CMakeLists.txt
  153. @@ -22,6 +22,12 @@ add_library(Diligent-RenderStatePackagerLib STATIC
  154. target_include_directories(Diligent-RenderStatePackagerLib
  155. PUBLIC
  156. include
  157. +PRIVATE
  158. + ${diligentcore_INCLUDEDIR}
  159. +)
  160. +target_link_directories(Diligent-RenderStatePackagerLib
  161. +PRIVATE
  162. + ${diligentcore_LIBDIR}
  163. )
  164. target_link_libraries(Diligent-RenderStatePackagerLib
  165. @@ -35,29 +41,6 @@ PUBLIC
  166. set_common_target_properties(Diligent-RenderStatePackagerLib)
  167. -add_executable(Diligent-RenderStatePackager
  168. - src/main.cpp
  169. - README.md
  170. -)
  171. -set_common_target_properties(Diligent-RenderStatePackager)
  172. -
  173. -target_link_libraries(Diligent-RenderStatePackager
  174. -PRIVATE
  175. - Diligent-BuildSettings
  176. - Diligent-Common
  177. - Diligent-RenderStatePackagerLib
  178. -)
  179. -target_include_directories(Diligent-RenderStatePackager
  180. -PRIVATE
  181. - include
  182. - ${DILIGENT_ARGS_DIR}
  183. -)
  184. -
  185. -if (DILIGENT_INSTALL_TOOLS)
  186. - install(TARGETS Diligent-RenderStatePackager RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}/${DILIGENT_TOOLS_DIR}/$<CONFIG>" OPTIONAL)
  187. +if(DILIGENT_INSTALL_TOOLS)
  188. + install_tools_lib(Diligent-RenderStatePackagerLib)
  189. endif()
  190. -
  191. -
  192. -set_target_properties(Diligent-RenderStatePackagerLib Diligent-RenderStatePackager PROPERTIES
  193. - FOLDER DiligentTools
  194. -)
  195. diff --git a/TextureLoader/CMakeLists.txt b/TextureLoader/CMakeLists.txt
  196. index eb1150b..9ffcd31 100644
  197. --- a/TextureLoader/CMakeLists.txt
  198. +++ b/TextureLoader/CMakeLists.txt
  199. @@ -34,17 +34,18 @@ set(SOURCE
  200. add_library(Diligent-TextureLoader STATIC ${SOURCE} ${INCLUDE} ${INTERFACE})
  201. set_common_target_properties(Diligent-TextureLoader)
  202. -set_property(SOURCE src/PNGCodec.c src/Image.cpp
  203. -APPEND PROPERTY INCLUDE_DIRECTORIES
  204. - "${CMAKE_CURRENT_SOURCE_DIR}/../ThirdParty/libpng" # png_static target does not define any public include directories
  205. - "${CMAKE_CURRENT_BINARY_DIR}/../ThirdParty/libpng" # pnglibconf.h is generated in the binary directory
  206. -)
  207. target_include_directories(Diligent-TextureLoader
  208. PUBLIC
  209. interface
  210. PRIVATE
  211. include
  212. + ${diligentcore_INCLUDEDIR}
  213. + ${stb_INCLUDEDIR}
  214. + ${libpng_INCLUDEDIR}
  215. + ${libtiff_INCLUDEDIR}
  216. + ${libjpeg_INCLUDEDIR}
  217. + ${zlib_INCLUDEDIR}
  218. )
  219. source_group("source" FILES ${SOURCE})
  220. @@ -59,15 +60,15 @@ PRIVATE
  221. Diligent-GraphicsEngineInterface
  222. Diligent-GraphicsAccessories
  223. Diligent-GraphicsTools
  224. - PNG::PNG
  225. - TIFF::TIFF
  226. - ZLIB::ZLIB
  227. + ${libpng_LINK_LIBRARIES}
  228. + ${libtiff_LINK_LIBRARIES}
  229. + ${zlib_LINK_LIBRARIES}
  230. )
  231. -if (NOT DILIGENT_EXTERNAL_LIBJPEG)
  232. +if (1)
  233. target_link_libraries(Diligent-TextureLoader
  234. PRIVATE
  235. - JPEG::JPEG
  236. + ${libjpeg_LINK_LIBRARIES}
  237. )
  238. else()
  239. target_link_libraries(Diligent-TextureLoader