Commit bbf666a8a286314bdf7c9220d3008612955cc435

Authored by Marcin Woliński
1 parent 042c3749

changes in build system for Ubu24 and true manylinux wheels

buildManylinux.sh 0 → 100755
  1 +#!/bin/bash
  2 +# Kompiluje bibliotekę i buduje paczki dystrybucyjne zawierające
  3 +# Morfeusza i słowniki SGJP i Polimorf
  4 +#
  5 +# Założenia:
  6 +# • kod źródłowy Morfeusza jest w MORFEUSZ_SRC
  7 +# • słowniki są już skompilowane w katalogu DICT_DIR
  8 +# • kompilacja odbędzie się w katalogu BUILD_DIR (który zostanie skasowany i utworzony)
  9 +# • wyniki zostaną umieszczone w TARGET_DIR
  10 +
  11 +#set -ex -o pipefail
  12 +set -x
  13 +
  14 +if [ "$#" -ne 4 ]; then
  15 + echo "Expected arguments: ‹DICT_NAME› ‹DICT_VERSION› ‹BUILD_ENV› ‹64/32›"
  16 + exit 1
  17 +fi
  18 +
  19 +export DICT_NAME="$1"
  20 +export DICT_VERSION="$2"
  21 +
  22 +export MORFEUSZ_SRC=`pwd`/Morfeusz
  23 +export DICT_DIR=`pwd`/dicts
  24 +export ANALYZER_DICTIONARY_CPP=$DICT_DIR/$DICT_NAME-a.cpp
  25 +export GENERATOR_DICTIONARY_CPP=$DICT_DIR/$DICT_NAME-s.cpp
  26 +
  27 +# Wersja środowiska kompilacyjnego (znaczy pod którym Ubuntu budujemy: 14.04, 16.04, 18.04, 19.04 …):
  28 +# Staje się debianowym numerem subwersji: morfeusz…_1.9.27-18.04_amd64.deb
  29 +export BUILD_ENV=$3
  30 +
  31 +export BITS=$4
  32 +
  33 +export BUILD_ROOT=`pwd`/build/$1
  34 +export TARGET_ROOT=`pwd`/target
  35 +
  36 +
  37 +
  38 +function build {
  39 + set -e -o pipefail
  40 + os=$1
  41 + arch=$2
  42 + embedded=$3
  43 + python_ver=$4
  44 + shift 4
  45 + targets=$@
  46 +
  47 +# toolchain=$MORFEUSZ_SRC/toolchains/Toolchain-$os-$arch.cmake
  48 + toolchain=$MORFEUSZ_SRC/toolchains/Toolchain-Linux-native.cmake
  49 + if [ "$os" = "Linux" ]; then
  50 + buildDir=$BUILD_ROOT/$os-$BUILD_ENV-$arch-$embedded
  51 + targetDir=$TARGET_ROOT/$os/$BUILD_ENV/$arch
  52 + else
  53 + buildDir=$BUILD_ROOT/$os-$arch-$embedded
  54 + targetDir=$TARGET_ROOT/$os/$arch
  55 + fi
  56 +# rm -rf $buildDir || true
  57 + mkdir -p $buildDir
  58 +
  59 +
  60 +# echo "Will use $toolchain toolchain"
  61 +
  62 + # rm -rf $buildDir
  63 + #~ rm -rf $targetDir
  64 + mkdir -p $buildDir
  65 + rm -f $buildDir/CMakeCache.txt
  66 + mkdir -p $targetDir
  67 + cd $buildDir
  68 +
  69 + if [ "$embedded" = true ]
  70 + then
  71 + if [ "$os" == "Linux" ]
  72 + then
  73 + CPACK_GENERATOR=TGZ
  74 + fi
  75 + CMAKE_ARGS="-D CMAKE_TOOLCHAIN_FILE=$toolchain \
  76 + -D TARGET_DIR=$targetDir \
  77 + -D ANALYZER_DICTIONARY_CPP=$ANALYZER_DICTIONARY_CPP \
  78 + -D GENERATOR_DICTIONARY_CPP=$GENERATOR_DICTIONARY_CPP \
  79 + -D DEFAULT_DICT_NAME=$DICT_NAME \
  80 + -D SKIP_DICTIONARY_BUILDING=1 \
  81 + -D EMBEDDED_DEFAULT_DICT=1 \
  82 + -D DICT_VERSION=$DICT_VERSION \
  83 + -D BUILT_ON=$BUILD_ENV "
  84 + if [ "$CPACK_GENERATOR" != "" ]
  85 + then
  86 + CMAKE_ARGS="$CMAKE_ARGS -D CPACK_GENERATOR=$CPACK_GENERATOR"
  87 + fi
  88 + else
  89 + # "setting default ACL to prevent control-file-has-bad-permissions lintian error"
  90 + setfacl -R -d -m o::rx -m g::rx -m u::rwx .
  91 +
  92 + CMAKE_ARGS="-D CMAKE_TOOLCHAIN_FILE=$toolchain \
  93 + -D TARGET_DIR=$targetDir \
  94 + -D DEFAULT_DICT_DIR=$DICT_DIR \
  95 + -D DEFAULT_DICT_NAME=$DICT_NAME \
  96 + -D SKIP_DICTIONARY_BUILDING=1 \
  97 + -D CPACK_GENERATOR=DEB \
  98 + -D DICT_VERSION=$DICT_VERSION \
  99 + -D BUILT_ON=$BUILD_ENV "
  100 + fi
  101 + CMAKE_ARGS="$CMAKE_ARGS -D PY=$python_ver"
  102 + cmake $CMAKE_ARGS $MORFEUSZ_SRC 2>&1
  103 + echo "building for $os-$arch ($BUILD_ENV)" >&2
  104 +# make
  105 + make $targets
  106 +}
  107 +export -f build
  108 +
  109 +function log {
  110 + os=$1
  111 + arch=$2
  112 + stdbuf -oL sed -e $"s/^/$os-$BUILD_ENV-$arch:\t/" | tee -a "log/$os-$BUILD_ENV-$arch.out"
  113 +}
  114 +export -f log
  115 +
  116 +##??? rm -rf log $BUILD_ROOT
  117 +mkdir -p log
  118 +
  119 +
  120 +build Linux $BITS true 3.0 package package-java gui-tgz package-python3 package-builder 2>&1 | log Linux-tgz3 $BITS
  121 +
  122 +# if [ -x /usr/bin/python2 ]
  123 +# then
  124 +# build Linux $BITS true 2.7 package-python2 2>&1 | log Linux-tgz2 $BITS;
  125 +# fi
  126 +
  127 +# # Kompilujemy dodatkowe wheele w środowiskach wirutalnych:
  128 +# (
  129 +# cd $BUILD_ROOT/Linux-$BUILD_ENV-$BITS-true
  130 +# if [ -d ~/env/ ]; then
  131 +# for pyenv in ~/env/* ; do
  132 +# source $pyenv/bin/activate
  133 +# make package-python3-whl
  134 +# python --version
  135 +# deactivate
  136 +# done
  137 +# fi
  138 +# ) | log Linux-whl $BITS
  139 +
  140 +# Pakiety debianowe bez wkompilowanego słownika:
  141 +#build Linux $BITS false 0 lib-deb bin-deb dev-deb dictionary-deb java-deb gui-deb 2>&1 | log Linux-deb $BITS
  142 +
buildUbuntu.sh 0 → 100755
  1 +#!/bin/bash
  2 +# Kompiluje bibliotekę i buduje paczki dystrybucyjne zawierające
  3 +# Morfeusza i słowniki SGJP i Polimorf
  4 +#
  5 +# Założenia:
  6 +# • kod źródłowy Morfeusza jest w MORFEUSZ_SRC
  7 +# • słowniki są już skompilowane w katalogu DICT_DIR
  8 +# • kompilacja odbędzie się w katalogu BUILD_DIR (który zostanie skasowany i utworzony)
  9 +# • wyniki zostaną umieszczone w TARGET_DIR
  10 +
  11 +#set -ex -o pipefail
  12 +set -x
  13 +
  14 +if [ "$#" -ne 4 ]; then
  15 + echo "Expected arguments: ‹DICT_NAME› ‹DICT_VERSION› ‹BUILD_ENV› ‹64/32›"
  16 + exit 1
  17 +fi
  18 +
  19 +export DICT_NAME="$1"
  20 +export DICT_VERSION="$2"
  21 +
  22 +export MORFEUSZ_SRC=`pwd`/Morfeusz
  23 +export DICT_DIR=`pwd`/dicts
  24 +export ANALYZER_DICTIONARY_CPP=$DICT_DIR/$DICT_NAME-a.cpp
  25 +export GENERATOR_DICTIONARY_CPP=$DICT_DIR/$DICT_NAME-s.cpp
  26 +
  27 +# Wersja środowiska kompilacyjnego (znaczy pod którym Ubuntu budujemy: 14.04, 16.04, 18.04, 19.04 …):
  28 +# Staje się debianowym numerem subwersji: morfeusz…_1.9.27-18.04_amd64.deb
  29 +export BUILD_ENV=$3
  30 +
  31 +export BITS=$4
  32 +
  33 +export BUILD_ROOT=`pwd`/build/$1
  34 +export TARGET_ROOT=`pwd`/target
  35 +
  36 +
  37 +
  38 +function build {
  39 + set -e -o pipefail
  40 + os=$1
  41 + arch=$2
  42 + embedded=$3
  43 + python_ver=$4
  44 + shift 4
  45 + targets=$@
  46 +
  47 +# toolchain=$MORFEUSZ_SRC/toolchains/Toolchain-$os-$arch.cmake
  48 + toolchain=$MORFEUSZ_SRC/toolchains/Toolchain-Linux-native.cmake
  49 + if [ "$os" = "Linux" ]; then
  50 + buildDir=$BUILD_ROOT/$os-$BUILD_ENV-$arch-$embedded
  51 + targetDir=$TARGET_ROOT/$os/$BUILD_ENV/$arch
  52 + else
  53 + buildDir=$BUILD_ROOT/$os-$arch-$embedded
  54 + targetDir=$TARGET_ROOT/$os/$arch
  55 + fi
  56 +# rm -rf $buildDir || true
  57 + mkdir -p $buildDir
  58 +
  59 +
  60 +# echo "Will use $toolchain toolchain"
  61 +
  62 + # rm -rf $buildDir
  63 + #~ rm -rf $targetDir
  64 + mkdir -p $buildDir
  65 + rm -f $buildDir/CMakeCache.txt
  66 + mkdir -p $targetDir
  67 + cd $buildDir
  68 +
  69 + if [ "$embedded" = true ]
  70 + then
  71 + if [ "$os" == "Linux" ]
  72 + then
  73 + CPACK_GENERATOR=TGZ
  74 + fi
  75 + CMAKE_ARGS="-D CMAKE_TOOLCHAIN_FILE=$toolchain \
  76 + -D TARGET_DIR=$targetDir \
  77 + -D ANALYZER_DICTIONARY_CPP=$ANALYZER_DICTIONARY_CPP \
  78 + -D GENERATOR_DICTIONARY_CPP=$GENERATOR_DICTIONARY_CPP \
  79 + -D DEFAULT_DICT_NAME=$DICT_NAME \
  80 + -D SKIP_DICTIONARY_BUILDING=1 \
  81 + -D EMBEDDED_DEFAULT_DICT=1 \
  82 + -D DICT_VERSION=$DICT_VERSION \
  83 + -D BUILT_ON=$BUILD_ENV "
  84 + if [ "$CPACK_GENERATOR" != "" ]
  85 + then
  86 + CMAKE_ARGS="$CMAKE_ARGS -D CPACK_GENERATOR=$CPACK_GENERATOR"
  87 + fi
  88 + else
  89 + # "setting default ACL to prevent control-file-has-bad-permissions lintian error"
  90 + setfacl -R -d -m o::rx -m g::rx -m u::rwx .
  91 +
  92 + CMAKE_ARGS="-D CMAKE_TOOLCHAIN_FILE=$toolchain \
  93 + -D TARGET_DIR=$targetDir \
  94 + -D DEFAULT_DICT_DIR=$DICT_DIR \
  95 + -D DEFAULT_DICT_NAME=$DICT_NAME \
  96 + -D SKIP_DICTIONARY_BUILDING=1 \
  97 + -D CPACK_GENERATOR=DEB \
  98 + -D DICT_VERSION=$DICT_VERSION \
  99 + -D BUILT_ON=$BUILD_ENV "
  100 + fi
  101 + CMAKE_ARGS="$CMAKE_ARGS -D PY=$python_ver"
  102 + cmake $CMAKE_ARGS $MORFEUSZ_SRC 2>&1
  103 + echo "building for $os-$arch ($BUILD_ENV)" >&2
  104 +# make
  105 + make $targets
  106 +}
  107 +export -f build
  108 +
  109 +function log {
  110 + os=$1
  111 + arch=$2
  112 + stdbuf -oL sed -e $"s/^/$os-$BUILD_ENV-$arch:\t/" | tee -a "log/$os-$BUILD_ENV-$arch.out"
  113 +}
  114 +export -f log
  115 +
  116 +##??? rm -rf log $BUILD_ROOT
  117 +mkdir -p log
  118 +
  119 +# Pakiety z wkompilowanym słownikiem i niewrażliwe na kwestię słownika:
  120 +# build Linux $BITS true 3.0 package package-java gui-tgz package-python3 package-builder 2>&1 | log Linux-tgz3 $BITS
  121 +# if [ -x /usr/bin/python2 ]
  122 +# then
  123 +# build Linux $BITS true 2.7 package-python2 2>&1 | log Linux-tgz2 $BITS;
  124 +# fi
  125 +
  126 +# # Kompilujemy dodatkowe wheele w środowiskach wirutalnych:
  127 +# (
  128 +# cd $BUILD_ROOT/Linux-$BUILD_ENV-$BITS-true
  129 +# if [ -d ~/env/ ]; then
  130 +# for pyenv in ~/env/* ; do
  131 +# source $pyenv/bin/activate
  132 +# make package-python3-whl
  133 +# python --version
  134 +# deactivate
  135 +# done
  136 +# fi
  137 +# ) | log Linux-whl $BITS
  138 +
  139 +# Pakiety debianowe bez wkompilowanego słownika:
  140 +build Linux $BITS false 3.0 lib-deb bin-deb dev-deb dictionary-deb java-deb gui-deb package-python3-deb 2>&1 | log Ubuntu $BITS
  141 +
