diff options
11 files changed, 114 insertions, 102 deletions
diff --git a/build_files/build_environment/cmake/harvest.cmake b/build_files/build_environment/cmake/harvest.cmake index dfdfe50ab49..fbc9f8687f9 100644 --- a/build_files/build_environment/cmake/harvest.cmake +++ b/build_files/build_environment/cmake/harvest.cmake @@ -208,7 +208,9 @@ function(harvest from to) FILES_MATCHING PATTERN ${pattern} PATTERN "pkgconfig" EXCLUDE PATTERN "cmake" EXCLUDE - PATTERN "clang" EXCLUDE) + PATTERN "clang" EXCLUDE + PATTERN "__pycache__" EXCLUDE + PATTERN "tests" EXCLUDE) endif() endfunction() @@ -267,17 +269,7 @@ harvest(png/include png/include "*.h") harvest(png/lib png/lib "*.a") harvest(python/bin python/bin "python${PYTHON_SHORT_VERSION}m") harvest(python/include python/include "*h") -if(UNIX AND NOT APPLE) - harvest(python/lib/libpython${PYTHON_SHORT_VERSION}m.a python/lib/libpython${PYTHON_SHORT_VERSION}m.a) - harvest(python/lib/python${PYTHON_SHORT_VERSION} python/lib/python${PYTHON_SHORT_VERSION} "*") - harvest(requests python/lib/python${PYTHON_SHORT_VERSION}/site-packages/requests "*") - harvest(numpy python/lib/python${PYTHON_SHORT_VERSION}/site-packages/numpy "*") -else() - harvest(python/lib/libpython${PYTHON_SHORT_VERSION}m.a python/lib/python${PYTHON_SHORT_VERSION}/libpython${PYTHON_SHORT_VERSION}m.a) - harvest(python/release release "*") - harvest(requests release/site-packages/requests "*") - harvest(numpy release/site-packages/numpy "*") -endif() +harvest(python/lib python/lib "*") harvest(schroedinger/lib/libschroedinger-1.0.a ffmpeg/lib/libschroedinger.a) harvest(sdl/include/SDL2 sdl/include "*.h") harvest(sdl/lib sdl/lib "libSDL2.a") diff --git a/build_files/build_environment/cmake/numpy.cmake b/build_files/build_environment/cmake/numpy.cmake index ab196dc5eec..b1bf1691a28 100644 --- a/build_files/build_environment/cmake/numpy.cmake +++ b/build_files/build_environment/cmake/numpy.cmake @@ -37,9 +37,7 @@ if(WIN32) ${CMAKE_COMMAND} -E tar "cfvz" "${LIBDIR}/python35_numpy_${NUMPY_SHORT_VERSION}${NUMPY_ARCHIVE_POSTFIX}.tar.gz" "." ) else() - set(NUMPY_INSTALL - ${CMAKE_COMMAND} -E copy_directory "${BUILD_DIR}/numpy/src/external_numpy/build/lib.${PYTHON_ARCH2}-3.5/numpy/" "${LIBDIR}/numpy/" - ) + set(NUMPY_INSTALL echo .) endif() ExternalProject_Add(external_numpy diff --git a/build_files/build_environment/cmake/python.cmake b/build_files/build_environment/cmake/python.cmake index a24bbbb6aea..c1c7bf7001c 100644 --- a/build_files/build_environment/cmake/python.cmake +++ b/build_files/build_environment/cmake/python.cmake @@ -82,13 +82,7 @@ else() INSTALL_COMMAND ${PYTHON_CONFIGURE_ENV} && cd ${BUILD_DIR}/python/src/external_python/ && make install INSTALL_DIR ${LIBDIR}/python) - add_custom_command( - OUTPUT ${LIBDIR}/python/release/python_x86_64.zip - WORKING_DIRECTORY ${LIBDIR}/python - COMMAND mkdir -p release - COMMAND zip -r release/python_x86_64.zip lib/python${PYTHON_SHORT_VERSION} lib/pkgconfig --exclude *__pycache__*) - add_custom_target(Package_Python ALL DEPENDS external_python ${LIBDIR}/python/release/python_x86_64.zip) - add_custom_target(Make_Python_Environment ALL DEPENDS Package_Python) + add_custom_target(Make_Python_Environment ALL DEPENDS external_python) endif() if(MSVC) diff --git a/build_files/build_environment/cmake/requests.cmake b/build_files/build_environment/cmake/requests.cmake index 399bfe4009f..f5aa26b0615 100644 --- a/build_files/build_environment/cmake/requests.cmake +++ b/build_files/build_environment/cmake/requests.cmake @@ -17,6 +17,12 @@ # ***** END GPL LICENSE BLOCK ***** if(BUILD_MODE STREQUAL Release) + if(WIN32) + set(REQUESTS_INSTALL_DIR ${LIBDIR}/requests) + else() + set(REQUESTS_INSTALL_DIR ${LIBDIR}/python/lib/python${PYTHON_SHORT_VERSION}/site-packages/requests) + endif() + ExternalProject_Add(external_requests URL ${REQUESTS_URI} DOWNLOAD_DIR ${DOWNLOAD_DIR} @@ -24,6 +30,8 @@ if(BUILD_MODE STREQUAL Release) PREFIX ${BUILD_DIR}/requests CONFIGURE_COMMAND "" BUILD_COMMAND "" - INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/requests/src/external_requests/requests ${LIBDIR}/requests + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory ${BUILD_DIR}/requests/src/external_requests/requests ${REQUESTS_INSTALL_DIR} ) + + add_dependencies(external_requests Make_Python_Environment) endif(BUILD_MODE STREQUAL Release) diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake index 5336024b75c..17118e4672a 100644 --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -95,7 +95,11 @@ if(WITH_PYTHON) # normally cached but not since we include them with blender set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}m") set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}m") - set(PYTHON_LIBRARY python${PYTHON_VERSION}m) + if(WITH_CXX11) + set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}m.a) + else() + set(PYTHON_LIBRARY python${PYTHON_VERSION}m) + endif() set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}") # set(PYTHON_LINKFLAGS "-u _PyMac_Error") # won't build with this enabled else() @@ -115,6 +119,9 @@ if(WITH_PYTHON) set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}") set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}") + # needed for Audaspace, numpy is installed into python site-packages + set(NUMPY_INCLUDE_DIRS "${PYTHON_LIBPATH}/site-packages/numpy/core/include") + if(NOT EXISTS "${PYTHON_EXECUTABLE}") message(FATAL_ERROR "Python executable missing: ${PYTHON_EXECUTABLE}") endif() diff --git a/release/scripts/presets/cycles/integrator/direct_light.py b/release/scripts/presets/cycles/integrator/direct_light.py index 12b332cb431..701aa10d556 100644 --- a/release/scripts/presets/cycles/integrator/direct_light.py +++ b/release/scripts/presets/cycles/integrator/direct_light.py @@ -2,12 +2,10 @@ import bpy cycles = bpy.context.scene.cycles cycles.max_bounces = 8 -cycles.min_bounces = 8 cycles.caustics_reflective = False cycles.caustics_refractive = False cycles.diffuse_bounces = 0 cycles.glossy_bounces = 1 cycles.transmission_bounces = 2 cycles.volume_bounces = 0 -cycles.transparent_min_bounces = 8 cycles.transparent_max_bounces = 8 diff --git a/release/scripts/presets/cycles/integrator/full_global_illumination.py b/release/scripts/presets/cycles/integrator/full_global_illumination.py index 69fa6e735bd..a03c6c8bd64 100644 --- a/release/scripts/presets/cycles/integrator/full_global_illumination.py +++ b/release/scripts/presets/cycles/integrator/full_global_illumination.py @@ -2,12 +2,10 @@ import bpy cycles = bpy.context.scene.cycles cycles.max_bounces = 128 -cycles.min_bounces = 3 cycles.caustics_reflective = True cycles.caustics_refractive = True cycles.diffuse_bounces = 128 cycles.glossy_bounces = 128 cycles.transmission_bounces = 128 cycles.volume_bounces = 128 -cycles.transparent_min_bounces = 8 cycles.transparent_max_bounces = 128 diff --git a/release/scripts/presets/cycles/integrator/limited_global_illumination.py b/release/scripts/presets/cycles/integrator/limited_global_illumination.py index 22a8478d23b..d37bf46c705 100644 --- a/release/scripts/presets/cycles/integrator/limited_global_illumination.py +++ b/release/scripts/presets/cycles/integrator/limited_global_illumination.py @@ -2,12 +2,10 @@ import bpy cycles = bpy.context.scene.cycles cycles.max_bounces = 8 -cycles.min_bounces = 3 cycles.caustics_reflective = False cycles.caustics_refractive = False cycles.diffuse_bounces = 1 cycles.glossy_bounces = 4 cycles.transmission_bounces = 8 cycles.volume_bounces = 2 -cycles.transparent_min_bounces = 8 cycles.transparent_max_bounces = 8 diff --git a/release/scripts/presets/cycles/sampling/final.py b/release/scripts/presets/cycles/sampling/final.py index d03423b6c2e..f1222d927c1 100644 --- a/release/scripts/presets/cycles/sampling/final.py +++ b/release/scripts/presets/cycles/sampling/final.py @@ -1,20 +1,18 @@ import bpy cycles = bpy.context.scene.cycles -cycles.use_square_samples = True - # Path Trace -cycles.samples = 24 -cycles.preview_samples = 12 +cycles.samples = 512 +cycles.preview_samples = 128 # Branched Path Trace -cycles.aa_samples = 8 -cycles.preview_aa_samples = 4 +cycles.aa_samples = 128 +cycles.preview_aa_samples = 32 -cycles.diffuse_samples = 3 -cycles.glossy_samples = 2 -cycles.transmission_samples = 2 +cycles.diffuse_samples = 4 +cycles.glossy_samples = 4 +cycles.transmission_samples = 4 cycles.ao_samples = 1 -cycles.mesh_light_samples = 2 -cycles.subsurface_samples = 2 -cycles.volume_samples = 2 +cycles.mesh_light_samples = 4 +cycles.subsurface_samples = 4 +cycles.volume_samples = 4 diff --git a/release/scripts/presets/cycles/sampling/preview.py b/release/scripts/presets/cycles/sampling/preview.py index 5f071c7474d..c16449e2c8f 100644 --- a/release/scripts/presets/cycles/sampling/preview.py +++ b/release/scripts/presets/cycles/sampling/preview.py @@ -1,20 +1,18 @@ import bpy cycles = bpy.context.scene.cycles -cycles.use_square_samples = True - # Path Trace -cycles.samples = 12 -cycles.preview_samples = 6 +cycles.samples = 128 +cycles.preview_samples = 32 # Branched Path Trace -cycles.aa_samples = 4 -cycles.preview_aa_samples = 2 +cycles.aa_samples = 32 +cycles.preview_aa_samples = 4 -cycles.diffuse_samples = 3 -cycles.glossy_samples = 2 -cycles.transmission_samples = 2 +cycles.diffuse_samples = 4 +cycles.glossy_samples = 4 +cycles.transmission_samples = 4 cycles.ao_samples = 1 -cycles.mesh_light_samples = 2 -cycles.subsurface_samples = 2 -cycles.volume_samples = 2 +cycles.mesh_light_samples = 4 +cycles.subsurface_samples = 4 +cycles.volume_samples = 4 diff --git a/source/creator/CMakeLists.txt b/source/creator/CMakeLists.txt index 11e22fffa4d..023d04f5da7 100644 --- a/source/creator/CMakeLists.txt +++ b/source/creator/CMakeLists.txt @@ -851,6 +851,13 @@ elseif(APPLE) PATTERN "__MACOSX" EXCLUDE PATTERN ".DS_Store" EXCLUDE PATTERN "config-${PYTHON_VERSION}m/*.a" EXCLUDE # static lib + PATTERN "lib2to3" EXCLUDE # ./lib2to3 + PATTERN "tkinter" EXCLUDE # ./tkinter + PATTERN "lib-dynload/_tkinter.*" EXCLUDE # ./lib-dynload/_tkinter.co + PATTERN "idlelib" EXCLUDE # ./idlelib + PATTERN "test" EXCLUDE # ./test + PATTERN "turtledemo" EXCLUDE # ./turtledemo + PATTERN "turtle.py" EXCLUDE # ./turtle.py ) endmacro() @@ -914,41 +921,49 @@ elseif(APPLE) # python if(WITH_PYTHON AND NOT WITH_PYTHON_MODULE AND NOT WITH_PYTHON_FRAMEWORK) - # the python zip is first extracted as part of the build process, - # and then later installed as part of make install. this is much - # quicker, and means we can easily exclude files on copy - # Not needed for PYTHON_MODULE or WEB_PLUGIN due uses Pyhon framework - # use a hash of the .zip path to handle switching between different - # lib directories without needing a clean build - string(SHA1 PYTHON_ZIP_HASH ${LIBDIR}/release/${PYTHON_ZIP}) - set(PYTHON_EXTRACT_DIR ${CMAKE_CURRENT_BINARY_DIR}/${PYTHON_ZIP_HASH}/python) - - add_custom_target( - extractpyzip - DEPENDS ${PYTHON_EXTRACT_DIR}) - - set(PYTHON_ZIP "python_${CMAKE_OSX_ARCHITECTURES}.zip") - - add_custom_command( - OUTPUT ${PYTHON_EXTRACT_DIR} - COMMAND ${CMAKE_COMMAND} -E remove_directory "${PYTHON_EXTRACT_DIR}/" - COMMAND ${CMAKE_COMMAND} -E make_directory "${PYTHON_EXTRACT_DIR}/" - COMMAND ${CMAKE_COMMAND} -E chdir "${PYTHON_EXTRACT_DIR}/" - ${CMAKE_COMMAND} -E tar xzfv "${LIBDIR}/release/${PYTHON_ZIP}" - DEPENDS ${LIBDIR}/release/${PYTHON_ZIP}) - - add_dependencies(blender extractpyzip) - - # copy extracted python files - install_dir( - ${PYTHON_EXTRACT_DIR} - \${TARGETDIR_VER} - ) - # copy site-packages files - install_dir( - ${LIBDIR}/release/site-packages - \${TARGETDIR_VER}/python/lib/python${PYTHON_VERSION} - ) + if(WITH_CXX11) + # Copy the python libs into the install directory + install_dir( + ${PYTHON_LIBPATH} + ${TARGETDIR_VER}/python/lib + ) + else() + # the python zip is first extracted as part of the build process, + # and then later installed as part of make install. this is much + # quicker, and means we can easily exclude files on copy + # Not needed for PYTHON_MODULE or WEB_PLUGIN due uses Pyhon framework + # use a hash of the .zip path to handle switching between different + # lib directories without needing a clean build + string(SHA1 PYTHON_ZIP_HASH ${LIBDIR}/release/${PYTHON_ZIP}) + set(PYTHON_EXTRACT_DIR ${CMAKE_CURRENT_BINARY_DIR}/${PYTHON_ZIP_HASH}/python) + + add_custom_target( + extractpyzip + DEPENDS ${PYTHON_EXTRACT_DIR}) + + set(PYTHON_ZIP "python_${CMAKE_OSX_ARCHITECTURES}.zip") + + add_custom_command( + OUTPUT ${PYTHON_EXTRACT_DIR} + COMMAND ${CMAKE_COMMAND} -E remove_directory "${PYTHON_EXTRACT_DIR}/" + COMMAND ${CMAKE_COMMAND} -E make_directory "${PYTHON_EXTRACT_DIR}/" + COMMAND ${CMAKE_COMMAND} -E chdir "${PYTHON_EXTRACT_DIR}/" + ${CMAKE_COMMAND} -E tar xzfv "${LIBDIR}/release/${PYTHON_ZIP}" + DEPENDS ${LIBDIR}/release/${PYTHON_ZIP}) + + add_dependencies(blender extractpyzip) + + # copy extracted python files + install_dir( + ${PYTHON_EXTRACT_DIR} + \${TARGETDIR_VER} + ) + # copy site-packages files + install_dir( + ${LIBDIR}/release/site-packages + \${TARGETDIR_VER}/python/lib/python${PYTHON_VERSION} + ) + endif() install(DIRECTORY ${LIBDIR}/python/bin DESTINATION ${TARGETDIR_VER}/python @@ -1003,19 +1018,27 @@ elseif(APPLE) # python if(WITH_PYTHON AND NOT WITH_PYTHON_FRAMEWORK) - add_custom_command( - OUTPUT ${PYTHON_EXTRACT_DIR} - COMMAND ${CMAKE_COMMAND} -E remove_directory "${PYTHON_EXTRACT_DIR}/" - COMMAND ${CMAKE_COMMAND} -E make_directory "${PYTHON_EXTRACT_DIR}/" - COMMAND ${CMAKE_COMMAND} -E chdir "${PYTHON_EXTRACT_DIR}/" - ${CMAKE_COMMAND} -E tar xzfv "${LIBDIR}/release/${PYTHON_ZIP}" - DEPENDS ${LIBDIR}/release/${PYTHON_ZIP}) - - # copy extracted python files - install_dir( - ${PYTHON_EXTRACT_DIR} - \${PLAYER_TARGETDIR_VER} - ) + if(WITH_CXX11) + # Copy the python libs into the install directory + install_dir( + ${PYTHON_LIBPATH} + ${PLAYER_TARGETDIR_VER}/python/lib + ) + else() + add_custom_command( + OUTPUT ${PYTHON_EXTRACT_DIR} + COMMAND ${CMAKE_COMMAND} -E remove_directory "${PYTHON_EXTRACT_DIR}/" + COMMAND ${CMAKE_COMMAND} -E make_directory "${PYTHON_EXTRACT_DIR}/" + COMMAND ${CMAKE_COMMAND} -E chdir "${PYTHON_EXTRACT_DIR}/" + ${CMAKE_COMMAND} -E tar xzfv "${LIBDIR}/release/${PYTHON_ZIP}" + DEPENDS ${LIBDIR}/release/${PYTHON_ZIP}) + + # copy extracted python files + install_dir( + ${PYTHON_EXTRACT_DIR} + \${PLAYER_TARGETDIR_VER} + ) + endif() endif() endif() |