diff options
| author | Erik Kundiman <erik@megapahit.org> | 2024-07-05 08:58:07 +0800 | 
|---|---|---|
| committer | Erik Kundiman <erik@megapahit.org> | 2024-07-05 08:58:07 +0800 | 
| commit | 532ebcd2d1e722e73aa09a49e77ebaa79cc05e3e (patch) | |
| tree | 20db4483472c5e874c5d5419934274e8c8d1d13c /indra | |
| parent | 8131a31bf4fefa7a8915508e3149cdf1dc47f384 (diff) | |
`make install` on macOS copies resources to bundle
Except for SLPlugin since there's already a custom command for it.
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/cmake/UnixInstall.cmake | 88 | ||||
| -rw-r--r-- | indra/llplugin/slplugin/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | indra/media_plugins/cef/CMakeLists.txt | 20 | ||||
| -rw-r--r-- | indra/media_plugins/libvlc/CMakeLists.txt | 20 | ||||
| -rw-r--r-- | indra/newview/ViewerInstall.cmake | 52 | 
5 files changed, 135 insertions, 47 deletions
| diff --git a/indra/cmake/UnixInstall.cmake b/indra/cmake/UnixInstall.cmake index a748237c5b..59620b60b4 100644 --- a/indra/cmake/UnixInstall.cmake +++ b/indra/cmake/UnixInstall.cmake @@ -6,32 +6,64 @@ set(INSTALL OFF CACHE BOOL      "Generate install target.")  if (INSTALL) -  set(INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH -      "Top-level installation directory.") - -  if (EXISTS ${CMAKE_SYSROOT}/usr/lib/${ARCH}-linux-gnu) -    set(_LIB lib/${ARCH}-linux-gnu) -  elseif (EXISTS /lib64) -    set(_LIB lib64) -  else () -    set(_LIB lib) -  endif () - -  set(INSTALL_LIBRARY_DIR ${INSTALL_PREFIX}/${_LIB} CACHE PATH -      "Installation directory for read-only shared files.") - -  set(INSTALL_SHARE_DIR ${INSTALL_PREFIX}/share CACHE PATH -      "Installation directory for read-only shared files.") - -  set(APP_BINARY_DIR ${INSTALL_PREFIX}/bin -      CACHE PATH -      "Installation directory for binaries.") - -  set(APP_SHARE_DIR ${INSTALL_SHARE_DIR}/${VIEWER_BINARY_NAME} -      CACHE PATH -      "Installation directory for read-only data files.") - -  set(APP_LIBEXEC_DIR ${INSTALL_PREFIX}/libexec/${VIEWER_BINARY_NAME} -      CACHE PATH -      "Installation directory for non-manual executables.") + +  if (DARWIN) + +    set(INSTALL_PREFIX +        ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents +        CACHE PATH +        "Top-level installation directory.") + +    set(INSTALL_LIBRARY_DIR ${INSTALL_PREFIX}/Resources +        CACHE PATH +        "Installation directory for read-only shared files.") + +    set(INSTALL_SHARE_DIR ${INSTALL_LIBRARY_DIR} CACHE PATH +        "Installation directory for read-only shared files.") + +    set(APP_BINARY_DIR ${INSTALL_PREFIX}/MacOS +        CACHE PATH +        "Installation directory for binaries.") + +    set(APP_SHARE_DIR ${INSTALL_SHARE_DIR} +        CACHE PATH +        "Installation directory for read-only data files.") + +    set(APP_LIBEXEC_DIR ${INSTALL_LIBRARY_DIR} +        CACHE PATH +        "Installation directory for non-manual executables.") + +  else (DARWIN) + +    set(INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} CACHE PATH +        "Top-level installation directory.") + +    if (EXISTS ${CMAKE_SYSROOT}/usr/lib/${ARCH}-linux-gnu) +      set(_LIB lib/${ARCH}-linux-gnu) +    elseif (EXISTS /lib64) +      set(_LIB lib64) +    else () +      set(_LIB lib) +    endif () + +    set(INSTALL_LIBRARY_DIR ${INSTALL_PREFIX}/${_LIB} CACHE PATH +        "Installation directory for read-only shared files.") + +    set(INSTALL_SHARE_DIR ${INSTALL_PREFIX}/share CACHE PATH +        "Installation directory for read-only shared files.") + +    set(APP_BINARY_DIR ${INSTALL_PREFIX}/bin +        CACHE PATH +        "Installation directory for binaries.") + +    set(APP_SHARE_DIR ${INSTALL_SHARE_DIR}/${VIEWER_BINARY_NAME} +        CACHE PATH +        "Installation directory for read-only data files.") + +    set(APP_LIBEXEC_DIR ${INSTALL_PREFIX}/libexec/${VIEWER_BINARY_NAME} +        CACHE PATH +        "Installation directory for non-manual executables.") + +  endif (DARWIN) +  endif (INSTALL) diff --git a/indra/llplugin/slplugin/CMakeLists.txt b/indra/llplugin/slplugin/CMakeLists.txt index e86ddd8a32..cdf77187c3 100644 --- a/indra/llplugin/slplugin/CMakeLists.txt +++ b/indra/llplugin/slplugin/CMakeLists.txt @@ -65,7 +65,7 @@ if (BUILD_SHARED_LIBS)      "${LINK_FLAGS_RELEASE} -Wl,--allow-shlib-undefined")  endif () -if (INSTALL) +if (INSTALL AND NOT DARWIN)    install(TARGETS ${PROJECT_NAME} DESTINATION libexec/${VIEWER_BINARY_NAME})  endif () diff --git a/indra/media_plugins/cef/CMakeLists.txt b/indra/media_plugins/cef/CMakeLists.txt index 15b2d71923..5fb0158aa3 100644 --- a/indra/media_plugins/cef/CMakeLists.txt +++ b/indra/media_plugins/cef/CMakeLists.txt @@ -93,12 +93,14 @@ if (DARWIN)  endif (DARWIN)  if (INSTALL) -	if (EXISTS ${CMAKE_SYSROOT}/usr/lib/${ARCH}-linux-gnu) -		set(_LIB lib/${ARCH}-linux-gnu) -	elseif (EXISTS /lib64) -		set(_LIB lib64) -	else () -		set(_LIB lib) -	endif () -	install(TARGETS ${PROJECT_NAME} DESTINATION ${_LIB}) -endif () +    if (DARWIN) +        set(_LIB ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/llplugin) +    elseif (EXISTS ${CMAKE_SYSROOT}/usr/lib/${ARCH}-linux-gnu) +        set(_LIB lib/${ARCH}-linux-gnu) +    elseif (EXISTS /lib64) +        set(_LIB lib64) +    else (DARWIN) +        set(_LIB lib) +    endif (DARWIN) +    install(TARGETS ${PROJECT_NAME} DESTINATION ${_LIB}) +endif (INSTALL) diff --git a/indra/media_plugins/libvlc/CMakeLists.txt b/indra/media_plugins/libvlc/CMakeLists.txt index d5d9a5d147..2c70db1141 100644 --- a/indra/media_plugins/libvlc/CMakeLists.txt +++ b/indra/media_plugins/libvlc/CMakeLists.txt @@ -57,12 +57,14 @@ if (DARWIN)  endif (DARWIN)  if (INSTALL) -	if (EXISTS ${CMAKE_SYSROOT}/usr/lib/${ARCH}-linux-gnu) -		set(_LIB lib/${ARCH}-linux-gnu) -	elseif (EXISTS /lib64) -		set(_LIB lib64) -	else () -		set(_LIB lib) -	endif () -	install(TARGETS ${PROJECT_NAME} DESTINATION ${_LIB}) -endif () +    if (DARWIN) +        set(_LIB ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/llplugin) +    elseif (EXISTS ${CMAKE_SYSROOT}/usr/lib/${ARCH}-linux-gnu) +        set(_LIB lib/${ARCH}-linux-gnu) +    elseif (EXISTS /lib64) +        set(_LIB lib64) +    else (DARWIN) +        set(_LIB lib) +    endif (DARWIN) +    install(TARGETS ${PROJECT_NAME} DESTINATION ${_LIB}) +endif (INSTALL) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index e648d8cc47..3ae148e91d 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -1,3 +1,53 @@ +if (DARWIN) + +    install(DIRECTORY +        English.lproj +        German.lproj +        Japanese.lproj +        Korean.lproj +        app_settings +        character +        cursors_mac +        da.lproj +        es.lproj +        fonts +        fr.lproj +        uk.lproj +        hu.lproj +        it.lproj +        nl.lproj +        pl.lproj +        pt.lproj +        ru.lproj +        skins +        tr.lproj +        zh-Hans.lproj +        DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources +        ) + +    install(FILES +        SecondLife.nib +        ${AUTOBUILD_INSTALL_DIR}/ca-bundle.crt +        cube.dae +        featuretable_mac.txt +        secondlife.icns +        DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources +        ) + +    install(FILES +        licenses-mac.txt +        RENAME licenses.txt +        DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources +        ) + +    install(FILES +        ${SCRIPTS_DIR}/messages/message_template.msg +        ${SCRIPTS_DIR}/../etc/message.xml +        DESTINATION ${viewer_BINARY_DIR}/${VIEWER_CHANNEL}.app/Contents/Resources/app_settings +        ) + +else (DARWIN) +  install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_BINARY_NAME}          DESTINATION bin          ) @@ -80,3 +130,5 @@ install(FILES ${SCRIPTS_DIR}/messages/message_template.msg  install(FILES linux_tools/${VIEWER_BINARY_NAME}.desktop          DESTINATION share/applications          ) + +endif (DARWIN) | 
