CMakeLists.txt 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # Definitions for all external bundled libraries
  2. # Catch
  3. add_library(catch-single-include INTERFACE)
  4. target_include_directories(catch-single-include INTERFACE catch/single_include)
  5. # Crypto++
  6. add_subdirectory(cryptopp)
  7. # Dynarmic
  8. # Dynarmic will skip defining xbyak if it's already defined, we then define it below
  9. add_library(xbyak INTERFACE)
  10. option(DYNARMIC_TESTS OFF)
  11. set(DYNARMIC_NO_BUNDLED_FMT ON)
  12. add_subdirectory(dynarmic)
  13. # libfmt
  14. add_subdirectory(fmt)
  15. # getopt
  16. if (MSVC)
  17. add_subdirectory(getopt)
  18. endif()
  19. # Glad
  20. add_subdirectory(glad)
  21. # inih
  22. add_subdirectory(inih)
  23. # lz4
  24. set(LZ4_BUNDLED_MODE ON)
  25. add_subdirectory(lz4/contrib/cmake_unofficial)
  26. target_include_directories(lz4_static INTERFACE ./lz4/lib)
  27. # MicroProfile
  28. add_library(microprofile INTERFACE)
  29. target_include_directories(microprofile INTERFACE ./microprofile)
  30. # Nihstro
  31. add_library(nihstro-headers INTERFACE)
  32. target_include_directories(nihstro-headers INTERFACE ./nihstro/include)
  33. # SoundTouch
  34. add_subdirectory(soundtouch)
  35. # The SoundTouch target doesn't export the necessary include paths as properties by default
  36. target_include_directories(SoundTouch INTERFACE ./soundtouch/include)
  37. # Xbyak
  38. if (ARCHITECTURE_x86_64)
  39. # Defined before "dynarmic" above
  40. # add_library(xbyak INTERFACE)
  41. target_include_directories(xbyak INTERFACE ./xbyak/xbyak)
  42. target_compile_definitions(xbyak INTERFACE XBYAK_NO_OP_NAMES)
  43. endif()
  44. # ENet
  45. add_subdirectory(enet)
  46. target_include_directories(enet INTERFACE ./enet/include)
  47. if (ENABLE_WEB_SERVICE)
  48. # CPR
  49. option(BUILD_TESTING OFF)
  50. option(BUILD_CPR_TESTS OFF)
  51. add_subdirectory(cpr)
  52. target_include_directories(cpr INTERFACE ./cpr/include)
  53. # JSON
  54. add_library(json-headers INTERFACE)
  55. target_include_directories(json-headers INTERFACE ./json)
  56. endif()