diff options
| author | Nicky <nicky.dasmijn@gmail.com> | 2022-04-18 18:11:43 +0200 | 
|---|---|---|
| committer | Nicky <nicky.dasmijn@gmail.com> | 2022-04-18 18:11:43 +0200 | 
| commit | 2b151e0aefd54671e1be504269f10318d303dccb (patch) | |
| tree | c1527ef5d23bc946ac8dfcb907d2678a9a96db79 | |
| parent | dcfb94fbaca3c66ec02e6873cda53b4afd547beb (diff) | |
Round one to support conan for 3P packages, this allows to build the viewer on Linux again.
35 files changed, 163 insertions, 94 deletions
| diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index 40ba284d30..aa0b645a64 100644 --- a/indra/CMakeLists.txt +++ b/indra/CMakeLists.txt @@ -12,7 +12,15 @@ set(ROOT_PROJECT_NAME "SecondLife" CACHE STRING      "The root project/makefile/solution name. Defaults to SecondLife.")  project(${ROOT_PROJECT_NAME}) -set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") +set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake"  "${CMAKE_CURRENT_BINARY_DIR}") + + +include(conanbuildinfo OPTIONAL RESULT_VARIABLE USE_CONAN ) +if( USE_CONAN ) +  conan_basic_setup(TARGETS) +  add_compile_definitions(LL_USESYSTEMLIBS USE_CONAN) +endif() +  set(CXX_STANDARD 14)  include(Variables) @@ -57,8 +65,10 @@ add_subdirectory(${LIBS_OPEN_PREFIX}llplugin)  add_subdirectory(${LIBS_OPEN_PREFIX}llui)  add_subdirectory(${LIBS_OPEN_PREFIX}viewer_components) +if( LL_TESTS )  # Legacy C++ tests. Build always, run if LL_TESTS is true.  add_subdirectory(${VIEWER_PREFIX}test) +endif()  if (ENABLE_MEDIA_PLUGINS)  # viewer media plugins diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake index 1c635d4531..898979c47e 100644 --- a/indra/cmake/APR.cmake +++ b/indra/cmake/APR.cmake @@ -5,7 +5,9 @@ include_guard()  add_library( ll::apr INTERFACE IMPORTED ) +use_conan_binary( apr apr-util )  use_prebuilt_binary(apr_suite) +  if (WINDOWS)    if (LLCOMMON_LINK_SHARED)      set(APR_selector "lib") diff --git a/indra/cmake/Audio.cmake b/indra/cmake/Audio.cmake index ddba066727..4b06de0a08 100644 --- a/indra/cmake/Audio.cmake +++ b/indra/cmake/Audio.cmake @@ -4,6 +4,7 @@ include(Prebuilt)  include_guard()  add_library( ll::vorbis INTERFACE IMPORTED ) +use_conan_binary(vorbis)  use_prebuilt_binary(ogg_vorbis)  target_include_directories( ll::vorbis SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include ) diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake index f4f824769e..601a23a86d 100644 --- a/indra/cmake/Boost.cmake +++ b/indra/cmake/Boost.cmake @@ -2,7 +2,13 @@  include(Prebuilt)  include_guard() +  add_library( ll::boost INTERFACE IMPORTED ) +if( USE_CONAN ) +  target_link_libraries( ll::boost INTERFACE CONAN_PKG::boost ) +  target_compile_definitions( ll::boost INTERFACE BOOST_ALLOW_DEPRECATED_HEADERS BOOST_BIND_GLOBAL_PLACEHOLDERS ) +  return() +endif()  use_prebuilt_binary(boost) diff --git a/indra/cmake/CURL.cmake b/indra/cmake/CURL.cmake index e8b04177c1..7c93819e75 100644 --- a/indra/cmake/CURL.cmake +++ b/indra/cmake/CURL.cmake @@ -4,6 +4,7 @@ include(Prebuilt)  include_guard()  add_library( ll::libcurl INTERFACE IMPORTED ) +use_conan_binary(libcurl)  use_prebuilt_binary(curl)  if (WINDOWS)    target_link_libraries(ll::libcurl INTERFACE libcurl.lib) diff --git a/indra/cmake/Copy3rdPartyLibs.cmake b/indra/cmake/Copy3rdPartyLibs.cmake index 1a0f6868fb..f6e224665b 100644 --- a/indra/cmake/Copy3rdPartyLibs.cmake +++ b/indra/cmake/Copy3rdPartyLibs.cmake @@ -216,22 +216,28 @@ elseif(LINUX)      set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}")      # *FIX - figure out what to do with duplicate libalut.so here -brad      set(release_files -        libapr-1.so.0 -        libaprutil-1.so.0 -        libatk-1.0.so -        ${EXPAT_COPY} -        libfreetype.so.6.6.2 -        libfreetype.so.6 -        libGLOD.so -        libgmodule-2.0.so -        libgobject-2.0.so -        libhunspell-1.3.so.0.0.0 -        libuuid.so.16 -        libuuid.so.16.0.22 -        libfontconfig.so.1.8.0 -        libfontconfig.so.1 -       ) +            ${EXPAT_COPY} +            ) +     if( NOT USE_CONAN ) +         list( APPEND release_files +                 libapr-1.so.0 +                 libaprutil-1.so.0 +				 libatk-1.0.so +                 libfreetype.so.6.6.2 +                 libfreetype.so.6 +                 libGLOD.so +                 libhunspell-1.3.so.0.0.0 +                 libuuid.so.16 +                 libuuid.so.16.0.22 +                 libfontconfig.so.1.8.0 +                 libfontconfig.so.1 +				 libgmodule-2.0.so +				 libgobject-2.0.so +                 ) +	 endif() +	    +	       if (TARGET ll::fmodstudio)        set(debug_files ${debug_files} "libfmodL.so")        set(release_files ${release_files} "libfmod.so") diff --git a/indra/cmake/DBusGlib.cmake b/indra/cmake/DBusGlib.cmake index 7c95bf8c20..ce5d10be5c 100644 --- a/indra/cmake/DBusGlib.cmake +++ b/indra/cmake/DBusGlib.cmake @@ -1,22 +1,13 @@  # -*- cmake -*-  include(Prebuilt) -use_prebuilt_binary(dbus_glib) -set(DBUSGLIB_FOUND ON FORCE BOOL) -set(DBUSGLIB_INCLUDE_DIRS -        ${LIBS_PREBUILT_DIR}/include/dbus -        ) -# We don't need to explicitly link against dbus-glib itself, because -# the viewer probes for the system's copy at runtime. -set(DBUSGLIB_LIBRARIES -        gobject-2.0 -        glib-2.0 -        ) +add_library( ll::dbus INTERFACE IMPORTED) + +# Only define this when using conan, lls prebuild is brokenb +if( USE_CONAN ) +  target_compile_definitions( ll::dbus INTERFACE LL_DBUS_ENABLED ) +endif() +use_conan_binary(dbus) -if (DBUSGLIB_FOUND) -  set(DBUSGLIB ON CACHE BOOL "Build with dbus-glib message bus support.") -endif (DBUSGLIB_FOUND) +use_prebuilt_binary(dbus_glib) -if (DBUSGLIB) -  add_definitions(-DLL_DBUS_ENABLED=1) -endif (DBUSGLIB) diff --git a/indra/cmake/EXPAT.cmake b/indra/cmake/EXPAT.cmake index 8a48908401..e5c9dd5582 100644 --- a/indra/cmake/EXPAT.cmake +++ b/indra/cmake/EXPAT.cmake @@ -4,6 +4,7 @@ include(Prebuilt)  include_guard()  add_library( ll::expat INTERFACE IMPORTED ) +use_conan_binary(expat)  use_prebuilt_binary(expat)  if (WINDOWS)      target_link_libraries( ll::expat  INTERFACE libexpatMT ) diff --git a/indra/cmake/FreeType.cmake b/indra/cmake/FreeType.cmake index 1974e2879e..92130402f9 100644 --- a/indra/cmake/FreeType.cmake +++ b/indra/cmake/FreeType.cmake @@ -4,6 +4,7 @@ include(Prebuilt)  include_guard()  add_library( ll::freetype INTERFACE IMPORTED ) +use_conan_binary(freetype)  use_prebuilt_binary(freetype)  target_include_directories( ll::freetype SYSTEM INTERFACE  ${LIBS_PREBUILT_DIR}/include/freetype2/)  target_link_libraries( ll::freetype INTERFACE freetype ) diff --git a/indra/cmake/GLEXT.cmake b/indra/cmake/GLEXT.cmake index f6c39fe137..70477cf0af 100644 --- a/indra/cmake/GLEXT.cmake +++ b/indra/cmake/GLEXT.cmake @@ -1,8 +1,11 @@  # -*- cmake -*-  include(Prebuilt) +include(GLH) +add_library( ll::glext INTERFACE IMPORTED )  if (WINDOWS OR LINUX) +  use_conan_binary(glext)    use_prebuilt_binary(glext)  endif (WINDOWS OR LINUX) -use_prebuilt_binary(glh_linear) + diff --git a/indra/cmake/GLH.cmake b/indra/cmake/GLH.cmake index b420ad413f..18521b5069 100644 --- a/indra/cmake/GLH.cmake +++ b/indra/cmake/GLH.cmake @@ -1,4 +1,7 @@  # -*- cmake -*-  include(Prebuilt) +add_library( ll::glh_linear INTERFACE IMPORTED ) + +use_conan_binary( glh_linear )  use_prebuilt_binary(glh_linear) diff --git a/indra/cmake/GLOD.cmake b/indra/cmake/GLOD.cmake index db00a309f0..61c0c166d4 100644 --- a/indra/cmake/GLOD.cmake +++ b/indra/cmake/GLOD.cmake @@ -4,6 +4,7 @@ include(Prebuilt)  include_guard()  add_library( ll::glod INTERFACE IMPORTED ) +use_conan_binary(glod)  use_prebuilt_binary(glod)  target_include_directories( ll::glod SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) diff --git a/indra/cmake/GStreamer010Plugin.cmake b/indra/cmake/GStreamer010Plugin.cmake index 848d4f7fc6..0b6a7a21c3 100644 --- a/indra/cmake/GStreamer010Plugin.cmake +++ b/indra/cmake/GStreamer010Plugin.cmake @@ -1,32 +1,12 @@  # -*- cmake -*-  include(Prebuilt) -if (LINUX) -  use_prebuilt_binary(gstreamer) -  # possible libxml2 should have its own .cmake file instead -  use_prebuilt_binary(libxml2) -  set(GSTREAMER010_FOUND ON FORCE BOOL) -  set(GSTREAMER010_PLUGINS_BASE_FOUND ON FORCE BOOL) -  set(GSTREAMER010_INCLUDE_DIRS -      ${LIBS_PREBUILT_DIR}/include/gstreamer-0.10 -      ${LIBS_PREBUILT_DIR}/include/glib-2.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(GSTREAMER010_LIBRARIES -      gobject-2.0 -      gmodule-2.0 -      dl -      gthread-2.0 -      glib-2.0 -      ) -endif () +if (NOT LINUX) +  return() +endif() -if (GSTREAMER010_FOUND AND GSTREAMER010_PLUGINS_BASE_FOUND) -  set(GSTREAMER010 ON CACHE BOOL "Build with GStreamer-0.10 streaming media support.") -endif (GSTREAMER010_FOUND AND GSTREAMER010_PLUGINS_BASE_FOUND) +add_library( ll::gstreamer INTERFACE IMPORTED ) +target_compile_definitions( ll::gstreamer INTERFACE LL_GSTREAMER010_ENABLED=1) +use_conan_binary(gstreamer) -if (GSTREAMER010) -  add_definitions(-DLL_GSTREAMER010_ENABLED=1) -endif (GSTREAMER010) +use_prebuilt_binary(gstreamer) diff --git a/indra/cmake/GoogleMock.cmake b/indra/cmake/GoogleMock.cmake index 2036e43dd0..753b972e95 100644 --- a/indra/cmake/GoogleMock.cmake +++ b/indra/cmake/GoogleMock.cmake @@ -4,9 +4,13 @@ include(Linking)  include_guard() -use_prebuilt_binary(googlemock) +if(USE_CONAN) +    return() +endif()  add_library( ll::googlemock INTERFACE IMPORTED ) +use_prebuilt_binary(googlemock) +  target_include_directories( ll::googlemock SYSTEM INTERFACE          ${LIBS_PREBUILT_DIR}/include          ) diff --git a/indra/cmake/Hunspell.cmake b/indra/cmake/Hunspell.cmake index 7786418226..c372d83f8d 100644 --- a/indra/cmake/Hunspell.cmake +++ b/indra/cmake/Hunspell.cmake @@ -3,7 +3,7 @@ include(Prebuilt)  include_guard()  add_library( ll::hunspell INTERFACE IMPORTED ) - +use_conan_binary(hunspell)  use_prebuilt_binary(libhunspell)  if (WINDOWS)    target_link_libraries( ll::hunspell INTERFACE libhunspell) diff --git a/indra/cmake/JPEG.cmake b/indra/cmake/JPEG.cmake index a6ef5d4ad9..900fc77c40 100644 --- a/indra/cmake/JPEG.cmake +++ b/indra/cmake/JPEG.cmake @@ -4,14 +4,15 @@ include(Prebuilt)  include(Linking)  include_guard() -add_library( ll::jpeglib INTERFACE IMPORTED ) +add_library( ll::libjpeg INTERFACE IMPORTED ) +use_conan_binary(libjpeg)  use_prebuilt_binary(jpeglib)  if (LINUX) -  target_link_libraries( ll::jpeglib INTERFACE jpeg) +  target_link_libraries( ll::libjpeg INTERFACE jpeg)  elseif (DARWIN) -  target_link_libraries( ll::jpeglib INTERFACE jpeg) +  target_link_libraries( ll::libjpeg INTERFACE jpeg)  elseif (WINDOWS) -  target_link_libraries( ll::jpeglib INTERFACE jpeglib) +  target_link_libraries( ll::libjpeg INTERFACE jpeglib)  endif (LINUX) -target_include_directories( ll::jpeglib SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) +target_include_directories( ll::libjpeg SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) diff --git a/indra/cmake/JsonCpp.cmake b/indra/cmake/JsonCpp.cmake index e7f7c13134..f62b2bdd7a 100644 --- a/indra/cmake/JsonCpp.cmake +++ b/indra/cmake/JsonCpp.cmake @@ -4,6 +4,8 @@ include(Prebuilt)  include_guard()  add_library( ll::jsoncpp INTERFACE IMPORTED ) +use_conan_binary(jsoncpp) +  use_prebuilt_binary(jsoncpp)  if (WINDOWS)    target_link_libraries( ll::jsoncpp INTERFACE json_libmd.lib ) diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake index e643243fca..3e5ff4963b 100644 --- a/indra/cmake/LLPrimitive.cmake +++ b/indra/cmake/LLPrimitive.cmake @@ -6,29 +6,39 @@ include(Boost)  include_guard() +add_library( ll::pcre INTERFACE IMPORTED ) +add_library( ll::minizip-ng INTERFACE IMPORTED ) +add_library( ll::libxml INTERFACE IMPORTED ) +add_library( ll::colladadom INTERFACE IMPORTED ) + +# ND, needs fixup in collada conan pkg +if( USE_CONAN ) +  target_include_directories( ll::colladadom SYSTEM INTERFACE +	"${CONAN_INCLUDE_DIRS_COLLADADOM}/collada-dom/"  +	"${CONAN_INCLUDE_DIRS_COLLADADOM}/collada-dom/1.4/" ) +endif() + +use_conan_binary( colladadom ) +  use_prebuilt_binary(colladadom)  use_prebuilt_binary(minizip-ng) # needed for colladadom  use_prebuilt_binary(pcre)  use_prebuilt_binary(libxml2) -add_library( ll::pcre INTERFACE IMPORTED )  target_link_libraries( ll::pcre INTERFACE pcrecpp pcre ) -add_library( ll::minizip-ng INTERFACE IMPORTED )  if (WINDOWS)      target_link_libraries( ll::minizip-ng INTERFACE libminizip )  else()      target_link_libraries( ll::minizip-ng INTERFACE minizip )  endif() -add_library( ll::libxml INTERFACE IMPORTED )  if (WINDOWS)      target_link_libraries( ll::libxml INTERFACE libxml2_a)  else()      target_link_libraries( ll::libxml INTERFACE xml2)  endif() -add_library( ll::colladadom INTERFACE IMPORTED )  target_include_directories( ll::colladadom SYSTEM INTERFACE          ${LIBS_PREBUILT_DIR}/include/collada          ${LIBS_PREBUILT_DIR}/include/collada/1.4 @@ -39,4 +49,4 @@ elseif (DARWIN)      target_link_libraries(ll::colladadom INTERFACE collada14dom ll::libxml ll::minizip-ng)  elseif (LINUX)      target_link_libraries(ll::colladadom INTERFACE collada14dom ll::libxml ll::minizip-ng) -endif()
\ No newline at end of file +endif() diff --git a/indra/cmake/LLWindow.cmake b/indra/cmake/LLWindow.cmake index 777acb19a7..0136d56723 100644 --- a/indra/cmake/LLWindow.cmake +++ b/indra/cmake/LLWindow.cmake @@ -5,13 +5,18 @@ include(GLEXT)  include(Prebuilt)  include_guard() -add_library( ll::sdl INTERFACE IMPORTED ) +add_library( ll::SDL INTERFACE IMPORTED ) +  if (LINUX) +  #Must come first as use_conan_binary can exit this file early +  target_compile_definitions( ll::SDL INTERFACE LL_SDL=1) + +  use_conan_binary(SDL)    use_prebuilt_binary(SDL) -  target_include_directories( ll::sdl SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) -  target_link_libraries( ll::sdl INTERFACE SDL directfb fusion direct X11) -  target_compile_definitions( ll::sdl INTERFACE LL_SDL=1) +   +  target_include_directories( ll::SDL SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) +  target_link_libraries( ll::SDL INTERFACE SDL directfb fusion direct X11)  endif (LINUX) diff --git a/indra/cmake/NGHTTP2.cmake b/indra/cmake/NGHTTP2.cmake index 2ac204bfcb..27f273674b 100644 --- a/indra/cmake/NGHTTP2.cmake +++ b/indra/cmake/NGHTTP2.cmake @@ -4,6 +4,7 @@ include(Prebuilt)  include_guard()  add_library( ll::nghttp2 INTERFACE IMPORTED ) +use_conan_binary(nghttp2)  use_prebuilt_binary(nghttp2)  if (WINDOWS)    target_link_libraries( ll::nghttp2 INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/nghttp2.lib) diff --git a/indra/cmake/OpenJPEG.cmake b/indra/cmake/OpenJPEG.cmake index 184fbb3c5f..b016c22a4e 100644 --- a/indra/cmake/OpenJPEG.cmake +++ b/indra/cmake/OpenJPEG.cmake @@ -4,6 +4,7 @@ include(Prebuilt)  include_guard()  add_library( ll::openjpeg INTERFACE IMPORTED ) +use_conan_binary(openjpeg)  use_prebuilt_binary(openjpeg)  target_link_libraries(ll::openjpeg INTERFACE openjpeg ) diff --git a/indra/cmake/OpenSSL.cmake b/indra/cmake/OpenSSL.cmake index dfc6520362..0d3f3ad9b4 100644 --- a/indra/cmake/OpenSSL.cmake +++ b/indra/cmake/OpenSSL.cmake @@ -4,6 +4,7 @@ include(Prebuilt)  include_guard()  add_library( ll::openssl INTERFACE IMPORTED ) +use_conan_binary(openssl)  use_prebuilt_binary(openssl)  if (WINDOWS)    target_link_libraries(ll::openssl INTERFACE libssl libcrypto) diff --git a/indra/cmake/PNG.cmake b/indra/cmake/PNG.cmake index 672f963ea1..8e870f631f 100644 --- a/indra/cmake/PNG.cmake +++ b/indra/cmake/PNG.cmake @@ -4,6 +4,7 @@ include(Prebuilt)  include_guard()  add_library( ll::libpng INTERFACE IMPORTED ) +use_conan_binary(libpng)  use_prebuilt_binary(libpng)  if (WINDOWS)    target_link_libraries(ll::libpng INTERFACE libpng16) diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake index f0192ec45b..542b4462e4 100644 --- a/indra/cmake/Prebuilt.cmake +++ b/indra/cmake/Prebuilt.cmake @@ -57,3 +57,16 @@ macro (use_prebuilt_binary _binary)      endif (NOT ${_binary}_installed EQUAL 0)  endmacro (use_prebuilt_binary _binary) +#Sadly we need a macro here, otherwise the return() will not properly work +macro ( use_conan_binary package ) +  if( USE_CONAN ) +	target_link_libraries( ll::${package} INTERFACE CONAN_PKG::${package} ) +	foreach( extra_pkg "${ARGN}" ) +	  if( extra_pkg ) +		target_link_libraries( ll::${package} INTERFACE CONAN_PKG::${extra_pkg} ) +	  endif() +	endforeach() +    return() +  endif() +endmacro() +   diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake index 6a2e6f22df..066975a3d0 100644 --- a/indra/cmake/UI.cmake +++ b/indra/cmake/UI.cmake @@ -2,13 +2,17 @@  include(Prebuilt)  include(FreeType) -if (LINUX) -  use_prebuilt_binary(gtk-atk-pango-glib) -endif (LINUX) -  add_library( ll::uilibraries INTERFACE IMPORTED )  if (LINUX) +  target_compile_definitions(ll::uilibraries INTERFACE LL_GTK=1 LL_X11=1 ) + +  if( USE_CONAN ) +	target_link_libraries( ll::uilibraries INTERFACE CONAN_PKG::gtk ) +	return() +  endif() +  use_prebuilt_binary(gtk-atk-pango-glib) +      target_link_libraries( ll::uilibraries INTERFACE            atk-1.0            gdk-x11-2.0 @@ -67,6 +71,3 @@ target_include_directories( ll::uilibraries SYSTEM INTERFACE  #          )  #endforeach(include) -if (LINUX) -  target_compile_definitions(ll::uilibraries INTERFACE LL_GTK=1 LL_X11=1 ) -endif (LINUX) diff --git a/indra/cmake/URIPARSER.cmake b/indra/cmake/URIPARSER.cmake index cc181f74f8..b1c76c006a 100644 --- a/indra/cmake/URIPARSER.cmake +++ b/indra/cmake/URIPARSER.cmake @@ -1,10 +1,13 @@  # -*- cmake -*-  include_guard() -add_library( ll::uriparser INTERFACE IMPORTED )  include(Prebuilt) +add_library( ll::uriparser INTERFACE IMPORTED ) + +use_conan_binary( uriparser ) +  use_prebuilt_binary(uriparser)  if (WINDOWS)    target_link_libraries( ll::uriparser INTERFACE uriparser) diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake index 7b5c990094..00f8b77106 100644 --- a/indra/cmake/ViewerMiscLibs.cmake +++ b/indra/cmake/ViewerMiscLibs.cmake @@ -2,10 +2,19 @@  include(Prebuilt)  if (LINUX) -  use_prebuilt_binary(libuuid) -  use_prebuilt_binary(fontconfig) +  #use_prebuilt_binary(libuuid)    add_library( ll::fontconfig INTERFACE IMPORTED ) + +  if( NOT USE_CONAN ) +    use_prebuilt_binary(fontconfig) +  else() +    target_link_libraries( ll::fontconfig INTERFACE CONAN_PKG::fontconfig ) +  endif()  endif (LINUX) -use_prebuilt_binary(libhunspell) + +if( NOT USE_CONAN ) +  use_prebuilt_binary(libhunspell) +endif() +  use_prebuilt_binary(slvoice) diff --git a/indra/cmake/XmlRpcEpi.cmake b/indra/cmake/XmlRpcEpi.cmake index 83f06788f2..7cb0efdab7 100644 --- a/indra/cmake/XmlRpcEpi.cmake +++ b/indra/cmake/XmlRpcEpi.cmake @@ -4,6 +4,8 @@ include(Prebuilt)  include_guard()  add_library( ll::xmlrpc-epi INTERFACE IMPORTED ) +use_conan_binary( xmlrpc-epi ) +  use_prebuilt_binary(xmlrpc-epi)  target_link_libraries(ll::xmlrpc-epi INTERFACE xmlrpc-epi )  target_include_directories( ll::xmlrpc-epi SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) diff --git a/indra/cmake/ZLIBNG.cmake b/indra/cmake/ZLIBNG.cmake index a1a1860bc6..5d99cd9709 100644 --- a/indra/cmake/ZLIBNG.cmake +++ b/indra/cmake/ZLIBNG.cmake @@ -5,6 +5,11 @@ include(Prebuilt)  include_guard()  add_library( ll::zlib-ng INTERFACE IMPORTED ) +if(USE_CONAN ) +  target_link_libraries( ll::zlib-ng INTERFACE CONAN_PKG::zlib ) +  return() +endif() +  use_prebuilt_binary(zlib-ng)  if (WINDOWS)    target_link_libraries( ll::zlib-ng INTERFACE zlib ) diff --git a/indra/llimage/CMakeLists.txt b/indra/llimage/CMakeLists.txt index 0984493941..57703818c9 100644 --- a/indra/llimage/CMakeLists.txt +++ b/indra/llimage/CMakeLists.txt @@ -63,7 +63,7 @@ target_link_libraries(llimage          llmath          llcommon          ll::libpng -        ll::jpeglib +        ll::libjpeg      )  # Add tests diff --git a/indra/llprimitive/CMakeLists.txt b/indra/llprimitive/CMakeLists.txt index d69b24a07f..698d523dd3 100644 --- a/indra/llprimitive/CMakeLists.txt +++ b/indra/llprimitive/CMakeLists.txt @@ -7,6 +7,7 @@ include(LLCommon)  include(LLCoreHttp)  include(LLPhysicsExtensions)  include(LLPrimitive) +include(GLH)  set(llprimitive_SOURCE_FILES      lldaeloader.cpp @@ -65,6 +66,7 @@ target_link_libraries(llprimitive          llphysicsextensions          ll::colladadom          ll::pcre +		ll::glh_linear          )  #add unit tests diff --git a/indra/llwindow/CMakeLists.txt b/indra/llwindow/CMakeLists.txt index c86b252994..a2044f374c 100644 --- a/indra/llwindow/CMakeLists.txt +++ b/indra/llwindow/CMakeLists.txt @@ -54,14 +54,15 @@ set(llwindow_LINK_LIBRARIES          llrender          llfilesystem          llxml +		ll::glh_linear +		ll::glext          )  # Libraries on which this library depends, needed for Linux builds  # Sort by high-level to low-level  if (LINUX)    list( APPEND llwindow_LINK_LIBRARIES            ll::uilibraries -          ll::sdl -          ll::fontconfig          # For FCInit and other FC* functions. +          ll::SDL        )    list(APPEND viewer_SOURCE_FILES  @@ -174,5 +175,5 @@ endif (llwindow_HEADER_FILES)      ${viewer_SOURCE_FILES}      ) -target_link_libraries (llwindow ${llwindow_LINK_LIBRARIES} ll::sdl) +target_link_libraries (llwindow ${llwindow_LINK_LIBRARIES})  target_include_directories( llwindow  INTERFACE   ${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/indra/media_plugins/CMakeLists.txt b/indra/media_plugins/CMakeLists.txt index 9e24e7acf9..972bb7dd2d 100644 --- a/indra/media_plugins/CMakeLists.txt +++ b/indra/media_plugins/CMakeLists.txt @@ -3,7 +3,7 @@  add_subdirectory(base)  if (LINUX) -    add_subdirectory(gstreamer010) +    #add_subdirectory(gstreamer010)      add_subdirectory(example)  endif (LINUX) diff --git a/indra/media_plugins/gstreamer010/CMakeLists.txt b/indra/media_plugins/gstreamer010/CMakeLists.txt index 3b5debc585..38fc8201bf 100644 --- a/indra/media_plugins/gstreamer010/CMakeLists.txt +++ b/indra/media_plugins/gstreamer010/CMakeLists.txt @@ -42,4 +42,5 @@ add_library(media_plugin_gstreamer010  target_link_libraries(media_plugin_gstreamer010          media_plugin_base +        ll::gstreamer    ) diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 44ad6313fc..1dff9d3f33 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1938,7 +1938,7 @@ if (LINUX)    set(COPY_INPUT_DEPENDENCIES      ${VIEWER_BINARY_NAME}      SLPlugin -    media_plugin_gstreamer010 +    #media_plugin_gstreamer010      llcommon      ) | 
