1
1
set (VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
2
+ set (VCPKG_BUILD_TYPE release)
2
3
3
4
vcpkg_from_pythonhosted(
4
5
OUT_SOURCE_PATH SOURCE_PATH
@@ -7,91 +8,54 @@ vcpkg_from_pythonhosted(
7
8
SHA512 c2ff8c47c9b0e43c009d0c90f565a54344e6f384c67dd30c2d422465d0702c07713acc0095c8b67827d1146675611c07d548ba282a26e41bb60a0a21977a7a64
8
9
)
9
10
11
+ # https://www.riverbankcomputing.com/static/Docs/PyQt6/installation.html
10
12
set (SIPBUILD_ARGS
11
13
"--confirm-license"
12
- "--qmake" "${CURRENT_INSTALLED_DIR} /tools/Qt6/bin/qmake.exe" #TODO: append .exe only on windows
13
- "--api-dir" "${CURRENT_PACKAGES_DIR} /share/qt6 /qsci/api/python"
14
+ "--qmake" "${CURRENT_INSTALLED_DIR} /tools/Qt6/bin/qmake${VCPKG_HOST_EXECUTABLE_SUFFIX} "
15
+ "--api-dir" "${CURRENT_PACKAGES_DIR} /share/Qt6 /qsci/api/python"
14
16
"--verbose"
15
17
"--qt-shared"
16
18
"--no-make"
17
19
"--disable" "QtDesigner"
18
20
"--pep484-pyi"
19
- "--debug"
20
- "--target-dir" "${CURRENT_PACKAGES_DIR} /lib/python${PYTHON3_VERSION_MAJOR} .${PYTHON3_VERSION_MINOR} /site-packages"
21
- "--build-dir" "${CURRENT_BUILDTREES_DIR} /${TARGET_TRIPLET} -rel-build"
21
+ "--build-dir" "${CURRENT_BUILDTREES_DIR} /${TARGET_TRIPLET} -rel"
22
+ "--target-dir" "${PYTHON3_SITEPACKAGES} "
22
23
)
23
24
24
- set (SIPBUILD_ARGS
25
- "--confirm-license"
26
- "--qmake" "${CURRENT_INSTALLED_DIR} /tools/Qt6/bin/qmake.exe" #TODO: append .exe only on windows
27
- "--api-dir" "${CURRENT_PACKAGES_DIR} /share/qt6/qsci/api/python"
28
- "--verbose"
29
- "--qt-shared"
30
- "--no-make"
31
- "--disable" "QtDesigner"
32
- "--pep484-pyi"
33
- # "--debug" # will create debuggable bindings
34
- "--target-dir" "${CURRENT_PACKAGES_DIR} /lib/python${PYTHON3_VERSION_MAJOR} .${PYTHON3_VERSION_MINOR} /site-packages"
35
- "--build-dir" "${CURRENT_BUILDTREES_DIR} /${TARGET_TRIPLET} -rel-build"
36
- )
25
+ if (VCPKG_TARGET_IS_OSX)
26
+ if (DEFINED VCPKG_OSX_DEPLOYMENT_TARGET)
27
+ vcpkg_list(APPEND SIPBUILD_ARGS "--qmake-setting" "QMAKE_MACOSX_DEPLOYMENT_TARGET=${VCPKG_OSX_DEPLOYMENT_TARGET} " )
28
+ else ()
29
+ # https://doc.qt.io/qt-6/macos.html
30
+ vcpkg_list(APPEND SIPBUILD_ARGS "--qmake-setting" "QMAKE_MACOSX_DEPLOYMENT_TARGET=10.15" )
31
+ endif ()
32
+ vcpkg_list(APPEND SIPBUILD_ARGS "--no-dbus-python" )
33
+ endif ()
37
34
38
- message (STATUS "Running sipbuild... (${PYTHON3} )" )
39
- vcpkg_execute_required_process(
40
- COMMAND "${PYTHON3} " "-m" "sipbuild.tools.build" ${SIPBUILD_ARGS}
41
- WORKING_DIRECTORY "${SOURCE_PATH} "
42
- LOGNAME "sipbuild-${TARGET_TRIPLET} -0"
43
- )
44
- message (STATUS "Running sipbuild...finished." )
45
35
46
- # TODO: Can we use vcpkg_install_make here instead of duplicating code?
47
- set (MAKEFILE "${CURRENT_BUILDTREES_DIR} /${TARGET_TRIPLET} -rel-build/Makefile" )
36
+ vcpkg_backup_env_variables(VARS PATH )
48
37
49
- vcpkg_list(SET make_opts)
50
- vcpkg_list(SET install_opts)
51
- set (path_backup "$ENV{PATH} " )
52
- if (CMAKE_HOST_WIN32 )
53
- vcpkg_add_to_path(PREPEND "${SCRIPTS} /buildsystems/make_wrapper" )
54
- if (NOT DEFINED Z_VCPKG_MAKE)
55
- vcpkg_acquire_msys(MSYS_ROOT)
56
- find_program (Z_VCPKG_MAKE make PATHS "${MSYS_ROOT} /usr/bin" NO_DEFAULT_PATH REQUIRED)
57
- endif ()
58
- set (make_command "${Z_VCPKG_MAKE} " )
59
- vcpkg_list(SET make_opts -j ${VCPKG_CONCURRENCY} --trace -f ${MAKEFILE} )
38
+ vcpkg_add_to_path(PREPEND "${CURRENT_HOST_INSTALLED_DIR} /tools/python3/Scripts/" "${CURRENT_HOST_INSTALLED_DIR} /tools/Qt6/bin/" "${CURRENT_HOST_INSTALLED_DIR} /bin" )
60
39
61
- string (REPLACE " " [[\ ]] vcpkg_package_prefix "${CURRENT_PACKAGES_DIR} " )
62
- string (REGEX REPLACE [[([a-zA-Z]):/]] [[/\1/]] vcpkg_package_prefix "${vcpkg_package_prefix} " )
63
- vcpkg_list(SET install_opts -j ${VCPKG_CONCURRENCY} --trace -f ${MAKEFILE} DESTDIR=${vcpkg_package_prefix} /lib/python${PYTHON3_VERSION_MAJOR} .${PYTHON3_VERSION_MINOR} /site-packages)
64
- #TODO: optimize for install-data (release) and install-exec (release/debug)
40
+ message (STATUS "Running sipbuild..." )
41
+ vcpkg_execute_required_process(
42
+ COMMAND "${PYTHON3} " "-m" "sipbuild.tools.build" ${SIPBUILD_ARGS}
43
+ WORKING_DIRECTORY "${SOURCE_PATH} "
44
+ LOGNAME "sipbuild-${TARGET_TRIPLET} "
45
+ )
46
+ message (STATUS "Running sipbuild...finished." )
65
47
66
- else ()
67
- if (VCPKG_HOST_IS_OPENBSD)
68
- find_program (Z_VCPKG_MAKE gmake REQUIRED)
69
- else ()
70
- find_program (Z_VCPKG_MAKE make REQUIRED)
71
- endif ()
72
- set (make_command "${Z_VCPKG_MAKE} " )
73
- vcpkg_list(SET make_opts V=1 -j ${VCPKG_CONCURRENCY} -f ${MAKEFILE} )
74
- vcpkg_list(SET install_opts -j ${VCPKG_CONCURRENCY} -f ${MAKEFILE} DESTDIR=${CURRENT_PACKAGES_DIR} /lib/python${PYTHON3_VERSION_MAJOR} .${PYTHON3_VERSION_MINOR} /site-packages)
48
+ # inventory.txt is consumed by the distinfo tool which is run during make and should be run against the package directory
49
+ file (TO_NATIVE_PATH "${CURRENT_INSTALLED_DIR} " NATIVE_INSTALLED_DIR)
50
+ vcpkg_replace_string("${CURRENT_BUILDTREES_DIR} /${TARGET_TRIPLET} -rel/inventory.txt"
51
+ "${CURRENT_INSTALLED_DIR} "
52
+ "${CURRENT_PACKAGES_DIR} " )
53
+ vcpkg_replace_string("${CURRENT_BUILDTREES_DIR} /${TARGET_TRIPLET} -rel/inventory.txt"
54
+ "${NATIVE_INSTALLED_DIR} "
55
+ "${CURRENT_PACKAGES_DIR} " )
75
56
76
- # To find sip-distinfo and python3 during install
77
- set (ENV{PATH } "${CURRENT_INSTALLED_DIR} /tools:${CURRENT_INSTALLED_DIR} /tools/python3:$ENV{PATH} " )
78
- endif ()
57
+ vcpkg_qmake_build(BUILD_LOGNAME "install" TARGETS "install" )
79
58
80
- vcpkg_list(SET make_cmd_line ${make_command} ${make_opts} )
81
- vcpkg_list(SET install_cmd_line ${make_command} install ${install_opts} )
59
+ vcpkg_restore_env_variables(VARS PATH )
82
60
83
- message (STATUS "Running build..." )
84
- vcpkg_execute_build_process(
85
- COMMAND ${make_cmd_line}
86
- WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR} /${TARGET_TRIPLET} -rel-build"
87
- LOGNAME "build-${TARGET_TRIPLET}${short_buildtype} "
88
- )
89
- message (STATUS "Running build... finished." )
90
- message (STATUS "Running install..." )
91
- vcpkg_execute_build_process(
92
- COMMAND ${install_cmd_line}
93
- WORKING_DIRECTORY "${CURRENT_BUILDTREES_DIR} /${TARGET_TRIPLET} -rel-build"
94
- LOGNAME "install-${TARGET_TRIPLET}${short_buildtype} "
95
- )
96
- message (STATUS "Running install... finished." )
97
- set (ENV{PATH } "${path_backup} " )
61
+ vcpkg_python_test_import(MODULE "PyQt6.QtCore" )
0 commit comments