Commit bbf666a8a286314bdf7c9220d3008612955cc435
1 parent
042c3749
changes in build system for Ubu24 and true manylinux wheels
Showing
6 changed files
with
328 additions
and
44 deletions
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