Fix: T42553 Linux cmake install now also without absolute path's

OS X cmake probably needs more checking.
This commit is contained in:
Martijn Berger
2014-11-11 21:44:26 +01:00
parent 8c227adb8c
commit c932edb578
2 changed files with 44 additions and 34 deletions

View File

@@ -368,16 +368,19 @@ if(MSVC)
set(CPACK_INSTALL_PREFIX ${CMAKE_GENERIC_PROGRAM_FILES}/${}) set(CPACK_INSTALL_PREFIX ${CMAKE_GENERIC_PROGRAM_FILES}/${})
endif() endif()
# By default we want to install to the directory we are compiling our executables # By default we want to install to the directory we are compiling our executables
# unless specified otherwise, which we currently do not allow # unless specified otherwise, which we currently do not allow
IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
if(MSVC) if(MSVC)
set(BLENDER_INSTALL_PREFIX ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE}) set(CMAKE_INSTALL_PREFIX ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE} CACHE PATH "default install path" FORCE )
elseif(APPLE) elseif(APPLE)
set(BLENDER_INSTALL_PREFIX ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE}) set(CMAKE_INSTALL_PREFIX ${EXECUTABLE_OUTPUT_PATH}/\${BUILD_TYPE} CACHE PATH "default install path" FORCE )
else() else()
set(BLENDER_INSTALL_PREFIX ${EXECUTABLE_OUTPUT_PATH}) set(CMAKE_INSTALL_PREFIX ${EXECUTABLE_OUTPUT_PATH} CACHE PATH "default install path" FORCE )
endif() endif()
set(CMAKE_INSTALL_PREFIX ${BLENDER_INSTALL_PREFIX} CACHE INTERNAL "") endif()
# Apple # Apple
@@ -1692,6 +1695,12 @@ elseif(WIN32)
endif() endif()
endif() endif()
set(CPACK_PACKAGE_INSTALL_DIRECTORY "Blender Foundation/Blender")
set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "Blender Foundation/Blender")
set(CPACK_WIX_LICENSE_RTF ${CMAKE_SOURCE_DIR}/release/text/GPL-license.rtf)
set(CPACK_WIX_PRODUCT_ICON ${CMAKE_SOURCE_DIR}/source/icons/winblender.ico)
set(CPACK_WIX_UPGRADE_GUID "B767E4FD-7DE7-4094-B051-3AE62E13A17A")
elseif(APPLE) elseif(APPLE)
if(${CMAKE_OSX_DEPLOYMENT_TARGET} STREQUAL "10.5" OR ${CMAKE_OSX_DEPLOYMENT_TARGET} STRGREATER "10.5") if(${CMAKE_OSX_DEPLOYMENT_TARGET} STREQUAL "10.5" OR ${CMAKE_OSX_DEPLOYMENT_TARGET} STRGREATER "10.5")

View File

