diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index 40ba284d304342577bde31ec30bb249e14cbf696..aa0b645a64be9234a4467d6c98dc283dd14e0765 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 1c635d4531b14c07fa40390e4d021e28377d06be..898979c47ed64b20358280b888318bcfdb41b1d9 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 ddba066727c5c85e9548615bc52ef5f88a2a9efc..4b06de0a085f4f6dcd21f5841e6b56af3d8c7a3e 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 f4f824769ec0b7c7e2cffe66ba6603dd747891c3..601a23a86db2591b39258ae2616fcb88208a4141 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 e8b04177c13ad90defefbba05206104adaf9687f..7c93819e7527935f04b1143103a9fe2f5a9d0baa 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 1a0f6868fbe966b9c6ef9894586ae44df00f0241..f6e224665b38768187c7c8ea7d7434bc1473ce17 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 7c95bf8c20ff59c20384415ebfc9b4b6d38b7375..ce5d10be5c3e83104e98ea3ae09a6084fa588710 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 8a489084014eb3ecbd88520b9082db0a14870307..e5c9dd558264d97977c9f3945cb05418bbb9642a 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 1974e2879e9055ed71f5d5b03815b61f01d5716a..92130402f9367c1d30bf3f28d42a298b6d41f1ef 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 f6c39fe1379a69f83db5fa412635011311fe4f5b..70477cf0afa3170d36750c9dcca3bef7884d4b3f 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 b420ad413f611706f876ff7904dcf3357cd11850..18521b50691e77bd23403eb30ca4520e87c5e431 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 db00a309f03d8e960bebb5636bdf85f19a792449..61c0c166d492daa1f0af693beed08a2ac2195294 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 848d4f7fc6136432c99cf174e3248c34f11754f2..0b6a7a21c352747c0d752275fdf9a7b331685505 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 2036e43dd005709cdceff46ccbe58e83c46593e6..753b972e9556b1dcee7dcb7f32fb8ac8833ab08c 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 77864182264952a6c81eb0f54566dd1adcf55c19..c372d83f8d9e77195d59fbc055d3ca85766da4d8 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 a6ef5d4ad92cf618f5666a1aa80f555937c1334a..900fc77c401030c9bdc6760b4152c0728edcd899 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 e7f7c13134394c9fbab28beb642fc0e0e2251fd1..f62b2bdd7a3b7906d28d988432ff0d0ee36bc7cc 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 e643243fcac7f9e8f9f8fb9a779f39884c465e1a..3e5ff4963b35e8b35eb9badd52624b80074e6e7f 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 777acb19a7e406e762a644c8d53bb55848db8924..0136d567230254c2c8f315ec0812ad5b87f77239 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 2ac204bfcbe805da2c2d4def16b4bcee379e166e..27f273674b264b47e4fac5d4ac59673a5c01b5d5 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 184fbb3c5fb390fde55f0aeb8ac36b016a859dfd..b016c22a4ebf8b196976a49de4d774ab81c4cd75 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 dfc6520362ffe023e497f1e3881ca281bd3e2cd7..0d3f3ad9b469c2e482513d44e1c727248d7539f8 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 672f963ea17ec32307e6e71de258d3c453c1510e..8e870f631fbf360755fbb1c09d6a9b2bbaad7d4b 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 f0192ec45bf289bc3a8cedb1c9cee4ea8c4051b0..542b4462e4827dd838e907dcd5360c2fa8e3b73a 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 6a2e6f22dfe54c651555fcc8e543a1636eaf457b..066975a3d0189f4c4c0ee268c4a83839cc62511a 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 cc181f74f8ca79bff0253be406a7a526bdc4fa54..b1c76c006aac8efd2542fc738d1de3da923804f9 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 7b5c990094027ce979098aae9400efd2463d1fe1..00f8b77106c705f4c52e5e019db3ddac1f6137bc 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 83f06788f2c90fffeb3fa6b26f99982b578fecad..7cb0efdab77d7a0a6624e0f3e2fd73afdfb94034 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 a1a1860bc617dcf924a725f73e920c3ba0a4848a..5d99cd97099a77f8164443c89178cd2162631301 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 0984493941d42dcb93d746b3d8b5118ba7944941..57703818c9909f74db2b6491def36523575f0c1c 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 d69b24a07f65b8f0c40872b32e0662338ee5c122..698d523dd33a409fd7343dcdeaddda45aed3ff30 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 c86b2529944004962fcc6c0adbceeeda71d8961e..a2044f374c3654fd83dd0a2c2daac99ab6b5172b 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 9e24e7acf91a91194cf032ec312c03e3aabf5243..972bb7dd2dea06b07f95388710986204f8f63e08 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 3b5debc585b279900c0a65c409cb28c36948e9be..38fc8201bf294cb298b316369a275d00bbab620c 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 44ad6313fc0b838b6271f3751f7207dfda878682..1dff9d3f33f71aafa33faef2de81869851174fee 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 )