CMakeLists.txt 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. cmake_minimum_required(VERSION 2.8)
  2. project(obs)
  3. set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
  4. if(NOT CMAKE_BUILD_TYPE)
  5. set(CMAKE_BUILD_TYPE RelWithDebInfo)
  6. endif()
  7. set(CMAKE_COMPILER_IS_CLANG ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
  8. if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
  9. option(USE_LIBC++ "Use libc++ instead of libstdc++" ${APPLE})
  10. if(USE_LIBC++)
  11. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
  12. endif()
  13. set(CMAKE_CXX_FLAGS
  14. "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Wmissing-prototypes")
  15. set(CMAKE_C_FLAGS
  16. "${CMAKE_C_FLAGS} -std=c99 -Wall -Wmissing-prototypes -Wshadow")
  17. endif()
  18. if(UNIX)
  19. if(APPLE)
  20. set(CMAKE_MACOSX_RPATH TRUE)
  21. set(CMAKE_INSTALL_RPATH
  22. "${CMAKE_INSTALL_RPATH};@loader_path/;@executable_path/")
  23. option(BUILD_APP_BUNDLE "Build app bundle" false)
  24. endif()
  25. set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
  26. endif()
  27. include(obs_helpers)
  28. obs_add_data_dir(/)
  29. set(LIBRARY_OUTPUT_PATH ${obs_BINARY_DIR}/bin)
  30. set(RUNTIME_OUTPUT_PATH ${obs_BINARY_DIR}/bin)
  31. set(EXECUTABLE_OUTPUT_PATH ${obs_BINARY_DIR}/bin)
  32. add_subdirectory(libobs)
  33. add_subdirectory(libobs-opengl)
  34. if(WIN32)
  35. add_subdirectory(libobs-d3d11)
  36. add_subdirectory(libobs-d3d9)
  37. endif()
  38. set(LIBRARY_OUTPUT_PATH ${obs_BINARY_DIR}/plugins)
  39. set(RUNTIME_OUTPUT_PATH ${obs_BINARY_DIR}/plugins)
  40. add_subdirectory(obs)
  41. add_subdirectory(test)