CMake: use CMAKE_INSTALL_PREFIX in more places

Also remove quotes for consistency as they aren't needed and weren't
used in quite a few places.
This commit is contained in:
Campbell Barton 2023-08-13 13:44:37 +10:00
parent 329474f018
commit d605cc7574
3 changed files with 64 additions and 48 deletions

@ -1514,15 +1514,17 @@ macro(windows_install_shared_manifest)
if(WINDOWS_INSTALL_RELEASE)
list(APPEND WINDOWS_SHARED_MANIFEST_RELEASE ${WINDOWS_INSTALL_FILES})
endif()
install(FILES ${WINDOWS_INSTALL_FILES}
CONFIGURATIONS ${WINDOWS_CONFIGURATIONS}
DESTINATION "./blender.shared"
install(
FILES ${WINDOWS_INSTALL_FILES}
DESTINATION ${CMAKE_INSTALL_PREFIX}/blender.shared
CONFIGURATIONS ${WINDOWS_CONFIGURATIONS}
)
else()
# Python module without manifest.
install(FILES ${WINDOWS_INSTALL_FILES}
CONFIGURATIONS ${WINDOWS_CONFIGURATIONS}
DESTINATION "./bpy"
install(
FILES ${WINDOWS_INSTALL_FILES}
DESTINATION ${CMAKE_INSTALL_PREFIX}/bpy
CONFIGURATIONS ${WINDOWS_CONFIGURATIONS}
)
endif()
endmacro()
@ -1559,7 +1561,7 @@ macro(windows_generate_shared_manifest)
)
install(
FILES ${CMAKE_BINARY_DIR}/Debug/blender.shared.manifest
DESTINATION "./blender.shared"
DESTINATION ${CMAKE_INSTALL_PREFIX}/blender.shared
CONFIGURATIONS Debug
)
endif()
@ -1571,7 +1573,7 @@ macro(windows_generate_shared_manifest)
)
install(
FILES ${CMAKE_BINARY_DIR}/Release/blender.shared.manifest
DESTINATION "./blender.shared"
DESTINATION ${CMAKE_INSTALL_PREFIX}/blender.shared
CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
)
endif()

@ -134,11 +134,19 @@ if(WITH_WINDOWS_BUNDLE_CRT)
string(FIND ${lib} "ucrtbase" pos)
if(NOT pos EQUAL -1)
list(REMOVE_ITEM CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS ${lib})
install(FILES ${lib} DESTINATION . COMPONENT Libraries)
install(
FILES ${lib}
DESTINATION ${CMAKE_INSTALL_PREFIX}
COMPONENT Libraries
)
endif()
endforeach()
# Install the CRT to the blender.crt Sub folder.
install(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ./blender.crt COMPONENT Libraries)
install(
FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS}
DESTINATION ${CMAKE_INSTALL_PREFIX}/blender.crt
COMPONENT Libraries
)
windows_generate_manifest(
FILES "${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS}"
@ -146,7 +154,10 @@ if(WITH_WINDOWS_BUNDLE_CRT)
NAME "blender.crt"
)
install(FILES ${CMAKE_BINARY_DIR}/blender.crt.manifest DESTINATION ./blender.crt)
install(
FILES ${CMAKE_BINARY_DIR}/blender.crt.manifest
DESTINATION ${CMAKE_INSTALL_PREFIX}/blender.crt
)
set(BUNDLECRT "<dependency><dependentAssembly><assemblyIdentity type=\"win32\" name=\"blender.crt\" version=\"1.0.0.0\" /></dependentAssembly></dependency>")
endif()
if(NOT WITH_PYTHON_MODULE)

