Przeglądaj źródła

Add support for building on PPC64LE using x86 Intrinsic Compat Shim

J Lynn 6 lat temu
rodzic
commit
36a6629e6b
3 zmienionych plików z 16 dodań i 2 usunięć
  1. 4 0
      CMakeLists.txt
  2. 6 1
      deps/media-playback/CMakeLists.txt
  3. 6 1
      libobs/CMakeLists.txt

+ 4 - 0
CMakeLists.txt

@@ -66,6 +66,10 @@ if(${CMAKE_C_COMPILER_ID} MATCHES "Clang" OR ${CMAKE_CXX_COMPILER_ID} MATCHES "C
 	set(CMAKE_COMPILER_IS_CLANG TRUE)
 endif()
 
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64le")
+	add_compile_definitions(NO_WARN_X86_INTRINSICS)
+endif()
+
 if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
 	set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wvla -Wno-unused-function -Werror-implicit-function-declaration -Wno-missing-field-initializers ${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
 	set(CMAKE_C_FLAGS "-Wall -Wextra -Wvla -Wno-unused-function -Werror-implicit-function-declaration -Wno-missing-braces -Wno-missing-field-initializers ${CMAKE_C_FLAGS} -std=gnu99 -fno-strict-aliasing")

+ 6 - 1
deps/media-playback/CMakeLists.txt

@@ -22,7 +22,12 @@ add_library(media-playback STATIC
 	${media-playback_SOURCES}
 	)
 
-if(NOT MSVC)
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64le")
+	target_compile_options(media-playback
+			PUBLIC
+			-mvsx)
+	add_compile_definitions(NO_WARN_X86_INTRINSICS)
+elseif(NOT MSVC)
 	target_compile_options(media-playback
 		PUBLIC
 			-mmmx

+ 6 - 1
libobs/CMakeLists.txt

@@ -464,7 +464,12 @@ target_compile_definitions(libobs
 	PUBLIC
 		HAVE_OBSCONFIG_H)
 
-if(NOT MSVC)
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64le")
+	target_compile_options(libobs
+		PUBLIC
+			-mvsx)
+	add_compile_definitions(NO_WARN_X86_INTRINSICS)
+elseif(NOT MSVC)
 	target_compile_options(libobs
 		PUBLIC
 			-mmmx