Linux: Initial work to fix broken build, restore gstreamer 1.0
parent
eb13f813bd
commit
5c8d7d748b
|
|
@ -1551,16 +1551,6 @@
|
||||||
<key>name</key>
|
<key>name</key>
|
||||||
<string>windows64</string>
|
<string>windows64</string>
|
||||||
</map>
|
</map>
|
||||||
<key>linux64</key>
|
|
||||||
<map>
|
|
||||||
<key>archive</key>
|
|
||||||
<map>
|
|
||||||
<key>hash</key>
|
|
||||||
<string>e70898903475d8ac2e81ff33278fc987</string>
|
|
||||||
<key>url</key>
|
|
||||||
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/89309/815433/jpegencoderbasic-1.0-windows64-564842.tar.bz2</string>
|
|
||||||
</map>
|
|
||||||
</map>
|
|
||||||
</map>
|
</map>
|
||||||
<key>version</key>
|
<key>version</key>
|
||||||
<string>1.0</string>
|
<string>1.0</string>
|
||||||
|
|
|
||||||
|
|
@ -206,16 +206,40 @@ set(SIGNING_IDENTITY "Developer ID Application: The Phoenix Firestorm Project, I
|
||||||
endif (DARWIN)
|
endif (DARWIN)
|
||||||
|
|
||||||
if (LINUX OR DARWIN)
|
if (LINUX OR DARWIN)
|
||||||
set(GCC_WARNINGS -Wall -Wno-sign-compare -Wno-trigraphs)
|
if (CMAKE_CXX_COMPILER MATCHES ".*clang")
|
||||||
|
set(CMAKE_COMPILER_IS_CLANGXX 1)
|
||||||
|
endif (CMAKE_CXX_COMPILER MATCHES ".*clang")
|
||||||
|
|
||||||
|
if (CMAKE_COMPILER_IS_GNUCXX)
|
||||||
|
set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs")
|
||||||
|
elseif (CMAKE_COMPILER_IS_CLANGXX)
|
||||||
|
set(GCC_WARNINGS "-Wall -Wno-sign-compare -Wno-trigraphs")
|
||||||
|
endif()
|
||||||
|
|
||||||
if (NOT GCC_DISABLE_FATAL_WARNINGS)
|
if (NOT GCC_DISABLE_FATAL_WARNINGS)
|
||||||
list(APPEND GCC_WARNINGS -Werror)
|
set(GCC_WARNINGS "${GCC_WARNINGS} -Werror")
|
||||||
endif (NOT GCC_DISABLE_FATAL_WARNINGS)
|
endif (NOT GCC_DISABLE_FATAL_WARNINGS)
|
||||||
|
|
||||||
list(APPEND GCC_WARNINGS -Wno-reorder -Wno-non-virtual-dtor )
|
if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND DARWIN AND XCODE_VERSION GREATER 4.9)
|
||||||
|
set(GCC_CXX_WARNINGS "$[GCC_WARNINGS] -Wno-reorder -Wno-unused-const-variable -Wno-format-extra-args -Wno-unused-private-field -Wno-unused-function -Wno-tautological-compare -Wno-empty-body -Wno-unused-variable -Wno-unused-value")
|
||||||
|
else (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND DARWIN AND XCODE_VERSION GREATER 4.9)
|
||||||
|
#elseif (${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
|
||||||
|
set(GCC_CXX_WARNINGS "${GCC_WARNINGS} -Wno-reorder -Wno-non-virtual-dtor -Wno-unused-variable")
|
||||||
|
endif ()
|
||||||
|
|
||||||
add_compile_options(${GCC_WARNINGS})
|
if(LINUX)
|
||||||
add_compile_options(-m${ADDRESS_SIZE})
|
set(GCC_CXX_WARNINGS "${GCC_WARNINGS} -Wno-reorder -Wno-non-virtual-dtor -Wno-unused-variable -Wno-unused-but-set-variable -Wno-pragmas -Wno-deprecated")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 13.0)
|
||||||
|
set(GCC_CXX_WARNINGS "${GCC_CXX_WARNINGS} -Wno-c++20-compat")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_C_FLAGS "${GCC_WARNINGS} ${CMAKE_C_FLAGS}")
|
||||||
|
set(CMAKE_CXX_FLAGS "${GCC_CXX_WARNINGS} ${CMAKE_CXX_FLAGS}")
|
||||||
|
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m${ADDRESS_SIZE}")
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m${ADDRESS_SIZE}")
|
||||||
endif (LINUX OR DARWIN)
|
endif (LINUX OR DARWIN)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -269,13 +269,13 @@ elseif(LINUX)
|
||||||
list( APPEND release_files
|
list( APPEND release_files
|
||||||
libapr-1.so.0
|
libapr-1.so.0
|
||||||
libaprutil-1.so.0
|
libaprutil-1.so.0
|
||||||
libfreetype.so.6.6.2
|
|
||||||
libfreetype.so.6
|
|
||||||
libhunspell-1.3.so.0.0.0
|
libhunspell-1.3.so.0.0.0
|
||||||
libuuid.so.16
|
libuuid.so.16
|
||||||
libuuid.so.16.0.22
|
libuuid.so.16.0.22
|
||||||
libfontconfig.so.1.10.1
|
|
||||||
libfontconfig.so.1
|
|
||||||
libgmodule-2.0.a
|
libgmodule-2.0.a
|
||||||
libgobject-2.0.a
|
libgobject-2.0.a
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,10 @@ add_library( ll::freetype INTERFACE IMPORTED )
|
||||||
|
|
||||||
if (LINUX)
|
if (LINUX)
|
||||||
find_package(Freetype REQUIRED) # <FS:PC> linux fontconfig and freetype should come from the user's system Linux links this via llwindow/CMakeLists
|
find_package(Freetype REQUIRED) # <FS:PC> linux fontconfig and freetype should come from the user's system Linux links this via llwindow/CMakeLists
|
||||||
endif (LINUX)
|
target_link_libraries( ll::freetype INTERFACE Freetype::Freetype )
|
||||||
|
else ()
|
||||||
use_system_binary(freetype)
|
use_system_binary(freetype)
|
||||||
use_prebuilt_binary(freetype)
|
use_prebuilt_binary(freetype)
|
||||||
target_include_directories( ll::freetype SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/freetype2/)
|
target_include_directories( ll::freetype SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/freetype2/)
|
||||||
target_link_libraries( ll::freetype INTERFACE freetype )
|
target_link_libraries( ll::freetype INTERFACE freetype )
|
||||||
|
endif()
|
||||||
|
|
|
||||||
|
|
@ -1,32 +1,13 @@
|
||||||
# -*- cmake -*-
|
# -*- cmake -*-
|
||||||
include(Prebuilt)
|
include(Prebuilt)
|
||||||
include(GLIB)
|
if (NOT LINUX)
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
if (USESYSTEMLIBS)
|
add_library( ll::gstreamer INTERFACE IMPORTED )
|
||||||
include(FindPkgConfig)
|
target_compile_definitions( ll::gstreamer INTERFACE LL_GSTREAMER010_ENABLED=1)
|
||||||
|
use_system_binary(gstreamer10)
|
||||||
pkg_check_modules(GSTREAMER10 REQUIRED gstreamer-1.0)
|
|
||||||
pkg_check_modules(GSTREAMER10_PLUGINS_BASE REQUIRED gstreamer-plugins-base-1.0)
|
|
||||||
elseif (LINUX OR WINDOWS)
|
|
||||||
use_prebuilt_binary(gstreamer10)
|
|
||||||
use_prebuilt_binary(libxml2)
|
|
||||||
set(GSTREAMER10_FOUND ON FORCE BOOL)
|
|
||||||
set(GSTREAMER10_PLUGINS_BASE_FOUND ON FORCE BOOL)
|
|
||||||
set(GSTREAMER10_INCLUDE_DIRS
|
|
||||||
${GLIB_INCLUDE_DIRS}
|
|
||||||
${LIBS_PREBUILT_DIR}/include/gstreamer-1.0
|
|
||||||
${LIBS_PREBUILT_DIR}/include/libxml2
|
|
||||||
)
|
|
||||||
# We don't need to explicitly link against gstreamer itself, because
|
|
||||||
# LLMediaImplGStreamer probes for the system's copy at runtime.
|
|
||||||
set(GSTREAMER10_LIBRARIES)
|
|
||||||
endif (USESYSTEMLIBS)
|
|
||||||
|
|
||||||
if (GSTREAMER10_FOUND AND GSTREAMER10_PLUGINS_BASE_FOUND)
|
|
||||||
set(GSTREAMER10 ON CACHE BOOL "Build with GStreamer-1.0 streaming media support.")
|
|
||||||
endif (GSTREAMER10_FOUND AND GSTREAMER10_PLUGINS_BASE_FOUND)
|
|
||||||
|
|
||||||
if (GSTREAMER10)
|
|
||||||
add_definitions(-DLL_GSTREAMER10_ENABLED=1)
|
|
||||||
endif (GSTREAMER10)
|
|
||||||
|
|
||||||
|
use_prebuilt_binary(gstreamer10)
|
||||||
|
use_prebuilt_binary(libxml2)
|
||||||
|
target_include_directories( ll::gstreamer SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/gstreamer-1.0)
|
||||||
|
|
|
||||||
|
|
@ -6,8 +6,8 @@ if (LINUX)
|
||||||
add_library( ll::fontconfig INTERFACE IMPORTED )
|
add_library( ll::fontconfig INTERFACE IMPORTED )
|
||||||
|
|
||||||
if( NOT USE_CONAN )
|
if( NOT USE_CONAN )
|
||||||
find_package(Fontconfig REQUIRED) # <FS:PC> fontconfig and freetype should be taken from the
|
find_package(Fontconfig REQUIRED) # <FS:PC> Use system wide Fontconfig
|
||||||
# use_prebuilt_binary(fontconfig) # user's system, and not be packaged with the viewer
|
target_link_libraries( ll::fontconfig INTERFACE Fontconfig::Fontconfig )
|
||||||
else()
|
else()
|
||||||
target_link_libraries( ll::fontconfig INTERFACE CONAN_PKG::fontconfig )
|
target_link_libraries( ll::fontconfig INTERFACE CONAN_PKG::fontconfig )
|
||||||
endif()
|
endif()
|
||||||
|
|
@ -18,4 +18,3 @@ if( NOT USE_CONAN )
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
use_prebuilt_binary(slvoice)
|
use_prebuilt_binary(slvoice)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -141,14 +141,14 @@ struct LLCalcParser : grammar<LLCalcParser>
|
||||||
|
|
||||||
power =
|
power =
|
||||||
unary_expr[power.value = arg1] >>
|
unary_expr[power.value = arg1] >>
|
||||||
*('^' >> assert_syntax(unary_expr[power.value = phoenix::bind(&powf)(power.value, arg1)]))
|
*('^' >> assert_syntax(unary_expr[power.value = phoenix::bind(&LLCalcParser::_pow)(self, power.value, arg1)]))
|
||||||
;
|
;
|
||||||
|
|
||||||
term =
|
term =
|
||||||
power[term.value = arg1] >>
|
power[term.value = arg1] >>
|
||||||
*(('*' >> assert_syntax(power[term.value *= arg1])) |
|
*(('*' >> assert_syntax(power[term.value *= arg1])) |
|
||||||
('/' >> assert_syntax(power[term.value /= arg1])) |
|
('/' >> assert_syntax(power[term.value /= arg1])) |
|
||||||
('%' >> assert_syntax(power[term.value = phoenix::bind(&fmodf)(term.value, arg1)]))
|
('%' >> assert_syntax(power[term.value = phoenix::bind(&LLCalcParser::_fmod)(self, term.value, arg1)]))
|
||||||
)
|
)
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,11 @@ set(llwindow_LINK_LIBRARIES
|
||||||
ll::uilibraries
|
ll::uilibraries
|
||||||
ll::SDL
|
ll::SDL
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(LINUX)
|
||||||
|
set(llwindow_LINK_LIBRARIES ${llwindow_LINK_LIBRARIES} ll::fontconfig)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Libraries on which this library depends, needed for Linux builds
|
# Libraries on which this library depends, needed for Linux builds
|
||||||
# Sort by high-level to low-level
|
# Sort by high-level to low-level
|
||||||
if (LINUX)
|
if (LINUX)
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
add_subdirectory(base)
|
add_subdirectory(base)
|
||||||
|
|
||||||
if (LINUX)
|
if (LINUX)
|
||||||
add_subdirectory(gstreamer010)
|
add_subdirectory(gstreamer10)
|
||||||
add_subdirectory(cef)
|
add_subdirectory(cef)
|
||||||
#add_subdirectory(example)
|
#add_subdirectory(example)
|
||||||
endif (LINUX)
|
endif (LINUX)
|
||||||
|
|
|
||||||
|
|
@ -5,32 +5,18 @@ project(media_plugin_gstreamer10)
|
||||||
include(00-Common)
|
include(00-Common)
|
||||||
include(LLCommon)
|
include(LLCommon)
|
||||||
include(LLImage)
|
include(LLImage)
|
||||||
include(LLPlugin)
|
|
||||||
include(LLMath)
|
include(LLMath)
|
||||||
include(LLRender)
|
|
||||||
include(LLWindow)
|
include(LLWindow)
|
||||||
include(Linking)
|
include(Linking)
|
||||||
include(PluginAPI)
|
include(PluginAPI)
|
||||||
include(MediaPluginBase)
|
|
||||||
include(OpenGL)
|
include(OpenGL)
|
||||||
include(GLIB)
|
include(GLIB)
|
||||||
|
|
||||||
include(GStreamer10Plugin)
|
include(GStreamer10Plugin)
|
||||||
|
|
||||||
include_directories(
|
|
||||||
${LLPLUGIN_INCLUDE_DIRS}
|
|
||||||
${MEDIA_PLUGIN_BASE_INCLUDE_DIRS}
|
|
||||||
${LLCOMMON_INCLUDE_DIRS}
|
|
||||||
${LLMATH_INCLUDE_DIRS}
|
|
||||||
${LLIMAGE_INCLUDE_DIRS}
|
|
||||||
${LLRENDER_INCLUDE_DIRS}
|
|
||||||
${LLWINDOW_INCLUDE_DIRS}
|
|
||||||
${GSTREAMER10_INCLUDE_DIRS}
|
|
||||||
${GSTREAMER10_PLUGINS_BASE_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
include_directories(SYSTEM
|
|
||||||
${LLCOMMON_SYSTEM_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
### media_plugin_gstreamer10
|
### media_plugin_gstreamer10
|
||||||
|
|
||||||
|
|
@ -56,23 +42,8 @@ add_library(media_plugin_gstreamer10
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(media_plugin_gstreamer10
|
target_link_libraries(media_plugin_gstreamer10
|
||||||
${LLPLUGIN_LIBRARIES}
|
media_plugin_base
|
||||||
${MEDIA_PLUGIN_BASE_LIBRARIES}
|
ll::gstreamer
|
||||||
${LLCOMMON_LIBRARIES}
|
|
||||||
${PLUGIN_API_WINDOWS_LIBRARIES}
|
|
||||||
${GSTREAMER10_LIBRARIES}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
#add_dependencies(media_plugin_gstreamer10
|
|
||||||
# ${LLPLUGIN_LIBRARIES}
|
|
||||||
# ${MEDIA_PLUGIN_BASE_LIBRARIES}
|
|
||||||
# ${LLCOMMON_LIBRARIES}
|
|
||||||
#)
|
|
||||||
|
|
||||||
if (WINDOWS)
|
|
||||||
set_target_properties(
|
|
||||||
media_plugin_gstreamer10
|
|
||||||
PROPERTIES
|
|
||||||
LINK_FLAGS "/MANIFEST:NO /SAFESEH:NO /NODEFAULTLIB:LIBCMT"
|
|
||||||
)
|
|
||||||
endif (WINDOWS)
|
|
||||||
|
|
|
||||||
|
|
@ -2413,7 +2413,6 @@ if (LINUX)
|
||||||
target_link_libraries(${VIEWER_BINARY_NAME}
|
target_link_libraries(${VIEWER_BINARY_NAME}
|
||||||
"dl"
|
"dl"
|
||||||
# <FS:Zi> I wish I knew how to make this cleaner, this looks like a mess
|
# <FS:Zi> I wish I knew how to make this cleaner, this looks like a mess
|
||||||
"fontconfig" # <FS:Zi> tried ll::fontconfig, didn't work
|
|
||||||
ll::vorbis
|
ll::vorbis
|
||||||
${GIO_LIBRARIES}
|
${GIO_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
@ -2430,12 +2429,12 @@ if (LINUX)
|
||||||
${VIEWER_BINARY_NAME}
|
${VIEWER_BINARY_NAME}
|
||||||
SLPlugin
|
SLPlugin
|
||||||
media_plugin_cef
|
media_plugin_cef
|
||||||
media_plugin_gstreamer010
|
media_plugin_gstreamer10
|
||||||
llcommon
|
llcommon
|
||||||
linux-crash-logger
|
linux-crash-logger
|
||||||
)
|
)
|
||||||
|
|
||||||
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_gstreamer010 media_plugin_cef linux-crash-logger)
|
add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_gstreamer10 media_plugin_cef linux-crash-logger)
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${product}.tar.bz2
|
OUTPUT ${product}.tar.bz2
|
||||||
|
|
|
||||||
|
|
@ -1929,7 +1929,7 @@ class LinuxManifest(ViewerManifest):
|
||||||
|
|
||||||
# plugins
|
# plugins
|
||||||
with self.prefix(src=os.path.join(self.args['build'], os.pardir, 'media_plugins'), dst="bin/llplugin"):
|
with self.prefix(src=os.path.join(self.args['build'], os.pardir, 'media_plugins'), dst="bin/llplugin"):
|
||||||
self.path("gstreamer010/libmedia_plugin_gstreamer010.so", "libmedia_plugin_gstreamer.so")
|
self.path("gstreamer10/libmedia_plugin_gstreamer10.so", "libmedia_plugin_gstreamer.so")
|
||||||
self.path("cef/libmedia_plugin_cef.so", "libmedia_plugin_cef.so" )
|
self.path("cef/libmedia_plugin_cef.so", "libmedia_plugin_cef.so" )
|
||||||
|
|
||||||
# CEF files
|
# CEF files
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue