CMakeLists.txt 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. set(INCLUDES_BASE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../include)
  2. if (BUILD_SHARED_LIBS)
  3. set(HDLL_SUFFIX .hdll)
  4. else()
  5. set(HDLL_SUFFIX .hdll${CMAKE_STATIC_LIBRARY_SUFFIX})
  6. endif()
  7. function(set_as_hdll target)
  8. set_target_properties(${target}.hdll
  9. PROPERTIES
  10. PREFIX ""
  11. OUTPUT_NAME ${target}
  12. SUFFIX ${HDLL_SUFFIX}
  13. )
  14. endfunction()
  15. if (DOWNLOAD_DEPENDENCIES)
  16. set(CMAKE_COMMON_DEP_ARGS
  17. -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
  18. -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>
  19. $<$<BOOL:${ANDROID_PLATFORM}>:-DANDROID_PLATFORM=${ANDROID_PLATFORM}>
  20. $<$<BOOL:${ANDROID_ABI}>:-DANDROID_ABI=${CMAKE_ANDROID_ARCH_ABI}>
  21. $<$<BOOL:${CMAKE_OSX_ARCHITECTURES}>:-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}>
  22. $<$<BOOL:${CMAKE_OSX_DEPLOYMENT_TARGET}>:-DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}>
  23. -DCMAKE_POSITION_INDEPENDENT_CODE=ON
  24. -DCMAKE_MESSAGE_LOG_LEVEL=ERROR
  25. -DCMAKE_INSTALL_MESSAGE=LAZY
  26. )
  27. include(ExternalProject)
  28. include(FetchContent)
  29. endif()
  30. if(WIN32)
  31. add_subdirectory(directx)
  32. endif()
  33. option(WITH_FMT "Build fmt.hdll." ON)
  34. if(WITH_FMT)
  35. add_subdirectory(fmt)
  36. endif()
  37. # add_subdirectory(mesa)
  38. option(WITH_OPENAL "Build openal.hdll." ON)
  39. if(WITH_OPENAL)
  40. add_subdirectory(openal)
  41. endif()
  42. option(WITH_SDL "Build sdl.hdll." ON)
  43. if(WITH_SDL)
  44. add_subdirectory(sdl)
  45. endif()
  46. option(WITH_SQLITE "Build sqlite.hdll." ON)
  47. if(WITH_SQLITE)
  48. add_subdirectory(sqlite)
  49. endif()
  50. option(WITH_SSL "Build ssl.hdll." ON)
  51. if(WITH_SSL)
  52. add_subdirectory(ssl)
  53. endif()
  54. option(WITH_UI "Build ui.hdll." ON)
  55. if(WITH_UI)
  56. add_subdirectory(ui)
  57. endif()
  58. option(WITH_UV "Build uv.hdll." ON)
  59. if(WITH_UV)
  60. add_subdirectory(uv)
  61. endif()
  62. option(WITH_VIDEO "Build video.hdll." ON)
  63. if(WIN32)
  64. if(WITH_VIDEO)
  65. add_subdirectory(video)
  66. endif()
  67. endif()
  68. option(WITH_HEAPS "Build heaps.hdll." ON)
  69. if(WITH_HEAPS)
  70. add_subdirectory(heaps)
  71. endif()