CMakeLists.txt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. project(obs)
  2. include_directories(SYSTEM "${CMAKE_SOURCE_DIR}/libobs")
  3. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  4. set(_lib_suffix 64)
  5. else()
  6. set(_lib_suffix 32)
  7. endif()
  8. if(DEFINED ENV{QTDIR${_lib_suffix}})
  9. list(APPEND CMAKE_PREFIX_PATH "$ENV{QTDIR${_lib_suffix}}")
  10. elseif(DEFINED ENV{QTDIR})
  11. list(APPEND CMAKE_PREFIX_PATH "$ENV{QTDIR}")
  12. endif()
  13. set(CMAKE_INCLUDE_CURRENT_DIR TRUE)
  14. set(CMAKE_AUTOMOC TRUE)
  15. find_package(Qt5Widgets REQUIRED)
  16. if(WIN32)
  17. set(obs_PLATFORM_SOURCES
  18. platform-windows.cpp)
  19. elseif(APPLE)
  20. set(obs_PLATFORM_SOURCES
  21. platform-osx.mm)
  22. add_definitions(-fobjc-arc)
  23. elseif(UNIX)
  24. set(obs_PLATFORM_SOURCES
  25. platform-x11.cpp)
  26. find_package(X11)
  27. include_directories(${X11_INCLUDE_DIRS} ${X11_Xinerama_INCLUDE_PATH})
  28. if(NOT X11_Xinerama_FOUND)
  29. message(FATAL_ERROR "Xinerama not found!")
  30. endif()
  31. set(obs_PLATFORM_LIBRARIES
  32. ${X11_LIBRARIES}
  33. ${X11_Xinerama_LIB})
  34. endif()
  35. set(obs_SOURCES
  36. ${obs_PLATFORM_SOURCES}
  37. obs-app.cpp
  38. # settings-basic.cpp
  39. # settings-basic-general.cpp
  40. # settings-basic-video.cpp
  41. window-basic-main.cpp
  42. # window-basic-settings.cpp
  43. window-namedialog.cpp
  44. qt-wrappers.cpp)
  45. set(obs_HEADERS
  46. obs-app.hpp
  47. platform.hpp
  48. # settings.hpp
  49. # settings-basic.hpp
  50. window-basic-main.hpp
  51. # window-basic-settings.hpp
  52. window-namedialog.hpp
  53. qt-display.hpp
  54. qt-ptr-variant.hpp
  55. qt-wrappers.hpp)
  56. set(obs_UI
  57. forms/NameDialog.ui
  58. forms/OBSBasic.ui
  59. forms/OBSBasicSettings.ui)
  60. set(obs_QRC
  61. forms/obs.qrc)
  62. qt5_wrap_ui(obs_UI_HEADERS ${obs_UI})
  63. qt5_add_resources(obs_QRC_SOURCES ${obs_QRC})
  64. add_executable(obs WIN32
  65. ${obs_SOURCES}
  66. ${obs_HEADERS}
  67. ${obs_UI_HEADERS}
  68. ${obs_QRC_SOURCES})
  69. target_link_libraries(obs
  70. libobs
  71. Qt5::Widgets
  72. ${obs_PLATFORM_LIBRARIES})
  73. install_obs_core(obs)
  74. install_obs_data(obs ../build/data/obs-studio obs-studio)