diff options
Diffstat (limited to 'build_files/cmake')
-rw-r--r-- | build_files/cmake/Modules/FindGLEW.cmake | 2 | ||||
-rw-r--r-- | build_files/cmake/Modules/FindOpenCOLLADA.cmake | 5 | ||||
-rw-r--r-- | build_files/cmake/Modules/FindOpenColorIO.cmake | 13 | ||||
-rw-r--r-- | build_files/cmake/Modules/FindOpenEXR.cmake | 6 | ||||
-rw-r--r-- | build_files/cmake/Modules/FindOpenGLES.cmake | 1 | ||||
-rw-r--r-- | build_files/cmake/Modules/FindOpenImageIO.cmake | 2 | ||||
-rw-r--r-- | build_files/cmake/Modules/FindOpenJPEG.cmake | 2 | ||||
-rw-r--r-- | build_files/cmake/buildinfo.cmake | 8 | ||||
-rwxr-xr-x | build_files/cmake/cmake_consistency_check.py | 2 | ||||
-rwxr-xr-x | build_files/cmake/cmake_netbeans_project.py | 4 | ||||
-rwxr-xr-x | build_files/cmake/cmake_qtcreator_project.py | 67 | ||||
-rw-r--r-- | build_files/cmake/config/blender_full.cmake | 62 | ||||
-rw-r--r-- | build_files/cmake/config/blender_lite.cmake | 1 | ||||
-rw-r--r-- | build_files/cmake/macros.cmake | 43 | ||||
-rw-r--r-- | build_files/cmake/packaging.cmake | 26 |
15 files changed, 188 insertions, 56 deletions
diff --git a/build_files/cmake/Modules/FindGLEW.cmake b/build_files/cmake/Modules/FindGLEW.cmake index 8589e143ada..2f098d5d9a4 100644 --- a/build_files/cmake/Modules/FindGLEW.cmake +++ b/build_files/cmake/Modules/FindGLEW.cmake @@ -75,3 +75,5 @@ MARK_AS_ADVANCED( GLEW_LIBRARY GLEW_MX_LIBRARY ) + +UNSET(_glew_SEARCH_DIRS) diff --git a/build_files/cmake/Modules/FindOpenCOLLADA.cmake b/build_files/cmake/Modules/FindOpenCOLLADA.cmake index 84aead58b60..1c10d5a71de 100644 --- a/build_files/cmake/Modules/FindOpenCOLLADA.cmake +++ b/build_files/cmake/Modules/FindOpenCOLLADA.cmake @@ -140,3 +140,8 @@ IF(OPENCOLLADA_FOUND) SET(OPENCOLLADA_LIBRARIES ${_opencollada_LIBRARIES}) SET(OPENCOLLADA_INCLUDE_DIRS ${_opencollada_INCLUDES}) ENDIF(OPENCOLLADA_FOUND) + +UNSET(COMPONENT) +UNSET(UPPERCOMPONENT) +UNSET(_opencollada_LIBRARIES) +UNSET(_opencollada_INCLUDES) diff --git a/build_files/cmake/Modules/FindOpenColorIO.cmake b/build_files/cmake/Modules/FindOpenColorIO.cmake index e152f0f81d9..bd1ecac0a39 100644 --- a/build_files/cmake/Modules/FindOpenColorIO.cmake +++ b/build_files/cmake/Modules/FindOpenColorIO.cmake @@ -63,11 +63,12 @@ FOREACH(COMPONENT ${_opencolorio_FIND_COMPONENTS}) PATH_SUFFIXES lib64 lib ) - if(OPENCOLORIO_${UPPERCOMPONENT}_LIBRARY) + IF(OPENCOLORIO_${UPPERCOMPONENT}_LIBRARY) LIST(APPEND _opencolorio_LIBRARIES "${OPENCOLORIO_${UPPERCOMPONENT}_LIBRARY}") - endif() + ENDIF() ENDFOREACH() + # handle the QUIETLY and REQUIRED arguments and set OPENCOLORIO_FOUND to TRUE if # all listed variables are TRUE INCLUDE(FindPackageHandleStandardArgs) @@ -82,5 +83,13 @@ ENDIF(OPENCOLORIO_FOUND) MARK_AS_ADVANCED( OPENCOLORIO_INCLUDE_DIR OPENCOLORIO_LIBRARY + OPENCOLORIO_OPENCOLORIO_LIBRARY + OPENCOLORIO_TINYXML_LIBRARY + OPENCOLORIO_YAML-CPP_LIBRARY ) +UNSET(COMPONENT) +UNSET(UPPERCOMPONENT) +UNSET(_opencolorio_FIND_COMPONENTS) +UNSET(_opencolorio_LIBRARIES) +UNSET(_opencolorio_SEARCH_DIRS) diff --git a/build_files/cmake/Modules/FindOpenEXR.cmake b/build_files/cmake/Modules/FindOpenEXR.cmake index 1c59ef49e59..8554da14f31 100644 --- a/build_files/cmake/Modules/FindOpenEXR.cmake +++ b/build_files/cmake/Modules/FindOpenEXR.cmake @@ -137,3 +137,9 @@ FOREACH(COMPONENT ${_openexr_FIND_COMPONENTS}) STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT) MARK_AS_ADVANCED(OPENEXR_${UPPERCOMPONENT}_LIBRARY) ENDFOREACH() + +UNSET(COMPONENT) +UNSET(UPPERCOMPONENT) +UNSET(_openexr_FIND_COMPONENTS) +UNSET(_openexr_LIBRARIES) +UNSET(_openexr_SEARCH_DIRS) diff --git a/build_files/cmake/Modules/FindOpenGLES.cmake b/build_files/cmake/Modules/FindOpenGLES.cmake index 1bb06c2f31c..9efb9408141 100644 --- a/build_files/cmake/Modules/FindOpenGLES.cmake +++ b/build_files/cmake/Modules/FindOpenGLES.cmake @@ -74,3 +74,4 @@ MARK_AS_ADVANCED( OPENGLES_INCLUDE_DIR ) +UNSET(_opengles_SEARCH_DIRS) diff --git a/build_files/cmake/Modules/FindOpenImageIO.cmake b/build_files/cmake/Modules/FindOpenImageIO.cmake index 9b8c8b075b1..39049981385 100644 --- a/build_files/cmake/Modules/FindOpenImageIO.cmake +++ b/build_files/cmake/Modules/FindOpenImageIO.cmake @@ -69,3 +69,5 @@ MARK_AS_ADVANCED( OPENIMAGEIO_INCLUDE_DIR OPENIMAGEIO_LIBRARY ) + +UNSET(_openimageio_SEARCH_DIRS) diff --git a/build_files/cmake/Modules/FindOpenJPEG.cmake b/build_files/cmake/Modules/FindOpenJPEG.cmake index 8bd1a584ac7..d765103638b 100644 --- a/build_files/cmake/Modules/FindOpenJPEG.cmake +++ b/build_files/cmake/Modules/FindOpenJPEG.cmake @@ -69,3 +69,5 @@ MARK_AS_ADVANCED( OPENJPEG_INCLUDE_DIR OPENJPEG_LIBRARY ) + +UNSET(_openjpeg_SEARCH_DIRS) diff --git a/build_files/cmake/buildinfo.cmake b/build_files/cmake/buildinfo.cmake index fecd19c62e2..8ef29b06213 100644 --- a/build_files/cmake/buildinfo.cmake +++ b/build_files/cmake/buildinfo.cmake @@ -146,6 +146,14 @@ file(WRITE buildinfo.h.txt "#define BUILD_TIME \"${BUILD_TIME}\"\n" ) +# cleanup +unset(MY_WC_HASH) +unset(MY_WC_COMMIT_TIMESTAMP) +unset(MY_WC_BRANCH) +unset(BUILD_DATE) +unset(BUILD_TIME) + + # Copy the file to the final header only if the version changes # and avoid needless rebuilds # TODO: verify this comment is true, as BUILD_TIME probably changes diff --git a/build_files/cmake/cmake_consistency_check.py b/build_files/cmake/cmake_consistency_check.py index 2e0eeb1e067..3de27ffb1e4 100755 --- a/build_files/cmake/cmake_consistency_check.py +++ b/build_files/cmake/cmake_consistency_check.py @@ -201,7 +201,7 @@ def cmake_get_src(f): # replace_line(f, i - 1, new_path_rel) else: - raise Exception("non existant include %s:%d -> %s" % (f, i, new_file)) + raise Exception("non existent include %s:%d -> %s" % (f, i, new_file)) # print(new_file) diff --git a/build_files/cmake/cmake_netbeans_project.py b/build_files/cmake/cmake_netbeans_project.py index fc6c64db1cd..81b1a460f67 100755 --- a/build_files/cmake/cmake_netbeans_project.py +++ b/build_files/cmake/cmake_netbeans_project.py @@ -125,6 +125,8 @@ def create_nb_project_main(): f.write(' </configuration>\n') f.write('</project>\n') + f.close() + f = open(join(PROJECT_DIR_NB, "configurations.xml"), 'w') f.write('<?xml version="1.0" encoding="UTF-8"?>\n') @@ -243,6 +245,8 @@ def create_nb_project_main(): f.write('</configurationDescriptor>\n') + f.close() + def main(): create_nb_project_main() diff --git a/build_files/cmake/cmake_qtcreator_project.py b/build_files/cmake/cmake_qtcreator_project.py index 346f5ea6a8e..59b8c7e5c4c 100755 --- a/build_files/cmake/cmake_qtcreator_project.py +++ b/build_files/cmake/cmake_qtcreator_project.py @@ -63,21 +63,21 @@ def create_qtc_project_main(): if SIMPLE_PROJECTFILE: # --- qtcreator specific, simple format PROJECT_NAME = "Blender" - f = open(os.path.join(PROJECT_DIR, "%s.files" % PROJECT_NAME), 'w') - f.write("\n".join(files_rel)) + with open(os.path.join(PROJECT_DIR, "%s.files" % PROJECT_NAME), 'w') as f: + f.write("\n".join(files_rel)) - f = open(os.path.join(PROJECT_DIR, "%s.includes" % PROJECT_NAME), 'w') - f.write("\n".join(sorted(list(set(os.path.dirname(f) - for f in files_rel if is_c_header(f)))))) + with open(os.path.join(PROJECT_DIR, "%s.includes" % PROJECT_NAME), 'w') as f: + f.write("\n".join(sorted(list(set(os.path.dirname(f) + for f in files_rel if is_c_header(f)))))) qtc_prj = os.path.join(PROJECT_DIR, "%s.creator" % PROJECT_NAME) - f = open(qtc_prj, 'w') - f.write("[General]\n") + with open(qtc_prj, 'w') as f: + f.write("[General]\n") qtc_cfg = os.path.join(PROJECT_DIR, "%s.config" % PROJECT_NAME) if not os.path.exists(qtc_cfg): - f = open(qtc_cfg, 'w') - f.write("// ADD PREDEFINED MACROS HERE!\n") + with open(qtc_cfg, 'w') as f: + f.write("// ADD PREDEFINED MACROS HERE!\n") else: includes, defines = cmake_advanced_info() @@ -96,29 +96,30 @@ def create_qtc_project_main(): PROJECT_NAME = project_name_get() FILE_NAME = PROJECT_NAME.lower() - f = open(os.path.join(PROJECT_DIR, "%s.files" % FILE_NAME), 'w') - f.write("\n".join(files_rel)) + with open(os.path.join(PROJECT_DIR, "%s.files" % FILE_NAME), 'w') as f: + f.write("\n".join(files_rel)) - f = open(os.path.join(PROJECT_DIR, "%s.includes" % FILE_NAME), 'w', encoding='utf-8') - f.write("\n".join(sorted(includes))) + with open(os.path.join(PROJECT_DIR, "%s.includes" % FILE_NAME), 'w', encoding='utf-8') as f: + f.write("\n".join(sorted(includes))) qtc_prj = os.path.join(PROJECT_DIR, "%s.creator" % FILE_NAME) - f = open(qtc_prj, 'w') - f.write("[General]\n") + with open(qtc_prj, 'w') as f: + f.write("[General]\n") qtc_cfg = os.path.join(PROJECT_DIR, "%s.config" % FILE_NAME) - f = open(qtc_cfg, 'w') - f.write("// ADD PREDEFINED MACROS TO %s_custom.config!\n" % FILE_NAME) - qtc_custom_cfg = os.path.join(PROJECT_DIR, "%s_custom.config" % FILE_NAME) - if os.path.exists(qtc_custom_cfg): - fc = open(qtc_custom_cfg, 'r') - f.write(fc.read()) - fc.close() - f.write("\n") - defines_final = [("#define %s %s" % (item[0], quote_define(item[1]))) for item in defines] - if sys.platform != "win32": - defines_final += cmake_compiler_defines() - f.write("\n".join(defines_final)) + with open(qtc_cfg, 'w') as f: + f.write("// ADD PREDEFINED MACROS TO %s_custom.config!\n" % FILE_NAME) + + qtc_custom_cfg = os.path.join(PROJECT_DIR, "%s_custom.config" % FILE_NAME) + if os.path.exists(qtc_custom_cfg): + with open(qtc_custom_cfg, 'r') as fc: + f.write(fc.read()) + f.write("\n") + + defines_final = [("#define %s %s" % (item[0], quote_define(item[1]))) for item in defines] + if sys.platform != "win32": + defines_final += cmake_compiler_defines() + f.write("\n".join(defines_final)) print("Blender project file written to: %r" % qtc_prj) # --- end @@ -137,17 +138,17 @@ def create_qtc_project_python(): PROJECT_NAME = project_name_get() + "_Python" FILE_NAME = PROJECT_NAME.lower() - f = open(os.path.join(PROJECT_DIR, "%s.files" % FILE_NAME), 'w') - f.write("\n".join(files_rel)) + with open(os.path.join(PROJECT_DIR, "%s.files" % FILE_NAME), 'w') as f: + f.write("\n".join(files_rel)) qtc_prj = os.path.join(PROJECT_DIR, "%s.creator" % FILE_NAME) - f = open(qtc_prj, 'w') - f.write("[General]\n") + with open(qtc_prj, 'w') as f: + f.write("[General]\n") qtc_cfg = os.path.join(PROJECT_DIR, "%s.config" % FILE_NAME) if not os.path.exists(qtc_cfg): - f = open(qtc_cfg, 'w') - f.write("// ADD PREDEFINED MACROS HERE!\n") + with open(qtc_cfg, 'w') as f: + f.write("// ADD PREDEFINED MACROS HERE!\n") print("Python project file written to: %r" % qtc_prj) diff --git a/build_files/cmake/config/blender_full.cmake b/build_files/cmake/config/blender_full.cmake new file mode 100644 index 00000000000..d41f97a8348 --- /dev/null +++ b/build_files/cmake/config/blender_full.cmake @@ -0,0 +1,62 @@ +# turn everything OFF except for python which defaults to ON +# and is needed for the UI +# +# Example usage: +# cmake -C../blender/build_files/cmake/config/blender_full.cmake ../blender +# + +set(WITH_BUILDINFO ON CACHE BOOL "" FORCE) +set(WITH_BULLET ON CACHE BOOL "" FORCE) +set(WITH_CODEC_AVI ON CACHE BOOL "" FORCE) +set(WITH_CODEC_FFMPEG ON CACHE BOOL "" FORCE) +set(WITH_CODEC_SNDFILE ON CACHE BOOL "" FORCE) +set(WITH_CYCLES ON CACHE BOOL "" FORCE) +set(WITH_FFTW3 ON CACHE BOOL "" FORCE) +set(WITH_LIBMV ON CACHE BOOL "" FORCE) +set(WITH_GAMEENGINE ON CACHE BOOL "" FORCE) +set(WITH_COMPOSITOR ON CACHE BOOL "" FORCE) +set(WITH_FREESTYLE ON CACHE BOOL "" FORCE) +set(WITH_GHOST_XDND ON CACHE BOOL "" FORCE) +set(WITH_IK_SOLVER ON CACHE BOOL "" FORCE) +set(WITH_IK_ITASC ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_CINEON ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_DDS ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_FRAMESERVER ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_HDR ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_OPENEXR ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_OPENJPEG ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_REDCODE ON CACHE BOOL "" FORCE) +set(WITH_IMAGE_TIFF ON CACHE BOOL "" FORCE) +set(WITH_INPUT_NDOF ON CACHE BOOL "" FORCE) +set(WITH_INTERNATIONAL ON CACHE BOOL "" FORCE) +set(WITH_JACK ON CACHE BOOL "" FORCE) +set(WITH_LZMA ON CACHE BOOL "" FORCE) +set(WITH_LZO ON CACHE BOOL "" FORCE) +set(WITH_MOD_BOOLEAN ON CACHE BOOL "" FORCE) +set(WITH_MOD_FLUID ON CACHE BOOL "" FORCE) +set(WITH_MOD_REMESH ON CACHE BOOL "" FORCE) +set(WITH_MOD_SMOKE ON CACHE BOOL "" FORCE) +set(WITH_MOD_OCEANSIM ON CACHE BOOL "" FORCE) +set(WITH_AUDASPACE ON CACHE BOOL "" FORCE) +set(WITH_OPENAL ON CACHE BOOL "" FORCE) +set(WITH_OPENCOLLADA ON CACHE BOOL "" FORCE) +set(WITH_OPENCOLORIO ON CACHE BOOL "" FORCE) +set(WITH_OPENMP ON CACHE BOOL "" FORCE) +set(WITH_OPENNL ON CACHE BOOL "" FORCE) +set(WITH_PYTHON_INSTALL ON CACHE BOOL "" FORCE) +set(WITH_RAYOPTIMIZATION ON CACHE BOOL "" FORCE) +set(WITH_SDL ON CACHE BOOL "" FORCE) +set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE) +set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE) + +set(WITH_PLAYER ON CACHE BOOL "" FORCE) +set(WITH_MEM_JEMALLOC ON CACHE BOOL "" FORCE) + +if(UNIX AND NOT APPLE) + set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE) +endif() + +if(APPLE) + set(WITH_CODEC_QUICKTIME ON CACHE BOOL "" FORCE) +endif() + diff --git a/build_files/cmake/config/blender_lite.cmake b/build_files/cmake/config/blender_lite.cmake index bf5c4f9e103..3a702014bae 100644 --- a/build_files/cmake/config/blender_lite.cmake +++ b/build_files/cmake/config/blender_lite.cmake @@ -44,6 +44,7 @@ set(WITH_AUDASPACE OFF CACHE BOOL "" FORCE) set(WITH_OPENAL OFF CACHE BOOL "" FORCE) set(WITH_OPENCOLLADA OFF CACHE BOOL "" FORCE) set(WITH_OPENCOLORIO OFF CACHE BOOL "" FORCE) +set(WITH_OPENIMAGEIO OFF CACHE BOOL "" FORCE) set(WITH_OPENMP OFF CACHE BOOL "" FORCE) set(WITH_OPENNL OFF CACHE BOOL "" FORCE) set(WITH_PYTHON_INSTALL OFF CACHE BOOL "" FORCE) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index b42e62e719c..40bea5ed761 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -221,7 +221,7 @@ macro(SETUP_LIBDIRS) if(WITH_PYTHON) # AND NOT WITH_PYTHON_MODULE # WIN32 needs link_directories(${PYTHON_LIBPATH}) endif() - if(WITH_SDL) + if(WITH_SDL AND NOT WITH_SDL_DYNLOAD) link_directories(${SDL_LIBPATH}) endif() if(WITH_CODEC_FFMPEG) @@ -321,7 +321,7 @@ macro(setup_liblinks if(WITH_CODEC_SNDFILE) target_link_libraries(${target} ${SNDFILE_LIBRARIES}) endif() - if(WITH_SDL) + if(WITH_SDL AND NOT WITH_SDL_DYNLOAD) target_link_libraries(${target} ${SDL_LIBRARY}) endif() if(WITH_CODEC_QUICKTIME) @@ -559,6 +559,7 @@ macro(SETUP_BLENDER_SORTED_LIBS) extern_wcwidth extern_libmv extern_glog + extern_sdlew bf_intern_glew_mx ) @@ -722,6 +723,8 @@ macro(TEST_SSE_SUPPORT endmacro() macro(TEST_STDBOOL_SUPPORT) + include(CheckCSourceRuns) + # This program will compile correctly if and only if # this C compiler supports C99 stdbool. check_c_source_runs(" @@ -996,7 +999,7 @@ macro(ADD_CHECK_CXX_COMPILER_FLAG endif() endmacro() -macro(get_blender_version) +function(get_blender_version) # So cmake depends on BKE_blender.h, beware of inf-loops! CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/source/blender/blenkernel/BKE_blender.h ${CMAKE_BINARY_DIR}/source/blender/blenkernel/BKE_blender.h.done) @@ -1031,31 +1034,24 @@ macro(get_blender_version) math(EXPR BLENDER_VERSION_MAJOR "${_out_version} / 100") math(EXPR BLENDER_VERSION_MINOR "${_out_version} % 100") - set(BLENDER_VERSION "${BLENDER_VERSION_MAJOR}.${BLENDER_VERSION_MINOR}") + set(BLENDER_VERSION "${BLENDER_VERSION_MAJOR}.${BLENDER_VERSION_MINOR}" PARENT_SCOPE) - set(BLENDER_SUBVERSION ${_out_subversion}) - set(BLENDER_VERSION_CHAR ${_out_version_char}) - set(BLENDER_VERSION_CYCLE ${_out_version_cycle}) + set(BLENDER_SUBVERSION ${_out_subversion} PARENT_SCOPE) + set(BLENDER_VERSION_CHAR ${_out_version_char} PARENT_SCOPE) + set(BLENDER_VERSION_CYCLE ${_out_version_cycle} PARENT_SCOPE) # for packaging, alpha to numbers string(COMPARE EQUAL "${BLENDER_VERSION_CHAR}" "" _out_version_char_empty) if(${_out_version_char_empty}) - set(BLENDER_VERSION_CHAR_INDEX "0") + set(BLENDER_VERSION_CHAR_INDEX "0" PARENT_SCOPE) else() set(_char_ls a b c d e f g h i j k l m n o p q r s t u v w x y z) list(FIND _char_ls ${BLENDER_VERSION_CHAR} _out_version_char_index) - math(EXPR BLENDER_VERSION_CHAR_INDEX "${_out_version_char_index} + 1") - unset(_char_ls) - unset(_out_version_char_index) + math(EXPR BLENDER_VERSION_CHAR_INDEX "${_out_version_char_index} + 1" PARENT_SCOPE) endif() - unset(_out_subversion) - unset(_out_version_char) - unset(_out_version_char_empty) - unset(_out_version_cycle) - # message(STATUS "Version (Internal): ${BLENDER_VERSION}.${BLENDER_SUBVERSION}, Version (external): ${BLENDER_VERSION}${BLENDER_VERSION_CHAR}-${BLENDER_VERSION_CYCLE}") -endmacro() +endfunction() # hacks to override initial project settings @@ -1152,6 +1148,7 @@ macro(delayed_install endif() set_property(GLOBAL APPEND PROPERTY DELAYED_INSTALL_DESTINATIONS ${destination}) endforeach() + unset(f) endmacro() # note this is a function instead of a macro so that ${BUILD_TYPE} in targetdir @@ -1171,6 +1168,7 @@ function(delayed_do_install list(GET destinations ${i} d) install(FILES ${f} DESTINATION ${targetdir}/${d}) endforeach() + unset(f) endif() endfunction() @@ -1385,3 +1383,14 @@ macro(find_python_package unset(_upper_package) endmacro() + +# like Python's 'print(dir())' +macro(print_all_vars) + get_cmake_property(_vars VARIABLES) + foreach(_var ${_vars}) + message("${_var}=${${_var}}") + endforeach() + unset(_vars) + unset(_var) +endmacro() + diff --git a/build_files/cmake/packaging.cmake b/build_files/cmake/packaging.cmake index 735d3fd819e..95bbb2b59a8 100644 --- a/build_files/cmake/packaging.cmake +++ b/build_files/cmake/packaging.cmake @@ -2,7 +2,6 @@ set(PROJECT_DESCRIPTION "Blender is a very fast and versatile 3D modeller/rende set(PROJECT_COPYRIGHT "Copyright (C) 2001-2012 Blender Foundation") set(PROJECT_CONTACT "foundation@blender.org") set(PROJECT_VENDOR "Blender Foundation") -set(ORG_WEBSITE "www.blender.org") set(MAJOR_VERSION ${BLENDER_VERSION_MAJOR}) set(MINOR_VERSION ${BLENDER_VERSION_MINOR}) @@ -32,6 +31,7 @@ if(EXISTS ${CMAKE_SOURCE_DIR}/.git/) endif() endif() set(BUILD_REV ${MY_WC_HASH}) +unset(MY_WC_HASH) # Force Package Name @@ -41,7 +41,7 @@ set(CPACK_PACKAGE_FILE_NAME ${PROJECT_NAME}-${MAJOR_VERSION}.${MINOR_VERSION}.${ if(CMAKE_SYSTEM_NAME MATCHES "Linux") # RPM packages include(build_files/cmake/RpmBuild.cmake) - if(RPMBUILD_FOUND AND NOT WIN32) + if(RPMBUILD_FOUND) set(CPACK_GENERATOR "RPM") set(CPACK_RPM_PACKAGE_RELEASE "git${CPACK_DATE}.${BUILD_REV}") set(CPACK_SET_DESTDIR "true") @@ -61,7 +61,25 @@ if(APPLE) set(CPACK_COMPONENT_LIBRARIES_HIDDEN TRUE) endif() -set(CPACK_PACKAGE_EXECUTABLES "blender") +if(WIN32) + set(CPACK_PACKAGE_INSTALL_DIRECTORY "Blender Foundation/Blender") + set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "Blender Foundation/Blender") + + set(CPACK_NSIS_MUI_ICON ${CMAKE_SOURCE_DIR}/source/icons/winblender.ico) + set(CPACK_NSIS_COMPRESSOR "/SOLID lzma") + + set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_SOURCE_DIR}/release/text/GPL-license.txt) + set(CPACK_WIX_PRODUCT_ICON ${CMAKE_SOURCE_DIR}/source/icons/winblender.ico) + set(CPACK_WIX_UPGRADE_GUID "B767E4FD-7DE7-4094-B051-3AE62E13A17A") + + set(CPACK_WIX_UI_BANNER ${LIBDIR}/package/installer_wix/WIX_UI_BANNER.bmp) + set(CPACK_WIX_UI_DIALOG ${LIBDIR}/package/installer_wix/WIX_UI_DIALOG.bmp) + + #force lzma instead of deflate + set(CPACK_WIX_LIGHT_EXTRA_FLAGS -dcl:high) +endif() + +set(CPACK_PACKAGE_EXECUTABLES "blender" "blender") include(CPack) # Target for build_archive.py script, to automatically pass along @@ -76,6 +94,8 @@ macro(add_package_archive packagename extension) OUTPUT ${package_output} COMMAND ${build_archive} ${packagename} ${extension} bin release WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) + unset(build_archive) + unset(package_output) endmacro() if(APPLE) |