@@ -257,12 +257,12 @@ endif()
if(UNIX AND NOT APPLE) if(UNIX AND NOT APPLE)
if(WITH_INSTALL_PORTABLE) if(WITH_INSTALL_PORTABLE)
set(TARGETDIR_VER ${CMAKE_INSTALL_PREFIX}/${BLENDER_VERSION}) set(TARGETDIR_VER ${BLENDER_VERSION})
else() else()
if(WITH_PYTHON_MODULE) if(WITH_PYTHON_MODULE)
set(TARGETDIR_VER ${PYTHON_LIBPATH}/python${PYTHON_VERSION}/site-packages/${BLENDER_VERSION}) set(TARGETDIR_VER ${PYTHON_LIBPATH}/python${PYTHON_VERSION}/site-packages/${BLENDER_VERSION})
else() else()
set(TARGETDIR_VER ${CMAKE_INSTALL_PREFIX}/share/blender/${BLENDER_VERSION}) set(TARGETDIR_VER share/blender/${BLENDER_VERSION})
endif() endif()
endif() endif()
@@ -391,15 +391,11 @@ endif()
if(UNIX AND NOT APPLE) if(UNIX AND NOT APPLE)
if(NOT WITH_PYTHON_MODULE) if(NOT WITH_PYTHON_MODULE)
install( add_custom_target(blender_man_page ALL
CODE COMMAND ${CMAKE_SOURCE_DIR}/doc/manpage/blender.1.py ${EXECUTABLE_OUTPUT_PATH}/blender ${CMAKE_CURRENT_BINARY_DIR}/blender.1)
"
execute_process(COMMAND add_dependencies(blender_man_page blender)
${CMAKE_SOURCE_DIR}/doc/manpage/blender.1.py
${CMAKE_INSTALL_PREFIX}/blender
${CMAKE_INSTALL_PREFIX}/blender.1)
"
)
endif() endif()
# there are a few differences between portable and system install # there are a few differences between portable and system install
@@ -408,27 +404,31 @@ if(UNIX AND NOT APPLE)
# pass # pass
else() else()
install( install(
FILES ${CMAKE_INSTALL_PREFIX}/blender.1 FILES ${CMAKE_CURRENT_BINARY_DIR}/blender.1
DESTINATION ${CMAKE_INSTALL_PREFIX} DESTINATION "."
) )
endif() endif()
install(
TARGETS blender
DESTINATION "."
)
install( install(
FILES FILES
${CMAKE_SOURCE_DIR}/release/freedesktop/blender.desktop ${CMAKE_SOURCE_DIR}/release/freedesktop/blender.desktop
${CMAKE_SOURCE_DIR}/release/freedesktop/icons/scalable/apps/blender.svg ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/scalable/apps/blender.svg
DESTINATION ${CMAKE_INSTALL_PREFIX} DESTINATION "."
) )
install( install(
PROGRAMS PROGRAMS
${CMAKE_SOURCE_DIR}/release/bin/blender-thumbnailer.py ${CMAKE_SOURCE_DIR}/release/bin/blender-thumbnailer.py
DESTINATION ${CMAKE_INSTALL_PREFIX} DESTINATION "."
) )
install( install(
FILES ${BLENDER_TEXT_FILES} FILES ${BLENDER_TEXT_FILES}
DESTINATION ${CMAKE_INSTALL_PREFIX} DESTINATION "."
) )
else() else()
@@ -436,33 +436,32 @@ if(UNIX AND NOT APPLE)
if(WITH_PYTHON_MODULE) if(WITH_PYTHON_MODULE)
install( install(
TARGETS blender TARGETS blender
LIBRARY LIBRARY DESTINATION ${PYTHON_LIBPATH}/python${PYTHON_VERSION}/site-packages
DESTINATION ${PYTHON_LIBPATH}/python${PYTHON_VERSION}/site-packages
) )
else() else()
install( install(
PROGRAMS ${CMAKE_INSTALL_PREFIX}/blender TARGETS blender
DESTINATION ${CMAKE_INSTALL_PREFIX}/bin DESTINATION bin
) )
# manpage only with 'blender' binary # manpage only with 'blender' binary
install( install(
FILES ${CMAKE_INSTALL_PREFIX}/blender.1 FILES ${CMAKE_CURRENT_BINARY_DIR}/blender.1
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/man/man1 DESTINATION share/man/man1
) )
endif() endif()
if(WITH_GAMEENGINE AND WITH_PLAYER) if(WITH_GAMEENGINE AND WITH_PLAYER)
install( install(
PROGRAMS ${CMAKE_INSTALL_PREFIX}/blenderplayer TARGETS blenderplayer
DESTINATION ${CMAKE_INSTALL_PREFIX}/bin DESTINATION bin
) )
endif() endif()
# misc files # misc files
install( install(
FILES ${CMAKE_SOURCE_DIR}/release/freedesktop/blender.desktop FILES ${CMAKE_SOURCE_DIR}/release/freedesktop/blender.desktop
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications DESTINATION share/applications
) )
install( install(
DIRECTORY DIRECTORY
@@ -472,20 +471,20 @@ if(UNIX AND NOT APPLE)
${CMAKE_SOURCE_DIR}/release/freedesktop/icons/32x32 ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/32x32
${CMAKE_SOURCE_DIR}/release/freedesktop/icons/48x48 ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/48x48
${CMAKE_SOURCE_DIR}/release/freedesktop/icons/256x256 ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/256x256
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor DESTINATION share/icons/hicolor
PATTERN "*.svg" EXCLUDE PATTERN "*.svg" EXCLUDE
) )
install( install(
FILES ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/scalable/apps/blender.svg FILES ${CMAKE_SOURCE_DIR}/release/freedesktop/icons/scalable/apps/blender.svg
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps DESTINATION share/icons/hicolor/scalable/apps
) )
install( install(
PROGRAMS ${CMAKE_SOURCE_DIR}/release/bin/blender-thumbnailer.py PROGRAMS ${CMAKE_SOURCE_DIR}/release/bin/blender-thumbnailer.py
DESTINATION ${CMAKE_INSTALL_PREFIX}/bin DESTINATION bin
) )
install( install(
FILES ${BLENDER_TEXT_FILES} FILES ${BLENDER_TEXT_FILES}
DESTINATION ${CMAKE_INSTALL_PREFIX}/share/doc/blender DESTINATION share/doc/blender
) )
endif() endif()
@@ -805,7 +804,9 @@ elseif(APPLE)
set(OSX_APP_SOURCEDIR ${CMAKE_SOURCE_DIR}/release/darwin/blender.app) set(OSX_APP_SOURCEDIR ${CMAKE_SOURCE_DIR}/release/darwin/blender.app)
# setup Info.plist # setup Info.plist
execute_process(COMMAND date "+%Y-%m-%d" OUTPUT_VARIABLE BLENDER_DATE OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND date "+%Y-%m-%d"
OUTPUT_VARIABLE BLENDER_DATE
OUTPUT_STRIP_TRAILING_WHITESPACE)
set_target_properties(blender PROPERTIES set_target_properties(blender PROPERTIES
MACOSX_BUNDLE_INFO_PLIST ${OSX_APP_SOURCEDIR}/Contents/Info.plist MACOSX_BUNDLE_INFO_PLIST ${OSX_APP_SOURCEDIR}/Contents/Info.plist