@ -364,8 +364,8 @@ if(UNIX AND NOT APPLE)
if(WITH_PYTHON_MODULE)
if(WITH_INSTALL_PORTABLE)
set(TARGETDIR_BPY bpy)
set(TARGETDIR_VER bpy/${BLENDER_VERSION})
set(TARGETDIR_LIB bpy/lib)
set(TARGETDIR_VER ${CMAKE_INSTALL_PREFIX}/bpy/${BLENDER_VERSION})
set(TARGETDIR_LIB ${CMAKE_INSTALL_PREFIX}/bpy/lib)
else()
set(TARGETDIR_BPY ${PYTHON_SITE_PACKAGES}/bpy)
set(TARGETDIR_VER ${PYTHON_SITE_PACKAGES}/bpy/${BLENDER_VERSION})
@ -373,9 +373,9 @@ if(UNIX AND NOT APPLE)
endif()
else()
if(WITH_INSTALL_PORTABLE)
set(TARGETDIR_VER ${BLENDER_VERSION})
set(TARGETDIR_TEXT "${CMAKE_INSTALL_PREFIX}")
set(TARGETDIR_LIB lib)
set(TARGETDIR_VER ${CMAKE_INSTALL_PREFIX}/${BLENDER_VERSION})
set(TARGETDIR_TEXT ${CMAKE_INSTALL_PREFIX})
set(TARGETDIR_LIB ${CMAKE_INSTALL_PREFIX}/lib)
else()
set(TARGETDIR_VER share/blender/${BLENDER_VERSION})
set(TARGETDIR_TEXT share/doc/blender)
@ -391,16 +391,16 @@ elseif(WIN32)
set(TARGETDIR_EXE ${CMAKE_INSTALL_PREFIX_WITH_CONFIG}/bpy)
else()
set(TARGETDIR_VER ${BLENDER_VERSION})
set(TARGETDIR_TEXT "${CMAKE_INSTALL_PREFIX}")
set(TARGETDIR_LIB "${CMAKE_INSTALL_PREFIX}/blender.shared")
set(TARGETDIR_EXE "${CMAKE_INSTALL_PREFIX}")
set(TARGETDIR_TEXT ${CMAKE_INSTALL_PREFIX})
set(TARGETDIR_LIB ${CMAKE_INSTALL_PREFIX}/blender.shared)
set(TARGETDIR_EXE ${CMAKE_INSTALL_PREFIX})
endif()
elseif(APPLE)
if(WITH_PYTHON_MODULE)
if(WITH_INSTALL_PORTABLE)
set(TARGETDIR_BPY bpy)
set(TARGETDIR_VER bpy/${BLENDER_VERSION})
set(TARGETDIR_LIB bpy/lib)
set(TARGETDIR_BPY ${CMAKE_INSTALL_PREFIX}/bpy)
set(TARGETDIR_VER ${CMAKE_INSTALL_PREFIX}/bpy/${BLENDER_VERSION})
set(TARGETDIR_LIB ${CMAKE_INSTALL_PREFIX}/bpy/lib)
else()
# Paths defined in terms of site-packages since the site-packages
# directory can be a symlink (brew for example).
@ -409,9 +409,9 @@ elseif(APPLE)
set(TARGETDIR_LIB ${PYTHON_SITE_PACKAGES}/bpy/lib)
endif()
else()
set(TARGETDIR_VER Blender.app/Contents/Resources/${BLENDER_VERSION})
set(TARGETDIR_LIB Blender.app/Contents/Resources/lib)
set(TARGETDIR_TEXT Blender.app/Contents/Resources/text)
set(TARGETDIR_VER ${CMAKE_INSTALL_PREFIX}/Blender.app/Contents/Resources/${BLENDER_VERSION})
set(TARGETDIR_LIB ${CMAKE_INSTALL_PREFIX}/Blender.app/Contents/Resources/lib)
set(TARGETDIR_TEXT ${CMAKE_INSTALL_PREFIX}/Blender.app/Contents/Resources/text)
endif()
# Skip re-linking on CPACK / install.
set_target_properties(blender PROPERTIES BUILD_WITH_INSTALL_RPATH true)
@ -637,7 +637,7 @@ if(UNIX AND NOT APPLE)
set(BLENDER_BIN "blender")
install(
TARGETS blender
DESTINATION "${CMAKE_INSTALL_PREFIX}"
DESTINATION ${CMAKE_INSTALL_PREFIX}
)
install(
@ -645,13 +645,13 @@ if(UNIX AND NOT APPLE)
${CMAKE_SOURCE_DIR}/release/freedesktop/blender.desktop
${CMAKE_SOURCE_DIR}/release/freedesktop/icons/scalable/apps/blender.svg
${CMAKE_SOURCE_DIR}/release/freedesktop/icons/symbolic/apps/blender-symbolic.svg
DESTINATION "${CMAKE_INSTALL_PREFIX}"
DESTINATION ${CMAKE_INSTALL_PREFIX}
)
if(WITH_BLENDER_THUMBNAILER)
install(
TARGETS blender-thumbnailer
DESTINATION "${CMAKE_INSTALL_PREFIX}"
DESTINATION ${CMAKE_INSTALL_PREFIX}
)
endif()
@ -659,13 +659,16 @@ if(UNIX AND NOT APPLE)
if(NOT DEFINED LIBDIR)
# Pass.
elseif(EXISTS ${LIBDIR}/mesa)
install(DIRECTORY ${LIBDIR}/mesa/lib/ DESTINATION "lib/mesa/")
install(
DIRECTORY ${LIBDIR}/mesa/lib/
DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/mesa/
)
install(
PROGRAMS
${CMAKE_SOURCE_DIR}/release/bin/blender-launcher
${CMAKE_SOURCE_DIR}/release/bin/blender-softwaregl
DESTINATION "${CMAKE_INSTALL_PREFIX}"
DESTINATION ${CMAKE_INSTALL_PREFIX}
)
# Remove from old location, so existing builds don't start with software
@ -689,26 +692,26 @@ if(UNIX AND NOT APPLE)
set(BLENDER_BIN "bin/blender")
install(
TARGETS blender
DESTINATION bin
DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
)
# Misc files.
install(
FILES ${CMAKE_SOURCE_DIR}/release/freedesktop/blender.desktop
DESTINATION share/applications
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications
)
install(
FILES ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/scalable/apps/blender.svg
DESTINATION share/icons/hicolor/scalable/apps
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps
)
install(
FILES ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/symbolic/apps/blender-symbolic.svg
DESTINATION share/icons/hicolor/symbolic/apps
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/symbolic/apps
)
if(WITH_BLENDER_THUMBNAILER)
install(
TARGETS blender-thumbnailer
DESTINATION bin
DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
)
endif()
endif()
@ -1022,13 +1025,13 @@ elseif(WIN32)
# on the build-bot does not support this endeavor.
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/\${CMAKE_INSTALL_CONFIG_NAME}/blender_public.pdb
DESTINATION "${CMAKE_INSTALL_PREFIX}"
DESTINATION ${CMAKE_INSTALL_PREFIX}
RENAME blender.pdb
)
else()
install(
FILES $<TARGET_PDB_FILE:blender>
DESTINATION "${CMAKE_INSTALL_PREFIX}"
DESTINATION ${CMAKE_INSTALL_PREFIX}
RENAME blender.pdb
)
endif()
@ -1251,14 +1254,14 @@ elseif(WIN32)
install(
FILES
${LIBDIR}/python/${_PYTHON_VERSION_NO_DOTS}/libs/python${_PYTHON_VERSION_NO_DOTS}.pdb
DESTINATION "${CMAKE_INSTALL_PREFIX}"
DESTINATION ${CMAKE_INSTALL_PREFIX}
CONFIGURATIONS Release;RelWithDebInfo;MinSizeRel
)
install(
FILES
${LIBDIR}/python/${_PYTHON_VERSION_NO_DOTS}/libs/python${_PYTHON_VERSION_NO_DOTS}_d.pdb
DESTINATION "${CMAKE_INSTALL_PREFIX}"
DESTINATION ${CMAKE_INSTALL_PREFIX}
CONFIGURATIONS Debug
)
endif()
@ -1356,7 +1359,7 @@ elseif(WIN32)
${LIBDIR}/audaspace/lib/audaspace.dll
${LIBDIR}/audaspace/lib/audaspace-c.dll
${LIBDIR}/audaspace/lib/audaspace-py.dll
DESTINATION "${CMAKE_INSTALL_PREFIX}"
DESTINATION ${CMAKE_INSTALL_PREFIX}
)
endif()
@ -1377,7 +1380,7 @@ elseif(WIN32)
if(WITH_BLENDER_THUMBNAILER)
install(
TARGETS BlendThumb
DESTINATION "${CMAKE_INSTALL_PREFIX}"
DESTINATION ${CMAKE_INSTALL_PREFIX}
)
endif()
@ -1439,23 +1442,23 @@ elseif(APPLE)
set(BLENDER_BIN "bin/blender")
install(
TARGETS blender
DESTINATION "${CMAKE_INSTALL_PREFIX}"
DESTINATION ${CMAKE_INSTALL_PREFIX}
)
install(
FILES ${OSX_APP_SOURCEDIR}/Contents/PkgInfo
DESTINATION Blender.app/Contents
DESTINATION ${CMAKE_INSTALL_PREFIX}/Blender.app/Contents
)
install_dir(
${OSX_APP_SOURCEDIR}/Contents/Resources
Blender.app/Contents/
${CMAKE_INSTALL_PREFIX}/Blender.app/Contents/
)
if(WITH_BLENDER_THUMBNAILER)
install(
TARGETS blender-thumbnailer
DESTINATION Blender.app/Contents/MacOS/
DESTINATION ${CMAKE_INSTALL_PREFIX}/Blender.app/Contents/MacOS
)
endif()
@ -1639,7 +1642,7 @@ if((DEFINED LIBDIR) AND TARGETDIR_LIB)
${LIBDIR}/usd/plugin/usd/hdStorm
${LIBDIR}/usd/plugin/usd/usdShaders
${LIBDIR}/usd/plugin/usd/hioOiio
DESTINATION "./blender.shared/usd"
DESTINATION ${CMAKE_INSTALL_PREFIX}/blender.shared/usd
)
elseif(USD_PYTHON_SUPPORT)
install(DIRECTORY
@ -1755,7 +1758,7 @@ if(WIN32 AND NOT WITH_PYTHON_MODULE)
install(
TARGETS blender blender-launcher
COMPONENT Blender
DESTINATION "${CMAKE_INSTALL_PREFIX}"
DESTINATION ${CMAKE_INSTALL_PREFIX}
)
set_target_properties(
blender
@ -1816,7 +1819,7 @@ endif()\n\
if(WITH_INSTALL_PORTABLE)
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/blender.1
DESTINATION "${CMAKE_INSTALL_PREFIX}"
DESTINATION ${CMAKE_INSTALL_PREFIX}
)
else()
# Manual page (only with `blender` binary).