CMakeLists.txt 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. # CPR
  6. option(BUILD_TESTING OFF)
  7. option(BUILD_CPR_TESTS OFF)
  8. add_subdirectory(cpr)
  9. target_include_directories(cpr INTERFACE ./cpr/include)
  10. # Crypto++
  11. add_subdirectory(cryptopp)
  12. # Dynarmic
  13. # Dynarmic will skip defining xbyak if it's already defined, we then define it below
  14. add_library(xbyak INTERFACE)
  15. option(DYNARMIC_TESTS OFF)
  16. set(DYNARMIC_NO_BUNDLED_FMT ON)
  17. add_subdirectory(dynarmic)
  18. # libfmt
  19. add_subdirectory(fmt)
  20. # getopt
  21. if (MSVC)
  22. add_subdirectory(getopt)
  23. endif()
  24. # Glad
  25. add_subdirectory(glad)
  26. # inih
  27. add_subdirectory(inih)
  28. # JSON
  29. add_library(json-headers INTERFACE)
  30. target_include_directories(json-headers INTERFACE ./json/src)
  31. # MicroProfile
  32. add_library(microprofile INTERFACE)
  33. target_include_directories(microprofile INTERFACE ./microprofile)
  34. # Nihstro
  35. add_library(nihstro-headers INTERFACE)
  36. target_include_directories(nihstro-headers INTERFACE ./nihstro/include)
  37. # SoundTouch
  38. add_subdirectory(soundtouch)
  39. # The SoundTouch target doesn't export the necessary include paths as properties by default
  40. target_include_directories(SoundTouch INTERFACE ./soundtouch/include)
  41. # Xbyak
  42. if (ARCHITECTURE_x86_64)
  43. # Defined before "dynarmic" above
  44. # add_library(xbyak INTERFACE)
  45. target_include_directories(xbyak INTERFACE ./xbyak/xbyak)
  46. target_compile_definitions(xbyak INTERFACE XBYAK_NO_OP_NAMES)
  47. endif()
  48. # ENet
  49. add_subdirectory(enet)
  50. target_include_directories(enet INTERFACE ./enet/include)