From d605cc7574d8b8dde5cbeb7cec419ae62686e579 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 13 Aug 2023 13:44:37 +1000 Subject: [PATCH] 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. --- build_files/cmake/macros.cmake | 18 +++-- .../cmake/platform/platform_win32.cmake | 17 +++- source/creator/CMakeLists.txt | 77 ++++++++++--------- 3 files changed, 64 insertions(+), 48 deletions(-) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index cef3b31001d..f7616acebd5 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -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() diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index c33aacef010..859cb2bbe53 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -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 "") endif() if(NOT WITH_PYTHON_MODULE) diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 79d4c230f02..0d4b1954072 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -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 $ - 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).