CMake: tweak recent py module changes
authorCampbell Barton <ideasman42@gmail.com>
Tue, 24 Mar 2015 08:09:51 +0000 (19:09 +1100)
committerCampbell Barton <ideasman42@gmail.com>
Tue, 24 Mar 2015 08:09:51 +0000 (19:09 +1100)
support installing portable builds to CMAKE_INSTALL_PREFIX

CMakeLists.txt
source/creator/CMakeLists.txt

index 100d00b2032554119d2f69e0a1c250e233aec151..2ce183e220fe890e47ace12df8a2ce6e4933acdb 100644 (file)
@@ -201,7 +201,7 @@ set(WITH_PYTHON_SECURITY ON CACHE BOOL "ON" FORCE) # temp force on.
 
 option(WITH_PYTHON_SAFETY "Enable internal API error checking to track invalid data to prevent crash on access (at the expense of some effeciency, only enable for development)." OFF)
 mark_as_advanced(WITH_PYTHON_SAFETY)
-option(WITH_PYTHON_MODULE "Enable building as a python module which runs without a user interface, like running regular blender in background mode (experimental, only enable for development), installs to PYTHON_SITE_PACKAGES" OFF)
+option(WITH_PYTHON_MODULE "Enable building as a python module which runs without a user interface, like running regular blender in background mode (experimental, only enable for development), installs to PYTHON_SITE_PACKAGES (or CMAKE_INSTALL_PREFIX if WITH_INSTALL_PORTABLE is enabled)." OFF)
 if(APPLE)
        option(WITH_PYTHON_FRAMEWORK "Enable building using the Python available in the framework (OSX only)" OFF)
 endif()
@@ -617,8 +617,6 @@ endif()
 # may as well build python module without a UI
 if(WITH_PYTHON_MODULE)
        set(WITH_HEADLESS ON)
-       # building as a Python module wont use /usr/shared
-       set(WITH_INSTALL_PORTABLE ON)
 endif()
 
 if(NOT WITH_PYTHON)
index b9044e64ddd7852f2b17d814af259bdcfffc319e..193737e9822c021efb082ea2363d774e529658cc 100644 (file)
@@ -262,7 +262,11 @@ endif()
 
 if(UNIX AND NOT APPLE)
        if(WITH_PYTHON_MODULE)
-               set(TARGETDIR_VER ${PYTHON_SITE_PACKAGES}/${BLENDER_VERSION})
+               if(WITH_INSTALL_PORTABLE)
+                       set(TARGETDIR_VER ${BLENDER_VERSION})
+               else()
+                       set(TARGETDIR_VER ${PYTHON_SITE_PACKAGES}/${BLENDER_VERSION})
+               endif()
        else()
                if(WITH_INSTALL_PORTABLE)
                        set(TARGETDIR_VER ${BLENDER_VERSION})
@@ -408,10 +412,17 @@ if(UNIX AND NOT APPLE)
 
        # there are a few differences between portable and system install
        if(WITH_PYTHON_MODULE)
-               install(
-                       TARGETS blender
-                       LIBRARY DESTINATION ${PYTHON_SITE_PACKAGES}
-               )
+               if(WITH_INSTALL_PORTABLE)
+                       install(
+                               TARGETS blender
+                               DESTINATION "."
+                       )
+               else()
+                       install(
+                               TARGETS blender
+                               LIBRARY DESTINATION ${PYTHON_SITE_PACKAGES}
+                       )
+               endif()
                # none of the other files are needed currently
        elseif(WITH_INSTALL_PORTABLE)
                install(