CMakeLists.txt 1.9 KB
Newer Older
P
Palana 已提交
1 2 3 4 5
if(APPLE)
	cmake_minimum_required(VERSION 2.8.12)
else()
	cmake_minimum_required(VERSION 2.8.11)
endif()
B
BtbN 已提交
6 7 8 9 10

project(obs-studio)

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")

11
include(ObsHelpers)
12 13 14
include(ObsCpack)

add_definitions(-DOBS_VERSION="${OBS_VERSION}")
15

B
BtbN 已提交
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
if(NOT _one_time_action_done)
	if(MSVC)
		file(GENERATE
			OUTPUT "${CMAKE_BINARY_DIR}/ALL_BUILD.vcxproj.user"
			INPUT "${CMAKE_SOURCE_DIR}/cmake/ALL_BUILD.vcxproj.user.in"
			CONDITION ${MSVC})
	endif()
	set(_one_time_action_done TRUE CACHE INTERNAL "")
endif()

if(NOT CMAKE_BUILD_TYPE)
        set(CMAKE_BUILD_TYPE RelWithDebInfo)
endif()

find_package(CXX11 REQUIRED)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX11_FLAGS}")

if(${CMAKE_C_COMPILER_ID} MATCHES "Clang" OR ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
	set(CMAKE_COMPILER_IS_CLANG TRUE)
endif()

if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-function -Wno-unused-parameter -Wall -Wextra")
	set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wno-unused-function -Wno-unused-parameter -Wall -Wextra")
	
	option(USE_LIBC++ "Use libc++ instead of libstdc++" ${APPLE})
	if(USE_LIBC++)
		set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")
	endif()
endif()

if(WIN32)
	add_definitions(-DUNICODE -D_UNICODE)
endif()

if(APPLE)
	set(CMAKE_MACOSX_RPATH TRUE)
	set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
B
BtbN 已提交
54 55 56 57
	list(APPEND CMAKE_INSTALL_RPATH "@loader_path/" "@executable_path/")
elseif(UNIX AND NOT UNIX_STRUCTURE)
	set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
	list(APPEND CMAKE_INSTALL_RPATH "$ORIGIN")
B
BtbN 已提交
58 59
endif()

60 61 62
if(NOT INSTALLER_RUN)
	add_subdirectory(deps)
	add_subdirectory(libobs)
B
BtbN 已提交
63

64 65 66 67
	if(WIN32)
		add_subdirectory(libobs-d3d11)
		add_subdirectory(libobs-d3d9)
	endif()
B
BtbN 已提交
68

69 70 71 72 73 74 75
	add_subdirectory(libobs-opengl)
	add_subdirectory(obs)
	add_subdirectory(plugins)
	add_subdirectory(test)
else()
	obs_generate_multiarch_installer()
endif()
B
BtbN 已提交
76 77

obs_install_additional()