diff --git a/CMakeLists.txt b/CMakeLists.txt index fb193a0..624c58c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -149,7 +149,12 @@ if(APPLE) if(NOT TAR_EXECUTABLE) message(FATAL_ERROR "Unable to locate `tar` executable.") endif() - list(APPEND DIST_PACK_TOOLS tar) + add_custom_target(zip) + find_program(ZIP_EXECUTABLE zip) + if(NOT ZIP_EXECUTABLE) + message(FATAL_ERROR "Unable to locate `zip` executable.") + endif() + list(APPEND DIST_PACK_TOOLS tar zip) endif() ExternalProject_PatchSet(zlib ZLIB_PATCHSET) @@ -229,7 +234,9 @@ if(WIN32) ) set(PYTHON3_CONFIGURE_INSTALL_DIR ${SDK_INSTALL_DIR}) else() - set(PYTHON3_CONFIGURE_FLAGS "-DBUILD_FRAMEWORK=OFF") + set(PYTHON3_CONFIGURE_FLAGS + -DBUILD_EXTENSIONS_AS_BUILTIN=ON + -DBUILD_FRAMEWORK=OFF) set(PYTHON3_CONFIGURE_INSTALL_DIR ${SDK_INSTALL_DIR}) endif() @@ -290,6 +297,7 @@ ExternalProject_Add(python3 -DENABLE_JSON=OFF -DENABLE_LINUXAUDIODEV=OFF -DENABLE_MMAP=OFF + -DENABLE_MSI=OFF -DENABLE_MULTIBYTECODEC=OFF -DENABLE_MULTIPROCESSING=OFF -DENABLE_NIS=OFF @@ -317,30 +325,36 @@ string(SUBSTRING "${PYTHON3_VERSION}" 0 3 PYTHON3_VERSION) string(REPLACE "." "" PYTHON3VERSION "${PYTHON3_VERSION}") if(WIN32) - # FreeOrion packages the python3 standard library in a zip file for - # distribution. - ExternalProject_Add_Step(python3 - zipPythonSTDlib - DEPENDEES install - WORKING_DIRECTORY - /lib/python${PYTHON3VERSION} - COMMAND ${CMAKE_COMMAND} -E remove_directory - /lib/python${PYTHON3VERSION}/lib-dynload - COMMAND ${ZIP_EXECUTABLE} -r -9 -q --exclude=*.pyc - /bin/python${PYTHON3VERSION}.zip - . - COMMENT "Zip python3 standard library" - ) - - ExternalProject_Add_Step(python3 - removePythonSTDlib - DEPENDEES zipPythonSTDlib - COMMAND ${CMAKE_COMMAND} -E remove_directory - /lib/python${PYTHON3VERSION} - COMMENT "Remove python3 standard library from install" - ) + set(PYTHON_STDLIB_POSTFIX "${PYTHON3VERSION}") + set(PYTHON_STDLIB_DEST "bin") +else() + set(PYTHON_STDLIB_POSTFIX "${PYTHON3_VERSION}") + set(PYTHON_STDLIB_DEST "lib") endif() +# FreeOrion packages the python3 standard library in a zip file for +# distribution. +ExternalProject_Add_Step(python3 + zipPythonSTDlib + DEPENDEES install + WORKING_DIRECTORY + /lib/python${PYTHON_STDLIB_POSTFIX} + COMMAND ${CMAKE_COMMAND} -E remove_directory + /lib/python${PYTHON_STDLIB_POSTFIX}/lib-dynload + COMMAND ${ZIP_EXECUTABLE} -r -9 -q --exclude=*.pyc + /${PYTHON_STDLIB_DEST}/python${PYTHON3VERSION}.zip + . + COMMENT "Zip python3 standard library" +) + +ExternalProject_Add_Step(python3 + removePythonSTDlib + DEPENDEES zipPythonSTDlib + COMMAND ${CMAKE_COMMAND} -E remove_directory + /lib/python${PYTHON_STDLIB_POSTFIX} + COMMENT "Remove python3 standard library from install" +) + ExternalProject_PatchSet(freetype FREETYPE_PATCHSET) ExternalProject_Add(freetype DEPENDS patch libpng zlib diff --git a/Sources.cmake b/Sources.cmake index c66593e..12dd6a2 100644 --- a/Sources.cmake +++ b/Sources.cmake @@ -23,12 +23,12 @@ set(LIBPNG_VERSION 1.6.37) set(LIBPNG_URL https://downloads.sourceforge.net/project/libpng/libpng16/${LIBPNG_VERSION}/libpng-${LIBPNG_VERSION}.tar.gz) set(LIBPNG_MD5 6c7519f6c75939efa0ed3053197abd54) -set(PYTHON_CMAKE_URL https://github.com/freeorion/python-cmake-buildsystem/archive/3c6db81e68b842b2b595f7aadcb420480dc45c93.zip) -set(PYTHON_CMAKE_MD5 a4119a1f02fd1814432e31a0b3e0c6c7) +set(PYTHON_CMAKE_URL https://github.com/o01eg/python-cmake-buildsystem/archive/c8ebbcde77433daf17c6e91f8bc7041c380bc61c.zip) +set(PYTHON_CMAKE_MD5 ef568d9a803ef4fdc7dcd0453742f3ed) -set(PYTHON3_VERSION 3.8.16) +set(PYTHON3_VERSION 3.9.10) set(PYTHON3_URL https://www.python.org/ftp/python/${PYTHON3_VERSION}/Python-${PYTHON3_VERSION}.tgz) -set(PYTHON3_MD5 060040f864f1003b849b33393c9605df) +set(PYTHON3_MD5 1440acb71471e2394befdb30b1a958d1) set(FREETYPE_VERSION 2.9) set(FREETYPE_URL http://downloads.sourceforge.net/project/freetype/freetype2/${FREETYPE_VERSION}/freetype-${FREETYPE_VERSION}.tar.gz)