fsabuilder/CMakeLists.txt
@@ -29,15 +29,11 @@ add_custom_target (package-builder-egg @@ -29,15 +29,11 @@ add_custom_target (package-builder-egg
29 DEPENDS builder-setup 29 DEPENDS builder-setup
30 ) 30 )
31 add_custom_target (package-builder-whl 31 add_custom_target (package-builder-whl
32 - COMMAND python3 ${SETUP_PY} bdist_wheel -d "${TARGET_DIR}"  
33 - DEPENDS builder-setup  
34 -)  
35 -add_custom_target (package-builder-sdist  
36 - COMMAND python3 ${SETUP_PY} sdist -d "${TARGET_DIR}" 32 + COMMAND python3 -m build --outdir "${TARGET_DIR}"
37 DEPENDS builder-setup 33 DEPENDS builder-setup
38 ) 34 )
39 35
40 -set (PACKAGE_DEPENDS "package-builder-whl" "package-builder-sdist") 36 +set (PACKAGE_DEPENDS "package-builder-whl")
41 37
42 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") 38 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
43 if (BUILT_ON) 39 if (BUILT_ON)
@@ -61,7 +57,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") @@ -61,7 +57,7 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
61 COMMAND mkdir -p "${TARGET_DIR}" && cp ${CMAKE_CURRENT_BINARY_DIR}/deb_dist/${MORFEUSZBUILDER}*.deb "${TARGET_DIR}" 57 COMMAND mkdir -p "${TARGET_DIR}" && cp ${CMAKE_CURRENT_BINARY_DIR}/deb_dist/${MORFEUSZBUILDER}*.deb "${TARGET_DIR}"
62 DEPENDS package-builder-deb-build 58 DEPENDS package-builder-deb-build
63 ) 59 )
64 - list (APPEND PACKAGE_DEPENDS package-builder-deb) 60 +# list (APPEND PACKAGE_DEPENDS package-builder-deb)
65 elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows") 61 elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
66 #~ add_custom_target (package-python-win-installer 62 #~ add_custom_target (package-python-win-installer
67 #~ COMMAND python ${SETUP_PY} bdist_wininst -d ${TARGET_DIR} --plat-name "${CMAKE_SYSTEM_NAME}-${ARCHITECTURE}" 63 #~ COMMAND python ${SETUP_PY} bdist_wininst -d ${TARGET_DIR} --plat-name "${CMAKE_SYSTEM_NAME}-${ARCHITECTURE}"
morfeusz/wrappers/python3/CMakeLists.txt
@@ -2,15 +2,10 @@ @@ -2,15 +2,10 @@
2 # SWIG 2 # SWIG
3 #set(CMAKE_SWIG_OUTDIR swig) 3 #set(CMAKE_SWIG_OUTDIR swig)
4 #~ FIND_PACKAGE (SWIG REQUIRED) 4 #~ FIND_PACKAGE (SWIG REQUIRED)
5 -if (NOT PYTHON_INCLUDE_DIRS)  
6 - set(Python_ADDITIONAL_VERSIONS 3.4)  
7 - FIND_PACKAGE (PythonLibs ${PY} REQUIRED)  
8 -endif ()  
9 #~ INCLUDE (${SWIG_USE_FILE}) 5 #~ INCLUDE (${SWIG_USE_FILE})
10 6
11 set (PY3MORFEUSZ_VERSION "${Morfeusz_LIB_VERSION}") 7 set (PY3MORFEUSZ_VERSION "${Morfeusz_LIB_VERSION}")
12 # SWIG Java 8 # SWIG Java
13 -INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH})  
14 INCLUDE_DIRECTORIES (../..) 9 INCLUDE_DIRECTORIES (../..)
15 10
16 11
@@ -26,57 +21,47 @@ add_custom_target (generate_python3_wrapper ALL @@ -26,57 +21,47 @@ add_custom_target (generate_python3_wrapper ALL
26 ) 21 )
27 22
28 set (SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in") 23 set (SETUP_PY_IN "${CMAKE_CURRENT_SOURCE_DIR}/setup.py.in")
29 -set (SETUP_PY_TMP "${CMAKE_CURRENT_BINARY_DIR}/setupTmp.py")  
30 set (SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/setup.py") 24 set (SETUP_PY "${CMAKE_CURRENT_BINARY_DIR}/setup.py")
31 set (DEPS "${SWIG_PYTHON_OUTFILE_CXX}" "${SWIG_PYTHON_OUTFILE_PY}") 25 set (DEPS "${SWIG_PYTHON_OUTFILE_CXX}" "${SWIG_PYTHON_OUTFILE_PY}")
32 set (OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/build") 26 set (OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/build")
33 27
34 configure_file (${SETUP_PY_IN} ${SETUP_PY}) 28 configure_file (${SETUP_PY_IN} ${SETUP_PY})
  29 +file(COPY pyproject.toml setup.cfg DESTINATION .)
35 30
36 -set (EGG_NAME "morfeusz2-${PY3MORFEUSZ_VERSION}-py${PY}")  
37 -file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${EGG_NAME}")  
38 -file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/EGG-INFO" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/${EGG_NAME}/") 31 +# set (EGG_NAME "morfeusz2-${PY3MORFEUSZ_VERSION}-py${PY}")
  32 +# file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${EGG_NAME}")
  33 +# file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/EGG-INFO" DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/${EGG_NAME}/")
39 34
40 add_custom_target (generate_python3_setup_file 35 add_custom_target (generate_python3_setup_file
41 DEPENDS ${SETUP_PY}) 36 DEPENDS ${SETUP_PY})
42 37
43 -add_custom_command (OUTPUT ${OUTPUT}  
44 - COMMAND python3  
45 - ARGS ${SETUP_PY} build  
46 - DEPENDS generate_python3_wrapper generate_python3_setup_file libmorfeusz) 38 +# add_custom_command (OUTPUT ${OUTPUT}
  39 +# COMMAND python3
  40 +# ARGS ${SETUP_PY} build
  41 +# DEPENDS generate_python3_wrapper generate_python3_setup_file libmorfeusz)
47 42
48 -add_custom_target (build_python3_wrapper  
49 - DEPENDS ${OUTPUT}) 43 +# add_custom_target (build_python3_wrapper
  44 +# DEPENDS ${OUTPUT})
50 45
51 add_custom_target (py3morfeusz 46 add_custom_target (py3morfeusz
52 - DEPENDS generate_python3_wrapper generate_python3_setup_file libmorfeusz build_python3_wrapper) 47 + DEPENDS generate_python3_wrapper generate_python3_setup_file libmorfeusz)
53 48
54 if (UNIX) 49 if (UNIX)
55 - add_custom_target (install-python3  
56 - COMMAND python3 ${SETUP_PY} install --home=${CMAKE_INSTALL_PREFIX}  
57 - DEPENDS py3morfeusz  
58 - )  
59 - add_custom_target (package-python3-egg  
60 - COMMAND python3 ${SETUP_PY} bdist_egg -d "${TARGET_DIR}" --plat-name "${CMAKE_SYSTEM_NAME}-${ARCHITECTURE}"  
61 - DEPENDS py3morfeusz  
62 - ) 50 + # add_custom_target (install-python3
  51 + # COMMAND python3 ${SETUP_PY} install --home=${CMAKE_INSTALL_PREFIX}
  52 + # DEPENDS py3morfeusz
  53 + # )
63 add_custom_target (package-python3-whl 54 add_custom_target (package-python3-whl
64 - COMMAND python3 ${SETUP_PY} bdist_wheel -d "${TARGET_DIR}"  
65 - #--plat-name "${CMAKE_SYSTEM_NAME}-${ARCHITECTURE}"  
66 - DEPENDS py3morfeusz 55 + COMMAND python3 -m build --outdir "${TARGET_DIR}"
  56 + DEPENDS generate_python3_wrapper generate_python3_setup_file libmorfeusz
67 ) 57 )
68 - configure_file (WHEEL.linux.in WHEEL)  
69 add_custom_target (package-python3-fatwhl 58 add_custom_target (package-python3-fatwhl
70 - COMMAND python3 setup.py build_py  
71 - COMMAND python3 setup.py build_ext --rpath [['$${ORIGIN}']] -b fatlib  
72 - COMMAND python3 setup.py bdist_wheel --skip-build --keep-temp -b fatlib  
73 - COMMAND cp WHEEL fatlib/morfeusz2-${PY3MORFEUSZ_VERSION}.dist-info/  
74 - COMMAND cp ../../libmorfeusz2.so fatlib/  
75 - COMMAND python3 -m wheel pack --build-number ${DICT_VERSION} --dest-dir ${TARGET_DIR} fatlib/  
76 - COMMAND rm -r fatlib 59 + COMMAND python3 -m build
  60 + COMMAND zip -j dist/morfeusz2-*-abi3-*.whl ../../libmorfeusz2.so
  61 + COMMAND mv dist/morfeusz2-*-abi3-*.whl ${TARGET_DIR}
77 DEPENDS generate_python3_wrapper generate_python3_setup_file libmorfeusz 62 DEPENDS generate_python3_wrapper generate_python3_setup_file libmorfeusz
78 ) 63 )
79 -# set (PACKAGE_DEPENDS package-python3-egg package-python3-whl) 64 +# set (PACKAGE_DEPENDS package-python3-whl)
80 set (PACKAGE_DEPENDS package-python3-fatwhl) 65 set (PACKAGE_DEPENDS package-python3-fatwhl)
81 66
82 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux") 67 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
@@ -100,11 +85,16 @@ if (UNIX) @@ -100,11 +85,16 @@ if (UNIX)
100 COMMAND mkdir -p "${TARGET_DIR}" && cp ${CMAKE_CURRENT_BINARY_DIR}/deb_dist/python3-morfeusz2*.deb "${TARGET_DIR}" 85 COMMAND mkdir -p "${TARGET_DIR}" && cp ${CMAKE_CURRENT_BINARY_DIR}/deb_dist/python3-morfeusz2*.deb "${TARGET_DIR}"
101 DEPENDS package-python3-deb-build 86 DEPENDS package-python3-deb-build
102 ) 87 )
103 - list (APPEND PACKAGE_DEPENDS package-python3-deb) 88 + # list (APPEND PACKAGE_DEPENDS package-python3-deb)
104 endif () 89 endif ()
105 add_custom_target (package-python3 90 add_custom_target (package-python3
106 DEPENDS ${PACKAGE_DEPENDS}) 91 DEPENDS ${PACKAGE_DEPENDS})
107 elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows" AND CMAKE_CROSSCOMPILING) 92 elseif (${CMAKE_SYSTEM_NAME} MATCHES "Windows" AND CMAKE_CROSSCOMPILING)
  93 + if (NOT PYTHON_INCLUDE_DIRS)
  94 + set(Python_ADDITIONAL_VERSIONS 3.4)
  95 + FIND_PACKAGE (PythonLibs ${PY} REQUIRED)
  96 + endif ()
  97 + INCLUDE_DIRECTORIES (${PYTHON_INCLUDE_PATH})
108 add_custom_target (package-python3-egg-info 98 add_custom_target (package-python3-egg-info
109 COMMAND python3 ${SETUP_PY} egg_info 99 COMMAND python3 ${SETUP_PY} egg_info
110 DEPENDS generate_python3_wrapper generate_python3_setup_file libmorfeusz 100 DEPENDS generate_python3_wrapper generate_python3_setup_file libmorfeusz
morfeusz/wrappers/python3/pyproject.toml 0 → 100644
  1 +[build-system]
  2 +requires = ["setuptools"]
  3 +build-backend = "setuptools.build_meta"
  4 +
  5 +
  6 +[project]
  7 +name = "morfeusz2" # as it would appear on PyPI
  8 +dynamic = ["authors", "license", "readme", "description", "version"]
  9 +
morfeusz/wrappers/python3/setup.cfg 0 → 100644
  1 +[bdist_wheel]
  2 +py-limited-api=cp36
  3 +plat-name=manylinux_2_28_x86_64
  4 +
  5 +[build_ext]
  6 +rpath=${ORIGIN}