summaryrefslogtreecommitdiff
path: root/indra/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'indra/cmake')
-rw-r--r--indra/cmake/APR.cmake14
-rw-r--r--indra/cmake/Audio.cmake14
-rw-r--r--indra/cmake/Boost.cmake49
-rw-r--r--indra/cmake/CMakeLists.txt1
-rw-r--r--indra/cmake/CURL.cmake20
-rw-r--r--indra/cmake/FMODSTUDIO.cmake14
-rw-r--r--indra/cmake/FreeType.cmake15
-rw-r--r--indra/cmake/GLEXT.cmake7
-rw-r--r--indra/cmake/GLH.cmake4
-rw-r--r--indra/cmake/GLM.cmake11
-rw-r--r--indra/cmake/LLCommon.cmake2
-rw-r--r--indra/cmake/LLPrimitive.cmake144
-rw-r--r--indra/cmake/LLWindow.cmake7
-rw-r--r--indra/cmake/LibVLCPlugin.cmake77
-rw-r--r--indra/cmake/Meshoptimizer.cmake21
-rw-r--r--indra/cmake/NDOF.cmake9
-rw-r--r--indra/cmake/OPENAL.cmake16
-rw-r--r--indra/cmake/OpenJPEG.cmake99
-rw-r--r--indra/cmake/OpenSSL.cmake22
-rw-r--r--indra/cmake/Prebuilt.cmake85
-rw-r--r--indra/cmake/UI.cmake9
-rw-r--r--indra/cmake/ViewerMiscLibs.cmake14
-rw-r--r--indra/cmake/VulkanGltf.cmake2
-rw-r--r--indra/cmake/ZLIBNG.cmake12
-rw-r--r--indra/cmake/xxHash.cmake8
25 files changed, 321 insertions, 355 deletions
diff --git a/indra/cmake/APR.cmake b/indra/cmake/APR.cmake
index 78c536e9d4..cf31027c9a 100644
--- a/indra/cmake/APR.cmake
+++ b/indra/cmake/APR.cmake
@@ -5,14 +5,12 @@ include_guard()
add_library( ll::apr INTERFACE IMPORTED )
-if (USESYSTEMLIBS)
- include(FindPkgConfig)
- pkg_check_modules(Apr REQUIRED apr-1 apr-util-1)
- target_include_directories(ll::apr SYSTEM INTERFACE ${Apr_INCLUDE_DIRS})
- target_link_directories(ll::apr INTERFACE ${Apr_LIBRARY_DIRS})
- target_link_libraries(ll::apr INTERFACE ${Apr_LIBRARIES})
- return ()
-endif ()
+include(FindPkgConfig)
+pkg_check_modules(Apr REQUIRED apr-1 apr-util-1)
+target_include_directories(ll::apr SYSTEM INTERFACE ${Apr_INCLUDE_DIRS})
+target_link_directories(ll::apr INTERFACE ${Apr_LIBRARY_DIRS})
+target_link_libraries(ll::apr INTERFACE ${Apr_LIBRARIES})
+return ()
use_system_binary( apr apr-util )
use_prebuilt_binary(apr_suite)
diff --git a/indra/cmake/Audio.cmake b/indra/cmake/Audio.cmake
index 514d283e76..c569fba4e8 100644
--- a/indra/cmake/Audio.cmake
+++ b/indra/cmake/Audio.cmake
@@ -5,14 +5,12 @@ include(Prebuilt)
include_guard()
add_library( ll::vorbis INTERFACE IMPORTED )
-if (USESYSTEMLIBS)
- include(FindPkgConfig)
- pkg_check_modules(Vorbis REQUIRED ogg vorbis vorbisenc vorbisfile)
- target_include_directories(ll::vorbis SYSTEM INTERFACE ${Vorbis_INCLUDE_DIRS})
- target_link_directories(ll::vorbis INTERFACE ${Vorbis_LIBRARY_DIRS})
- target_link_libraries(ll::vorbis INTERFACE ${Vorbis_LIBRARIES})
- return ()
-endif ()
+include(FindPkgConfig)
+pkg_check_modules(Vorbis REQUIRED ogg vorbis vorbisenc vorbisfile)
+target_include_directories(ll::vorbis SYSTEM INTERFACE ${Vorbis_INCLUDE_DIRS})
+target_link_directories(ll::vorbis INTERFACE ${Vorbis_LIBRARY_DIRS})
+target_link_libraries(ll::vorbis INTERFACE ${Vorbis_LIBRARIES})
+return ()
use_system_binary(vorbis)
use_prebuilt_binary(ogg_vorbis)
diff --git a/indra/cmake/Boost.cmake b/indra/cmake/Boost.cmake
index c9688d0fe0..ba2eaccf63 100644
--- a/indra/cmake/Boost.cmake
+++ b/indra/cmake/Boost.cmake
@@ -4,34 +4,35 @@ include(Prebuilt)
include_guard()
add_library( ll::boost INTERFACE IMPORTED )
+
+if (DARWIN)
+ set(sfx -mt)
+ target_include_directories( ll::boost SYSTEM INTERFACE /opt/local/libexec/boost/1.87/include)
+ target_link_directories( ll::boost INTERFACE /opt/local/libexec/boost/1.87/lib)
+elseif (WINDOWS)
+ set(sfx -mt)
+ target_include_directories( ll::boost SYSTEM INTERFACE /opt/local/x86_64-w64-mingw32/include)
+ target_link_directories( ll::boost INTERFACE /opt/local/x86_64-w64-mingw32/lib)
+else ()
+ find_package( Boost REQUIRED )
+endif ()
+target_link_libraries( ll::boost INTERFACE
+ boost_context${sfx}
+ boost_fiber${sfx}
+ boost_filesystem${sfx}
+ boost_program_options${sfx}
+ boost_regex${sfx}
+ boost_system${sfx}
+ boost_thread${sfx}
+ boost_url${sfx}
+ )
+target_compile_definitions( ll::boost INTERFACE BOOST_BIND_GLOBAL_PLACEHOLDERS )
+return()
+
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()
-elseif( NOT USE_AUTOBUILD_3P )
- if (WINDOWS)
- set(sfx -mt)
- target_include_directories( ll::boost SYSTEM INTERFACE /opt/local/x86_64-w64-mingw32/include)
- target_link_directories( ll::boost INTERFACE /opt/local/x86_64-w64-mingw32/lib)
- elseif (DARWIN)
- set(sfx -mt)
- target_include_directories( ll::boost SYSTEM INTERFACE /opt/local/libexec/boost/1.87/include)
- target_link_directories( ll::boost INTERFACE /opt/local/libexec/boost/1.87/lib)
- else (WINDOWS)
- find_package( Boost REQUIRED )
- endif (WINDOWS)
- target_link_libraries( ll::boost INTERFACE
- boost_context${sfx}
- boost_fiber${sfx}
- boost_filesystem${sfx}
- boost_program_options${sfx}
- boost_regex${sfx}
- boost_system${sfx}
- boost_thread${sfx}
- boost_url${sfx}
- )
- target_compile_definitions( ll::boost INTERFACE BOOST_BIND_GLOBAL_PLACEHOLDERS )
- return()
endif()
use_prebuilt_binary(boost)
diff --git a/indra/cmake/CMakeLists.txt b/indra/cmake/CMakeLists.txt
index 5525ac9f24..746d242560 100644
--- a/indra/cmake/CMakeLists.txt
+++ b/indra/cmake/CMakeLists.txt
@@ -24,7 +24,6 @@ set(cmake_SOURCE_FILES
FindAutobuild.cmake
FMODSTUDIO.cmake
FreeType.cmake
- GLEXT.cmake
GLH.cmake
GLM.cmake
Havok.cmake
diff --git a/indra/cmake/CURL.cmake b/indra/cmake/CURL.cmake
index 9e9bbce47b..b301819536 100644
--- a/indra/cmake/CURL.cmake
+++ b/indra/cmake/CURL.cmake
@@ -5,10 +5,8 @@ include(Linking)
include_guard()
add_library( ll::libcurl INTERFACE IMPORTED )
-if (NOT USESYSTEMLIBS)
-use_system_binary(libcurl)
-endif (NOT USESYSTEMLIBS)
-if (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR NOT USESYSTEMLIBS)
+#use_system_binary(libcurl)
+if (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN)
use_prebuilt_binary(curl)
if (DARWIN)
execute_process(
@@ -25,15 +23,15 @@ use_prebuilt_binary(curl)
-output libcurl.a
WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE}
)
- endif (NOT ${curl_archs} STREQUAL ${CMAKE_OSX_ARCHITECTURES})
- endif (DARWIN)
+ endif ()
+ endif ()
elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/curl_installed OR NOT ${curl_installed} EQUAL 0)
if (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1.tar.gz)
file(DOWNLOAD
https://github.com/secondlife/3p-curl/archive/refs/tags/v7.54.1-r1.tar.gz
${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1.tar.gz
)
- endif (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1.tar.gz)
+ endif ()
file(ARCHIVE_EXTRACT
INPUT ${CMAKE_BINARY_DIR}/3p-curl-7.54.1-r1.tar.gz
DESTINATION ${CMAKE_BINARY_DIR}
@@ -57,7 +55,7 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA
execute_process(COMMAND sudo mv /usr/lib/libcrypto.so /usr/lib/libcrypto.so.3)
execute_process(COMMAND sudo mv /usr/lib/libssl.a /usr/lib/libssl.a.3)
execute_process(COMMAND sudo mv /usr/lib/libssl.so /usr/lib/libssl.so.3)
- endif (CMAKE_SYSTEM_NAME MATCHES FreeBSD)
+ endif ()
set(ENV{CFLAGS} "-std=c90")
execute_process(
COMMAND ./configure --disable-alt-svc --disable-dict --disable-doh --disable-file --disable-gopher --disable-headers-api --disable-hsts --disable-imap --disable-ldap --disable-ldaps --disable-libcurl-option --disable-manual --disable-mqtt --disable-ntlm --disable-ntlm-wb --disable-pop3 --disable-rtsp --disable-shared --disable-smb --disable-smtp --disable-sspi --disable-telnet --disable-tftp --disable-tls-srp --disable-unix-sockets --disable-verbose --disable-versioned-symbols --enable-threaded-resolver --with-ssl=${LIBS_PREBUILT_DIR} --without-libidn2 --without-libpsl --without-libssh2 --prefix=${LIBS_PREBUILT_DIR} --libdir=${ARCH_PREBUILT_DIRS_RELEASE}
@@ -80,14 +78,14 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA
execute_process(COMMAND sudo mv /usr/lib/libssl.a.3 /usr/lib/libssl.a)
execute_process(COMMAND sudo mv /usr/lib/libssl.so.3 /usr/lib/libssl.so)
message("OpenSSL3 header directory and library names have been restored.")
- endif (CMAKE_SYSTEM_NAME MATCHES FreeBSD)
+ endif ()
file(REMOVE
${ARCH_PREBUILT_DIRS}/libcrypto.a
${ARCH_PREBUILT_DIRS}/libssl.a
)
file(WRITE ${PREBUILD_TRACKING_DIR}/curl_installed "${curl_installed}")
-endif (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR NOT USESYSTEMLIBS)
-if (WINDOWS AND NOT USESYSTEMLIBS)
+endif ()
+if (WINDOWS)
target_link_libraries(ll::libcurl INTERFACE
${ARCH_PREBUILT_DIRS_RELEASE}/libcurl.lib
ll::openssl
diff --git a/indra/cmake/FMODSTUDIO.cmake b/indra/cmake/FMODSTUDIO.cmake
index 35ce932c1a..fb4734fe7b 100644
--- a/indra/cmake/FMODSTUDIO.cmake
+++ b/indra/cmake/FMODSTUDIO.cmake
@@ -30,7 +30,7 @@ if (USE_FMODSTUDIO)
# Note: if you're not using INSTALL_PROPRIETARY, the package URL should be local (file:/// URL)
# as accessing the private LL location will fail if you don't have the credential
include(Prebuilt)
- if (USESYSTEMLIBS AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/fmodstudio_installed OR NOT ${fmodstudio_installed} EQUAL 0))
+ if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/fmodstudio_installed OR NOT ${fmodstudio_installed} EQUAL 0)
file(MAKE_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE})
if (DARWIN)
execute_process(
@@ -62,7 +62,7 @@ if (USE_FMODSTUDIO)
RESULT_VARIABLE fmodstudio_installed
)
file(WRITE ${PREBUILD_TRACKING_DIR}/fmodstudio_installed "${fmodstudio_installed}")
- else (DARWIN)
+ else ()
file(ARCHIVE_EXTRACT
INPUT $ENV{HOME}/Downloads/fmodstudioapi20228linux.tar.gz
DESTINATION ${CMAKE_BINARY_DIR}
@@ -97,12 +97,12 @@ if (USE_FMODSTUDIO)
DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE}
FOLLOW_SYMLINK_CHAIN
)
- endif (CMAKE_SYSTEM_PROCESSOR MATCHES aarch64)
+ endif ()
file(WRITE ${PREBUILD_TRACKING_DIR}/fmodstudio_installed "0")
- endif (DARWIN)
- else (USESYSTEMLIBS AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/fmodstudio_installed OR NOT ${fmodstudio_installed} EQUAL 0))
- use_prebuilt_binary(fmodstudio)
- endif (USESYSTEMLIBS AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/fmodstudio_installed OR NOT ${fmodstudio_installed} EQUAL 0))
+ endif ()
+ endif ()
+
+ #use_prebuilt_binary(fmodstudio)
if (WINDOWS)
target_link_libraries( ll::fmodstudio INTERFACE fmod_vc)
elseif (DARWIN)
diff --git a/indra/cmake/FreeType.cmake b/indra/cmake/FreeType.cmake
index 7683fe364a..d5c7891032 100644
--- a/indra/cmake/FreeType.cmake
+++ b/indra/cmake/FreeType.cmake
@@ -5,14 +5,13 @@ include(Linking)
include_guard()
add_library( ll::freetype INTERFACE IMPORTED )
-if (USESYSTEMLIBS)
- include(FindPkgConfig)
- pkg_check_modules(Freetype REQUIRED freetype2)
- target_include_directories( ll::freetype SYSTEM INTERFACE ${Freetype_INCLUDE_DIRS} )
- target_link_directories( ll::freetype INTERFACE ${Freetype_LIBRARY_DIRS} )
- target_link_libraries( ll::freetype INTERFACE ${Freetype_LIBRARIES} )
- return ()
-endif (USESYSTEMLIBS)
+include(FindPkgConfig)
+pkg_check_modules(Freetype REQUIRED freetype2)
+target_include_directories( ll::freetype SYSTEM INTERFACE ${Freetype_INCLUDE_DIRS} )
+target_link_directories( ll::freetype INTERFACE ${Freetype_LIBRARY_DIRS} )
+target_link_libraries( ll::freetype INTERFACE ${Freetype_LIBRARIES} )
+return ()
+
use_system_binary(freetype)
use_prebuilt_binary(freetype)
target_include_directories( ll::freetype SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/freetype2/)
diff --git a/indra/cmake/GLEXT.cmake b/indra/cmake/GLEXT.cmake
index ea349237d3..a780966f0c 100644
--- a/indra/cmake/GLEXT.cmake
+++ b/indra/cmake/GLEXT.cmake
@@ -3,10 +3,7 @@ include(Prebuilt)
include(GLH)
add_library( ll::glext INTERFACE IMPORTED )
-
-if (USESYSTEMLIBS)
- return ()
-endif ()
-
use_system_binary(glext)
use_prebuilt_binary(glext)
+
+
diff --git a/indra/cmake/GLH.cmake b/indra/cmake/GLH.cmake
index 648a08454b..ac86f385c6 100644
--- a/indra/cmake/GLH.cmake
+++ b/indra/cmake/GLH.cmake
@@ -4,7 +4,5 @@ include(Prebuilt)
add_library( ll::glh_linear INTERFACE IMPORTED )
target_include_directories( ll::glh_linear SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include)
-if (NOT USESYSTEMLIBS)
-use_system_binary( glh_linear )
-endif (NOT USESYSTEMLIBS)
+#use_system_binary( glh_linear )
use_prebuilt_binary(glh_linear)
diff --git a/indra/cmake/GLM.cmake b/indra/cmake/GLM.cmake
index d411c049ec..fcf5e77cae 100644
--- a/indra/cmake/GLM.cmake
+++ b/indra/cmake/GLM.cmake
@@ -3,12 +3,9 @@ include(Prebuilt)
add_library( ll::glm INTERFACE IMPORTED )
-if (NOT USESYSTEMLIBS)
-use_system_binary( glm )
-elseif (NOT (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu) OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed)))
- find_package( glm REQUIRED )
-endif (NOT USESYSTEMLIBS)
-
-if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu) OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed) OR NOT USESYSTEMLIBS)
+#use_system_binary( glm )
+if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu) OR (${LINUX_DISTRO} MATCHES opensuse-tumbleweed))
use_prebuilt_binary(glm)
+else ()
+ find_package( glm REQUIRED )
endif ()
diff --git a/indra/cmake/LLCommon.cmake b/indra/cmake/LLCommon.cmake
index dd43ca4916..91e376352f 100644
--- a/indra/cmake/LLCommon.cmake
+++ b/indra/cmake/LLCommon.cmake
@@ -1,8 +1,8 @@
# -*- cmake -*-
+include(EXPAT)
include(APR)
include(Boost)
-include(EXPAT)
include(Tracy)
include(xxHash)
include(ZLIBNG)
diff --git a/indra/cmake/LLPrimitive.cmake b/indra/cmake/LLPrimitive.cmake
index 335c2a9258..21952713ca 100644
--- a/indra/cmake/LLPrimitive.cmake
+++ b/indra/cmake/LLPrimitive.cmake
@@ -18,81 +18,81 @@ if( USE_CONAN )
"${CONAN_INCLUDE_DIRS_COLLADADOM}/collada-dom/1.4/" )
endif()
-if( USESYSTEMLIBS )
- if( WINDOWS )
- include(FindPkgConfig)
- pkg_check_modules(Colladadom REQUIRED collada-dom-141)
- target_compile_definitions( ll::colladadom INTERFACE COLLADA_DOM_SUPPORT141 )
- target_include_directories( ll::colladadom SYSTEM INTERFACE ${Colladadom_INCLUDE_DIRS} )
- target_link_directories( ll::colladadom INTERFACE ${Colladadom_LIBRARY_DIRS} )
- target_link_libraries( ll::colladadom INTERFACE ${Colladadom_LIBRARIES} )
- return ()
- elseif( LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD )
- # Build of the collada-dom for Linux and FreeBSD is done in
- # indra/llprimitive/CMakeLists.txt
- return ()
- else( WINDOWS )
- include(FindPkgConfig)
- pkg_check_modules(Minizip REQUIRED minizip)
- pkg_check_modules(Libxml2 REQUIRED libxml-2.0)
- target_link_libraries( ll::minizip-ng INTERFACE ${Minizip_LIBRARIES} )
- target_link_libraries( ll::libxml INTERFACE ${Libxml2_LIBRARIES} )
- if( ${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0 )
- if( NOT EXISTS ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8.tar.gz )
- file(DOWNLOAD
- https://github.com/secondlife/3p-colladadom/archive/refs/tags/v2.3-r8.tar.gz
- ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8.tar.gz
- )
- endif( NOT EXISTS ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8.tar.gz )
- file(ARCHIVE_EXTRACT
- INPUT ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8.tar.gz
- DESTINATION ${CMAKE_BINARY_DIR}
+if( WINDOWS )
+ include(FindPkgConfig)
+ pkg_check_modules(Colladadom REQUIRED collada-dom-141)
+ target_compile_definitions( ll::colladadom INTERFACE COLLADA_DOM_SUPPORT141 )
+ target_include_directories( ll::colladadom SYSTEM INTERFACE ${Colladadom_INCLUDE_DIRS} )
+ target_link_directories( ll::colladadom INTERFACE ${Colladadom_LIBRARY_DIRS} )
+ target_link_libraries( ll::colladadom INTERFACE ${Colladadom_LIBRARIES} )
+ return()
+elseif( LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD )
+ # Build of the collada-dom for Linux and FreeBSD is done in
+ # indra/llprimitive/CMakeLists.txt
+ return()
+else()
+ include(FindPkgConfig)
+ pkg_check_modules(Minizip REQUIRED minizip)
+ pkg_check_modules(Libxml2 REQUIRED libxml-2.0)
+ target_link_libraries( ll::minizip-ng INTERFACE ${Minizip_LIBRARIES} )
+ target_link_libraries( ll::libxml INTERFACE ${Libxml2_LIBRARIES} )
+ if( ${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0 )
+ if( NOT EXISTS ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8.tar.gz )
+ file(DOWNLOAD
+ https://github.com/secondlife/3p-colladadom/archive/refs/tags/v2.3-r8.tar.gz
+ ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8.tar.gz
)
+ endif()
+ file(ARCHIVE_EXTRACT
+ INPUT ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8.tar.gz
+ DESTINATION ${CMAKE_BINARY_DIR}
+ )
+ execute_process(
+ COMMAND sed -i "" -e "s/SHARED/STATIC/g" CMakeLists.txt
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4
+ )
+ if( DARWIN )
+ set(BOOST_CFLAGS -I${Libxml2_LIBRARY_DIRS}exec/boost/1.87/include)
+ set(BOOST_LIBS -L${Minizip_LIBRARY_DIRS}exec/boost/1.87/lib)
+ set(BOOST_LIBRARY_SUFFIX -mt)
+ endif()
+ try_compile(COLLADADOM_RESULT
+ PROJECT colladadom
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8
+ BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8
+ TARGET collada14dom
+ CMAKE_FLAGS
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
+ -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET}
+ -DCMAKE_INSTALL_PREFIX:PATH=${LIBS_PREBUILT_DIR}
+ -DCMAKE_CXX_STANDARD:STRING=17
+ -DCMAKE_CXX_FLAGS:STRING=-I${Minizip_INCLUDE_DIRS}
+ -DBoost_CFLAGS:STRING=${BOOST_CFLAGS}
+ -DEXTRA_COMPILE_FLAGS:STRING=-I${Libxml2_INCLUDE_DIRS}
+ "-DCMAKE_SHARED_LINKER_FLAGS:STRING=-L${Minizip_LIBRARY_DIRS} ${BOOST_LIBS}"
+ -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem${BOOST_LIBRARY_SUFFIX}
+ -DBoost_SYSTEM_LIBRARY:STRING=boost_system${BOOST_LIBRARY_SUFFIX}
+ -DZLIB_LIBRARIES:STRING=${Libxml2_LIBRARIES}
+ -DOPT_COLLADA14:BOOL=ON
+ -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:PATH=${LIBS_PREBUILT_DIR}/include/collada
+ )
+ if( ${COLLADADOM_RESULT} )
execute_process(
- COMMAND sed -i "" -e "s/SHARED/STATIC/g" CMakeLists.txt
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8/src/1.4
+ COMMAND ${CMAKE_MAKE_PROGRAM} install
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8
+ OUTPUT_VARIABLE colladadom_installed
)
- if( DARWIN )
- set(BOOST_CFLAGS -I${Libxml2_LIBRARY_DIRS}exec/boost/1.87/include)
- set(BOOST_LIBS -L${Minizip_LIBRARY_DIRS}exec/boost/1.87/lib)
- set(BOOST_LIBRARY_SUFFIX -mt)
- endif()
- try_compile(COLLADADOM_RESULT
- PROJECT colladadom
- SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8
- BINARY_DIR ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8
- TARGET collada14dom
- CMAKE_FLAGS
- -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
- -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET}
- -DCMAKE_INSTALL_PREFIX:PATH=${LIBS_PREBUILT_DIR}
- -DCMAKE_CXX_STANDARD:STRING=17
- -DCMAKE_CXX_FLAGS:STRING=-I${Minizip_INCLUDE_DIRS}
- -DBoost_CFLAGS:STRING=${BOOST_CFLAGS}
- -DEXTRA_COMPILE_FLAGS:STRING=-I${Libxml2_INCLUDE_DIRS}
- "-DCMAKE_SHARED_LINKER_FLAGS:STRING=-L${Minizip_LIBRARY_DIRS} ${BOOST_LIBS}"
- -DBoost_FILESYSTEM_LIBRARY:STRING=boost_filesystem${BOOST_LIBRARY_SUFFIX}
- -DBoost_SYSTEM_LIBRARY:STRING=boost_system${BOOST_LIBRARY_SUFFIX}
- -DZLIB_LIBRARIES:STRING=${Libxml2_LIBRARIES}
- -DOPT_COLLADA14:BOOL=ON
- -DCOLLADA_DOM_INCLUDE_INSTALL_DIR:PATH=${LIBS_PREBUILT_DIR}/include/collada
+ file(RENAME
+ ${ARCH_PREBUILT_DIRS}/libcollada14dom.a
+ ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom.a
)
- if( ${COLLADADOM_RESULT} )
- execute_process(
- COMMAND ${CMAKE_MAKE_PROGRAM} install
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-colladadom-2.3-r8
- OUTPUT_VARIABLE colladadom_installed
- )
- file(RENAME
- ${ARCH_PREBUILT_DIRS}/libcollada14dom.a
- ${ARCH_PREBUILT_DIRS_RELEASE}/libcollada14dom.a
- )
- file(WRITE ${PREBUILD_TRACKING_DIR}/colladadom_installed "${colladadom_installed}")
- endif( ${COLLADADOM_RESULT} )
- endif( ${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/colladadom_installed OR NOT ${colladadom_installed} EQUAL 0 )
- endif( WINDOWS )
-else( USESYSTEMLIBS )
+ file(WRITE ${PREBUILD_TRACKING_DIR}/colladadom_installed "${colladadom_installed}")
+ endif()
+ endif()
+endif()
+
+if( FALSE )
use_system_binary( colladadom )
use_prebuilt_binary(colladadom)
@@ -110,7 +110,7 @@ if (WINDOWS)
else()
target_link_libraries( ll::libxml INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libxml2.a)
endif()
-endif( USESYSTEMLIBS )
+endif( FALSE )
target_include_directories( ll::colladadom SYSTEM INTERFACE
${LIBS_PREBUILT_DIR}/include/collada
diff --git a/indra/cmake/LLWindow.cmake b/indra/cmake/LLWindow.cmake
index 31907d31df..34df3ad33b 100644
--- a/indra/cmake/LLWindow.cmake
+++ b/indra/cmake/LLWindow.cmake
@@ -1,26 +1,25 @@
# -*- cmake -*-
include(Variables)
-include(GLEXT)
+include(GLH)
include(Prebuilt)
include_guard()
add_library( ll::SDL INTERFACE IMPORTED )
-if (USESYSTEMLIBS AND NOT (WINDOWS OR DARWIN))
+if (NOT (WINDOWS OR DARWIN))
include(FindPkgConfig)
pkg_check_modules(Sdl2 REQUIRED sdl2)
target_compile_definitions( ll::SDL INTERFACE LL_SDL=1)
target_include_directories(ll::SDL SYSTEM INTERFACE ${Sdl2_INCLUDE_DIRS})
target_link_directories(ll::SDL INTERFACE ${Sdl2_LIBRARY_DIRS})
- if (LINUX OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
+ if (LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD)
list(APPEND Sdl2_LIBRARIES X11)
endif ()
target_link_libraries(ll::SDL INTERFACE ${Sdl2_LIBRARIES})
return ()
endif ()
-
if (LINUX)
#Must come first as use_system_binary can exit this file early
target_compile_definitions( ll::SDL INTERFACE LL_SDL_VERSION=2 LL_SDL)
diff --git a/indra/cmake/LibVLCPlugin.cmake b/indra/cmake/LibVLCPlugin.cmake
index 779576a485..5ed77af0c2 100644
--- a/indra/cmake/LibVLCPlugin.cmake
+++ b/indra/cmake/LibVLCPlugin.cmake
@@ -5,56 +5,41 @@ include(Prebuilt)
include_guard()
add_library( ll::libvlc INTERFACE IMPORTED )
-if (USESYSTEMLIBS)
- if (DARWIN)
- if (CMAKE_OSX_ARCHITECTURES MATCHES arm64)
- if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/vlc_installed OR NOT ${vlc_installed} EQUAL 0)
- if (NOT EXISTS ${CMAKE_BINARY_DIR}/vlc-3.0.21-arm64.dmg)
- file(DOWNLOAD
- https://get.videolan.org/vlc/3.0.21/macosx/vlc-3.0.21-arm64.dmg
- ${CMAKE_BINARY_DIR}/vlc-3.0.21-arm64.dmg
- )
- endif (NOT EXISTS ${CMAKE_BINARY_DIR}/vlc-3.0.21-arm64.dmg)
- file(WRITE ${PREBUILD_TRACKING_DIR}/vlc_installed "0")
- endif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/vlc_installed OR NOT ${vlc_installed} EQUAL 0)
- execute_process(
- COMMAND hdiutil attach -noverify vlc-3.0.21-arm64.dmg
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+if (DARWIN)
+ if (CMAKE_OSX_ARCHITECTURES MATCHES x86_64)
+ set(ARCHITECTURE intel64)
+ else ()
+ set(ARCHITECTURE ${CMAKE_OSX_ARCHITECTURES})
+ endif ()
+ if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/vlc_installed OR NOT ${vlc_installed} EQUAL 0)
+ if (NOT EXISTS ${CMAKE_BINARY_DIR}/vlc-3.0.21-${ARCHITECTURE}.dmg)
+ file(DOWNLOAD
+ https://get.videolan.org/vlc/3.0.21/macosx/vlc-3.0.21-${ARCHITECTURE}.dmg
+ ${CMAKE_BINARY_DIR}/vlc-3.0.21-${ARCHITECTURE}.dmg
)
- else (CMAKE_OSX_ARCHITECTURES MATCHES arm64)
- if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/vlc_installed OR NOT ${vlc_installed} EQUAL 0)
- if (NOT EXISTS ${CMAKE_BINARY_DIR}/vlc-3.0.21-intel64.dmg)
- file(DOWNLOAD
- https://get.videolan.org/vlc/3.0.21/macosx/vlc-3.0.21-intel64.dmg
- ${CMAKE_BINARY_DIR}/vlc-3.0.21-intel64.dmg
- )
- endif (NOT EXISTS ${CMAKE_BINARY_DIR}/vlc-3.0.21-intel64.dmg)
- file(WRITE ${PREBUILD_TRACKING_DIR}/vlc_installed "0")
- endif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/vlc_installed OR NOT ${vlc_installed} EQUAL 0)
- execute_process(
- COMMAND hdiutil attach -noverify vlc-3.0.21-intel64.dmg
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
- )
- endif (CMAKE_OSX_ARCHITECTURES MATCHES arm64)
- target_include_directories( ll::libvlc SYSTEM INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/include)
- target_link_directories( ll::libvlc INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib)
- target_link_libraries( ll::libvlc INTERFACE vlc vlccore )
- else (DARWIN)
- include(FindPkgConfig)
- pkg_check_modules(Libvlc REQUIRED libvlc vlc-plugin)
- target_include_directories( ll::libvlc SYSTEM INTERFACE ${Libvlc_INCLUDE_DIRS} )
- target_link_directories( ll::libvlc INTERFACE ${Libvlc_LIBRARY_DIRS} )
- target_link_libraries( ll::libvlc INTERFACE ${Libvlc_LIBRARIES} )
- endif (DARWIN)
- set(LIBVLCPLUGIN ON CACHE BOOL
- "LIBVLCPLUGIN support for the llplugin/llmedia test apps.")
- return()
-else (USESYSTEMLIBS)
+ endif ()
+ file(WRITE ${PREBUILD_TRACKING_DIR}/vlc_installed "0")
+ endif ()
+ execute_process(
+ COMMAND hdiutil attach -noverify vlc-3.0.21-${ARCHITECTURE}.dmg
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+ )
+ target_include_directories( ll::libvlc SYSTEM INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/include)
+ target_link_directories( ll::libvlc INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib)
+ target_link_libraries( ll::libvlc INTERFACE vlc vlccore )
+else ()
+ include(FindPkgConfig)
+ pkg_check_modules(Libvlc REQUIRED libvlc vlc-plugin)
+ target_include_directories( ll::libvlc SYSTEM INTERFACE ${Libvlc_INCLUDE_DIRS} )
+ target_link_directories( ll::libvlc INTERFACE ${Libvlc_LIBRARY_DIRS} )
+ target_link_libraries( ll::libvlc INTERFACE ${Libvlc_LIBRARIES} )
+endif ()
-use_prebuilt_binary(vlc-bin)
+#use_prebuilt_binary(vlc-bin)
set(LIBVLCPLUGIN ON CACHE BOOL
"LIBVLCPLUGIN support for the llplugin/llmedia test apps.")
-endif (USESYSTEMLIBS)
+
+return()
if (WINDOWS)
target_link_libraries( ll::libvlc INTERFACE
diff --git a/indra/cmake/Meshoptimizer.cmake b/indra/cmake/Meshoptimizer.cmake
index d5c6598d94..4b428e4b83 100644
--- a/indra/cmake/Meshoptimizer.cmake
+++ b/indra/cmake/Meshoptimizer.cmake
@@ -6,15 +6,12 @@ include(Prebuilt)
include_guard()
add_library( ll::meshoptimizer INTERFACE IMPORTED )
-if (NOT USESYSTEMLIBS)
-use_system_binary(meshoptimizer)
-elseif (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu) OR CMAKE_SYSTEM_NAME MATCHES FreeBSD)
+#use_system_binary(meshoptimizer)
+if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu) OR CMAKE_SYSTEM_NAME MATCHES FreeBSD)
find_package(meshoptimizer)
target_link_libraries( ll::meshoptimizer INTERFACE meshoptimizer)
return ()
-endif (NOT USESYSTEMLIBS)
-
-if (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 AND NOT (${LINUX_DISTRO} MATCHES gentoo) OR NOT USESYSTEMLIBS)
+elseif (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 AND NOT (${LINUX_DISTRO} MATCHES gentoo))
use_prebuilt_binary(meshoptimizer)
elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/meshoptimizer_installed OR NOT ${meshoptimizer_installed} EQUAL 0)
if (NOT EXISTS ${CMAKE_BINARY_DIR}/meshoptimizer-0.21.tar.gz)
@@ -22,7 +19,7 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA
https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.21.tar.gz
${CMAKE_BINARY_DIR}/meshoptimizer-0.21.tar.gz
)
- endif (NOT EXISTS ${CMAKE_BINARY_DIR}/meshoptimizer-0.21.tar.gz)
+ endif ()
file(ARCHIVE_EXTRACT
INPUT ${CMAKE_BINARY_DIR}/meshoptimizer-0.21.tar.gz
DESTINATION ${CMAKE_BINARY_DIR}
@@ -47,13 +44,13 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA
OUTPUT_VARIABLE meshoptimizer_installed
)
file(WRITE ${PREBUILD_TRACKING_DIR}/meshoptimizer_installed "${meshoptimizer_installed}")
- endif (${MESHOPTIMIZER_RESULT})
-endif (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 AND NOT (${LINUX_DISTRO} MATCHES gentoo) OR NOT USESYSTEMLIBS)
+ endif ()
+endif ()
-if (NOT USESYSTEMLIBS AND WINDOWS)
+if (WINDOWS)
target_link_libraries( ll::meshoptimizer INTERFACE meshoptimizer.lib)
-else (NOT USESYSTEMLIBS AND WINDOWS)
+else ()
target_link_libraries( ll::meshoptimizer INTERFACE libmeshoptimizer.a)
-endif (NOT USESYSTEMLIBS AND WINDOWS)
+endif (WINDOWS)
target_include_directories( ll::meshoptimizer SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/meshoptimizer)
diff --git a/indra/cmake/NDOF.cmake b/indra/cmake/NDOF.cmake
index 24fb23a0e3..d6e5e53ac9 100644
--- a/indra/cmake/NDOF.cmake
+++ b/indra/cmake/NDOF.cmake
@@ -8,9 +8,8 @@ add_library( ll::ndof INTERFACE IMPORTED )
if (NDOF)
if (WINDOWS OR DARWIN)
- if (NOT USESYSTEMLIBS)
- use_prebuilt_binary(libndofdev)
- elseif (DARWIN AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/libndofdev_installed OR NOT ${libndofdev_installed} EQUAL 0))
+ #use_prebuilt_binary(libndofdev)
+ if (DARWIN AND (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/libndofdev_installed OR NOT ${libndofdev_installed} EQUAL 0))
file(DOWNLOAD
https://github.com/secondlife/3p-libndofdev/archive/refs/tags/v0.1.8e9edc7.tar.gz
${CMAKE_BINARY_DIR}/3p-libndofdev-0.1.8e9edc7.tar.gz
@@ -41,8 +40,8 @@ if (NDOF)
DESTINATION ${ARCH_PREBUILT_DIRS_RELEASE}
)
file(WRITE ${PREBUILD_TRACKING_DIR}/libndofdev_installed "${libndofdev_installed}")
- endif (${LIBNDOFDEV_RESULT})
- endif (NOT USESYSTEMLIBS)
+ endif ()
+ endif ()
elseif (LINUX)
use_prebuilt_binary(open-libndofdev)
endif (WINDOWS OR DARWIN)
diff --git a/indra/cmake/OPENAL.cmake b/indra/cmake/OPENAL.cmake
index f2eb956e2e..f63e55cdf3 100644
--- a/indra/cmake/OPENAL.cmake
+++ b/indra/cmake/OPENAL.cmake
@@ -19,15 +19,13 @@ endif()
if (USE_OPENAL)
add_library( ll::openal INTERFACE IMPORTED )
- if (USESYSTEMLIBS)
- target_compile_definitions( ll::openal INTERFACE LL_OPENAL=1)
- include(FindPkgConfig)
- pkg_check_modules(Openal REQUIRED freealut)
- target_include_directories(ll::openal SYSTEM INTERFACE ${Openal_INCLUDE_DIRS})
- target_link_directories(ll::openal INTERFACE ${Openal_LIBRARY_DIRS})
- target_link_libraries(ll::openal INTERFACE ${Openal_LIBRARIES})
- return ()
- endif ()
+ target_compile_definitions( ll::openal INTERFACE LL_OPENAL=1)
+ include(FindPkgConfig)
+ pkg_check_modules(Openal REQUIRED freealut)
+ target_include_directories(ll::openal SYSTEM INTERFACE ${Openal_INCLUDE_DIRS})
+ target_link_directories(ll::openal INTERFACE ${Openal_LIBRARY_DIRS})
+ target_link_libraries(ll::openal INTERFACE ${Openal_LIBRARIES})
+ return ()
target_include_directories( ll::openal SYSTEM INTERFACE "${LIBS_PREBUILT_DIR}/include/AL")
target_compile_definitions( ll::openal INTERFACE LL_OPENAL=1)
diff --git a/indra/cmake/OpenJPEG.cmake b/indra/cmake/OpenJPEG.cmake
index cf008faebf..5729f6a10e 100644
--- a/indra/cmake/OpenJPEG.cmake
+++ b/indra/cmake/OpenJPEG.cmake
@@ -4,57 +4,70 @@ include(Prebuilt)
include_guard()
add_library( ll::openjpeg INTERFACE IMPORTED )
-if (NOT USESYSTEMLIBS)
-use_system_binary(openjpeg)
-endif (NOT USESYSTEMLIBS)
-if (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR NOT USESYSTEMLIBS)
-use_prebuilt_binary(openjpeg)
-elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/openjpeg_installed OR NOT ${openjpeg_installed} EQUAL 0)
- if (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248.tar.gz)
+#use_system_binary(openjpeg)
+#use_prebuilt_binary(openjpeg)
+
+if (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/openjpeg_installed OR NOT ${openjpeg_installed} EQUAL 0)
+ if (NOT EXISTS ${CMAKE_BINARY_DIR}/openjpeg-2.5.3.tar.gz)
file(DOWNLOAD
- https://github.com/secondlife/3p-openjpeg/archive/refs/tags/v2.5.0.ea12248.tar.gz
- ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248.tar.gz
+ https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.3.tar.gz
+ ${CMAKE_BINARY_DIR}/openjpeg-2.5.3.tar.gz
)
- endif (NOT EXISTS ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248.tar.gz)
+ endif ()
file(ARCHIVE_EXTRACT
- INPUT ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248.tar.gz
+ INPUT ${CMAKE_BINARY_DIR}/openjpeg-2.5.3.tar.gz
DESTINATION ${CMAKE_BINARY_DIR}
)
- try_compile(OPENJPEG_RESULT
- PROJECT OPENJPEG
- SOURCE_DIR ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg
- BINARY_DIR ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg
- TARGET openjp2
- CMAKE_FLAGS
- -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
- -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
- -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET}
- -DCMAKE_INSTALL_PREFIX:PATH=${LIBS_PREBUILT_DIR}
- -DCMAKE_INSTALL_LIBDIR:PATH=${ARCH_PREBUILT_DIRS_RELEASE}
- -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON
- -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
- -DBUILD_CODEC:BOOL=OFF
- )
- if (${OPENJPEG_RESULT})
+
+ if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu))
+ try_compile(OPENJPEG_RESULT
+ PROJECT OPENJPEG
+ SOURCE_DIR ${CMAKE_BINARY_DIR}/openjpeg-2.5.3
+ BINARY_DIR ${CMAKE_BINARY_DIR}/openjpeg-2.5.3
+ TARGET openjp2
+ CMAKE_FLAGS
+ -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+ -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
+ -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET}
+ -DCMAKE_INSTALL_PREFIX:PATH=${LIBS_PREBUILT_DIR}
+ -DCMAKE_INSTALL_LIBDIR:PATH=${ARCH_PREBUILT_DIRS_RELEASE}
+ -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON
+ -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
+ -DBUILD_CODEC:BOOL=OFF
+ )
+ if (${OPENJPEG_RESULT})
+ execute_process(
+ COMMAND ${CMAKE_MAKE_PROGRAM} install
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/openjpeg-2.5.3
+ OUTPUT_VARIABLE openjpeg_installed
+ )
+ endif ()
+
+ else ()
execute_process(
- COMMAND ${CMAKE_MAKE_PROGRAM} install
- WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg
+ COMMAND ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES} -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=${CMAKE_OSX_DEPLOYMENT_TARGET} -DCMAKE_INSTALL_PREFIX:PATH=${LIBS_PREBUILT_DIR} -DCMAKE_INSTALL_LIBDIR:PATH=${ARCH_PREBUILT_DIRS_RELEASE} -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS} -DBUILD_CODEC:BOOL=OFF
+ WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/openjpeg-2.5.3
OUTPUT_VARIABLE openjpeg_installed
)
- file(RENAME
- ${LIBS_PREBUILT_DIR}/include/openjpeg-2.5
- ${LIBS_PREBUILT_DIR}/include/openjpeg
- )
- file(
- COPY
- ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg/src/lib/openjp2/cio.h
- ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg/src/lib/openjp2/event.h
- ${CMAKE_BINARY_DIR}/3p-openjpeg-2.5.0.ea12248/openjpeg/src/lib/openjp2/opj_config_private.h
- DESTINATION ${LIBS_PREBUILT_DIR}/include/openjpeg
- )
- file(WRITE ${PREBUILD_TRACKING_DIR}/openjpeg_installed "${openjpeg_installed}")
- endif (${OPENJPEG_RESULT})
-endif (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR NOT USESYSTEMLIBS)
+ endif ()
+
+ file(
+ COPY
+ ${CMAKE_BINARY_DIR}/openjpeg-2.5.3/src/lib/openjp2/cio.h
+ ${CMAKE_BINARY_DIR}/openjpeg-2.5.3/src/lib/openjp2/event.h
+ ${CMAKE_BINARY_DIR}/openjpeg-2.5.3/src/lib/openjp2/opj_config_private.h
+ DESTINATION ${LIBS_PREBUILT_DIR}/include/openjpeg-2.5
+ )
+ file(WRITE ${PREBUILD_TRACKING_DIR}/openjpeg_installed "${openjpeg_installed}")
+endif ()
+if (${LINUX_DISTRO} MATCHES debian OR (${LINUX_DISTRO} MATCHES ubuntu))
target_link_libraries(ll::openjpeg INTERFACE openjp2 )
+else ()
+ include(FindPkgConfig)
+ pkg_check_modules(Openjpeg REQUIRED libopenjp2)
+ target_include_directories(ll::openjpeg SYSTEM INTERFACE ${Openjpeg_INCLUDE_DIRS})
+ target_link_directories(ll::openjpeg INTERFACE ${Openjpeg_LIBRARY_DIRS})
+ target_link_libraries(ll::openjpeg INTERFACE ${Openjpeg_LIBRARIES})
+endif ()
target_include_directories( ll::openjpeg SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include)
diff --git a/indra/cmake/OpenSSL.cmake b/indra/cmake/OpenSSL.cmake
index 8b9c737325..7cb59b04c3 100644
--- a/indra/cmake/OpenSSL.cmake
+++ b/indra/cmake/OpenSSL.cmake
@@ -5,10 +5,8 @@ include(Linking)
include_guard()
add_library( ll::openssl INTERFACE IMPORTED )
-if (NOT USESYSTEMLIBS)
-use_system_binary(openssl)
-endif (NOT USESYSTEMLIBS)
-if (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR NOT USESYSTEMLIBS)
+#use_system_binary(openssl)
+if (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN)
use_prebuilt_binary(openssl)
if (DARWIN)
execute_process(
@@ -25,7 +23,7 @@ use_prebuilt_binary(openssl)
-output libcrypto.a
WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE}
)
- endif (NOT ${crypto_archs} STREQUAL ${CMAKE_OSX_ARCHITECTURES})
+ endif ()
execute_process(
COMMAND lipo -archs libssl.a
WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE}
@@ -40,8 +38,8 @@ use_prebuilt_binary(openssl)
-output libssl.a
WORKING_DIRECTORY ${ARCH_PREBUILT_DIRS_RELEASE}
)
- endif (NOT ${ssl_archs} STREQUAL ${CMAKE_OSX_ARCHITECTURES})
- endif (DARWIN)
+ endif ()
+ endif ()
elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/openssl_installed OR NOT ${openssl_installed} EQUAL 0)
if (NOT EXISTS ${CMAKE_BINARY_DIR}/OpenSSL_1_1_1w.tar.gz)
file(DOWNLOAD
@@ -67,15 +65,15 @@ elseif (${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRA
RESULT_VARIABLE openssl_installed
)
file(WRITE ${PREBUILD_TRACKING_DIR}/openssl_installed "${openssl_installed}")
-endif (LINUX AND CMAKE_SYSTEM_PROCESSOR MATCHES x86_64 OR DARWIN OR NOT USESYSTEMLIBS)
-if (WINDOWS AND NOT USESYSTEMLIBS)
+endif ()
+if (WINDOWS)
target_link_libraries(ll::openssl INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libssl.lib ${ARCH_PREBUILT_DIRS_RELEASE}/libcrypto.lib Crypt32.lib)
elseif (LINUX)
target_link_libraries(ll::openssl INTERFACE ${ARCH_PREBUILT_DIRS_RELEASE}/libssl.a ${ARCH_PREBUILT_DIRS_RELEASE}/libcrypto.a dl)
else()
target_link_libraries(ll::openssl INTERFACE ssl crypto)
-endif (WINDOWS AND NOT USESYSTEMLIBS)
-if (NOT (WINDOWS AND USESYSTEMLIBS))
+endif (WINDOWS)
+if (NOT WINDOWS)
target_include_directories( ll::openssl SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include)
-endif (NOT (WINDOWS AND USESYSTEMLIBS))
+endif ()
diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake
index 751e83051f..2d5eb5d805 100644
--- a/indra/cmake/Prebuilt.cmake
+++ b/indra/cmake/Prebuilt.cmake
@@ -40,38 +40,37 @@ macro (use_prebuilt_binary _binary)
--install-dir=${AUTOBUILD_INSTALL_DIR}
${_binary} ")
endif(DEBUG_PREBUILT)
- if(USESYSTEMLIBS)
+ execute_process(COMMAND xmllint
+ --xpath
+ "//map/map/map/map/map/map/string[contains(text(),'${_binary}')][contains(text(),'common')]/text()" autobuild.xml
+ WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/..
+ OUTPUT_VARIABLE package_url
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ if ("${package_url}" STREQUAL "")
+ string(TOLOWER ${CMAKE_SYSTEM_NAME} system_name)
+ if (${system_name} MATCHES freebsd)
+ set(system_name "linux")
+ endif (${system_name} MATCHES freebsd)
execute_process(COMMAND xmllint
--xpath
- "//map/map/map/map/map/map/string[contains(text(),'${_binary}')][contains(text(),'common')]/text()" autobuild.xml
+ "//map/map/map/map/map/map/string[contains(text(),'${_binary}')][contains(text(),'${system_name}')]/text()" autobuild.xml
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/..
OUTPUT_VARIABLE package_url
OUTPUT_STRIP_TRAILING_WHITESPACE
)
- if ("${package_url}" STREQUAL "")
- string(TOLOWER ${CMAKE_SYSTEM_NAME} system_name)
- if (${system_name} MATCHES freebsd)
- set(system_name "linux")
- endif (${system_name} MATCHES freebsd)
- execute_process(COMMAND xmllint
- --xpath
- "//map/map/map/map/map/map/string[contains(text(),'${_binary}')][contains(text(),'${system_name}')]/text()" autobuild.xml
- WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/..
- OUTPUT_VARIABLE package_url
- OUTPUT_STRIP_TRAILING_WHITESPACE
- )
- endif ("${package_url}" STREQUAL "")
- string(REGEX REPLACE "^https?://(megapahit.net/downloads|github.com/secondlife|automated-builds-secondlife-com.s3.amazonaws.com/ct2).*/" "" package_name ${package_url})
- file(DOWNLOAD
- ${package_url}
- ${CMAKE_BINARY_DIR}/${package_name}
- )
- file(ARCHIVE_EXTRACT
- INPUT ${CMAKE_BINARY_DIR}/${package_name}
- DESTINATION ${AUTOBUILD_INSTALL_DIR}
- )
- set(${_binary}_installed 0)
- else(USESYSTEMLIBS)
+ endif ("${package_url}" STREQUAL "")
+ string(REGEX REPLACE "^https?://(megapahit.net/downloads|github.com/secondlife|automated-builds-secondlife-com.s3.amazonaws.com/ct2).*/" "" package_name ${package_url})
+ file(DOWNLOAD
+ ${package_url}
+ ${CMAKE_BINARY_DIR}/${package_name}
+ )
+ file(ARCHIVE_EXTRACT
+ INPUT ${CMAKE_BINARY_DIR}/${package_name}
+ DESTINATION ${AUTOBUILD_INSTALL_DIR}
+ )
+ set(${_binary}_installed 0)
+ if(FALSE)
execute_process(COMMAND "${AUTOBUILD_EXECUTABLE}"
install
--install-dir=${AUTOBUILD_INSTALL_DIR}
@@ -79,7 +78,7 @@ macro (use_prebuilt_binary _binary)
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
RESULT_VARIABLE ${_binary}_installed
)
- endif(USESYSTEMLIBS)
+ endif()
file(WRITE ${PREBUILD_TRACKING_DIR}/${_binary}_installed "${${_binary}_installed}")
endif(${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/${_binary}_installed OR NOT ${${_binary}_installed} EQUAL 0)
@@ -92,6 +91,22 @@ endmacro (use_prebuilt_binary _binary)
#Sadly we need a macro here, otherwise the return() will not properly work
macro ( use_system_binary package )
+ include(FindPkgConfig)
+ pkg_check_modules(${package} ${package})
+ if( ${package}_FOUND )
+ target_link_directories( ll::${package} INTERFACE ${${package}_LIBRARY_DIRS} )
+ else()
+ pkg_check_modules(${package} lib${package})
+ if( ${package}_FOUND )
+ target_link_directories( ll::${package} INTERFACE ${${package}_LIBRARY_DIRS} )
+ else()
+ find_package( ${package} REQUIRED )
+ endif()
+ endif()
+ target_include_directories( ll::${package} SYSTEM INTERFACE ${${package}_INCLUDE_DIRS} )
+ target_link_libraries( ll::${package} INTERFACE ${${package}_LIBRARIES} )
+ return()
+
if( USE_CONAN )
target_link_libraries( ll::${package} INTERFACE CONAN_PKG::${package} )
foreach( extra_pkg "${ARGN}" )
@@ -100,22 +115,6 @@ macro ( use_system_binary package )
endif()
endforeach()
return()
- elseif( NOT USE_AUTOBUILD_3P )
- include(FindPkgConfig)
- pkg_check_modules(${package} ${package})
- if( ${package}_FOUND )
- target_link_directories( ll::${package} INTERFACE ${${package}_LIBRARY_DIRS} )
- else()
- pkg_check_modules(${package} lib${package})
- if( ${package}_FOUND )
- target_link_directories( ll::${package} INTERFACE ${${package}_LIBRARY_DIRS} )
- else()
- find_package( ${package} REQUIRED )
- endif()
- endif()
- target_include_directories( ll::${package} SYSTEM INTERFACE ${${package}_INCLUDE_DIRS} )
- target_link_libraries( ll::${package} INTERFACE ${${package}_LIBRARIES} )
- return()
endif()
endmacro()
diff --git a/indra/cmake/UI.cmake b/indra/cmake/UI.cmake
index a3423bb895..85e74f03e4 100644
--- a/indra/cmake/UI.cmake
+++ b/indra/cmake/UI.cmake
@@ -5,10 +5,7 @@ include(GLIB)
add_library( ll::uilibraries INTERFACE IMPORTED )
-if (LINUX OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
- if (NOT USESYSTEMLIBS)
- use_prebuilt_binary(fltk)
- endif ()
+if (LINUX OR CMAKE_SYSTEM_NAME MATCHES FreeBSD)
target_compile_definitions(ll::uilibraries INTERFACE LL_FLTK=1 LL_X11=1 )
if( USE_CONAN )
@@ -30,7 +27,7 @@ if (LINUX OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
ll::gio
)
-endif (LINUX OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
+endif ()
if( WINDOWS )
target_link_libraries( ll::uilibraries INTERFACE
opengl32
@@ -48,7 +45,7 @@ if( WINDOWS )
)
endif()
-if (NOT USESYSTEMLIBS)
+if (FALSE)
target_include_directories( ll::uilibraries SYSTEM INTERFACE
${LIBS_PREBUILT_DIR}/include
)
diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake
index 13f5ebf862..4ab69e30aa 100644
--- a/indra/cmake/ViewerMiscLibs.cmake
+++ b/indra/cmake/ViewerMiscLibs.cmake
@@ -1,23 +1,23 @@
# -*- cmake -*-
include(Prebuilt)
-if (NOT (WINDOWS OR DARWIN))
+if (NOT (DARWIN OR WINDOWS))
add_library( ll::fontconfig INTERFACE IMPORTED )
find_package(Fontconfig REQUIRED)
target_link_libraries( ll::fontconfig INTERFACE Fontconfig::Fontconfig )
-endif (NOT (WINDOWS OR DARWIN))
+endif ()
-if( USE_AUTOBUILD_3P )
+if (FALSE)
+if( NOT USE_CONAN )
use_prebuilt_binary(libhunspell)
endif()
-if (NOT USESYSTEMLIBS)
use_prebuilt_binary(slvoice)
-endif (NOT USESYSTEMLIBS)
+endif (FALSE)
-if ((${LINUX_DISTRO} MATCHES debian OR WINDOWS OR DARWIN) OR NOT USESYSTEMLIBS)
+if (${LINUX_DISTRO} MATCHES debian OR DARWIN OR WINDOWS)
use_prebuilt_binary(nanosvg)
-endif ((${LINUX_DISTRO} MATCHES debian OR WINDOWS OR DARWIN) OR NOT USESYSTEMLIBS)
+endif ()
use_prebuilt_binary(viewer-fonts)
use_prebuilt_binary(emoji_shortcodes)
diff --git a/indra/cmake/VulkanGltf.cmake b/indra/cmake/VulkanGltf.cmake
index d7083a33c9..94541d5307 100644
--- a/indra/cmake/VulkanGltf.cmake
+++ b/indra/cmake/VulkanGltf.cmake
@@ -1,7 +1,5 @@
# -*- cmake -*-
include(Prebuilt)
-if (NOT USESYSTEMLIBS)
use_prebuilt_binary(vulkan_gltf)
-endif ()
diff --git a/indra/cmake/ZLIBNG.cmake b/indra/cmake/ZLIBNG.cmake
index 5aa54b0152..7c2c59a68d 100644
--- a/indra/cmake/ZLIBNG.cmake
+++ b/indra/cmake/ZLIBNG.cmake
@@ -5,15 +5,15 @@ include(Prebuilt)
include_guard()
add_library( ll::zlib-ng INTERFACE IMPORTED )
+pkg_check_modules(Zlib REQUIRED zlib)
+target_include_directories( ll::zlib-ng SYSTEM INTERFACE ${Zlib_INCLUDE_DIRS})
+target_link_directories( ll::zlib-ng INTERFACE ${Zlib_LIBRARY_DIRS} )
+target_link_libraries( ll::zlib-ng INTERFACE ${Zlib_LIBRARIES})
+return()
+
if(USE_CONAN )
target_link_libraries( ll::zlib-ng INTERFACE CONAN_PKG::zlib )
return()
-elseif(NOT USE_AUTOBUILD_3P)
- pkg_check_modules(Zlib REQUIRED zlib)
- target_include_directories( ll::zlib-ng SYSTEM INTERFACE ${Zlib_INCLUDE_DIRS})
- target_link_directories( ll::zlib-ng INTERFACE ${Zlib_LIBRARY_DIRS} )
- target_link_libraries( ll::zlib-ng INTERFACE ${Zlib_LIBRARIES})
- return()
endif()
use_prebuilt_binary(zlib-ng)
diff --git a/indra/cmake/xxHash.cmake b/indra/cmake/xxHash.cmake
index 7e113feda2..84f4f4e0f2 100644
--- a/indra/cmake/xxHash.cmake
+++ b/indra/cmake/xxHash.cmake
@@ -6,10 +6,8 @@ set (XXHASH_CMAKE_INCLUDED TRUE)
include(Prebuilt)
-if (USESYSTEMLIBS)
- include(FindPkgConfig)
- pkg_check_modules(Xxhash REQUIRED libxxhash)
- return ()
-endif ()
+include(FindPkgConfig)
+pkg_check_modules(Xxhash REQUIRED libxxhash)
+return ()
use_prebuilt_binary(xxhash)