aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside-tools/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside-tools/CMakeLists.txt')
-rw-r--r--sources/pyside-tools/CMakeLists.txt121
1 files changed, 78 insertions, 43 deletions
diff --git a/sources/pyside-tools/CMakeLists.txt b/sources/pyside-tools/CMakeLists.txt
index 75f5f8e77..e629ec570 100644
--- a/sources/pyside-tools/CMakeLists.txt
+++ b/sources/pyside-tools/CMakeLists.txt
@@ -1,52 +1,87 @@
-cmake_minimum_required(VERSION 3.16)
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+cmake_minimum_required(VERSION 3.18)
project(pyside-tools)
-# Don't display "up-to-date / install" messages when installing, to reduce visual clutter.
-if (QUIET_BUILD)
- set(CMAKE_INSTALL_MESSAGE NEVER)
-endif()
+include(cmake/PySideToolsSetup.cmake)
-find_package(Qt6 COMPONENTS Core HostInfo)
+if(${CMAKE_SYSTEM_NAME} STREQUAL "Android")
+ # create Qt6AndroidBindings.jar
+ if (NOT DEFINED ANDROID_SDK_ROOT)
+ message(FATAL_ERROR "Please provide the location of the Android SDK directory via "
+ "your toolchain file")
+ endif()
+ if (NOT DEFINED ANDROID_PLATFORM)
+ message(FATAL_ERROR "Please provide the location of the Android Platform API level via "
+ "your toolchain file eg: android-31")
+ endif()
+ include(cmake/PySideAndroid.cmake)
+ create_and_install_qt_javabindings()
+else()
+ set(files ${CMAKE_CURRENT_SOURCE_DIR}/pyside_tool.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/metaobjectdump.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/project.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/qml.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/qtpy2cpp.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/deploy.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/android_deploy.py
+ ${CMAKE_CURRENT_SOURCE_DIR}/requirements-android.txt)
-set(files ${CMAKE_CURRENT_SOURCE_DIR}/pyside_tool.py)
-set(directories)
+ set(directories ${CMAKE_CURRENT_SOURCE_DIR}/deploy_lib
+ ${CMAKE_CURRENT_SOURCE_DIR}/project)
-if(NOT NO_QT_TOOLS STREQUAL "yes")
- set(TOOLS_PATH "${QT6_INSTALL_PREFIX}/${QT6_HOST_INFO_BINDIR}")
- set(LIBEXEC_PATH "${QT6_INSTALL_PREFIX}/${QT6_HOST_INFO_LIBEXECDIR}")
+ if(NOT NO_QT_TOOLS STREQUAL "yes")
+ set(TOOLS_PATH "${QT6_INSTALL_PREFIX}/${QT6_HOST_INFO_BINDIR}")
+ set(LIBEXEC_PATH "${QT6_INSTALL_PREFIX}/${QT6_HOST_INFO_LIBEXECDIR}")
- list(APPEND files "${LIBEXEC_PATH}/uic${CMAKE_EXECUTABLE_SUFFIX}"
- "${LIBEXEC_PATH}/rcc${CMAKE_EXECUTABLE_SUFFIX}"
- "${TOOLS_PATH}/lrelease${CMAKE_EXECUTABLE_SUFFIX}"
- "${TOOLS_PATH}/lupdate${CMAKE_EXECUTABLE_SUFFIX}")
+ list(APPEND files "${LIBEXEC_PATH}/uic${CMAKE_EXECUTABLE_SUFFIX}"
+ "${LIBEXEC_PATH}/rcc${CMAKE_EXECUTABLE_SUFFIX}"
+ "${LIBEXEC_PATH}/qmltyperegistrar${CMAKE_EXECUTABLE_SUFFIX}"
+ "${LIBEXEC_PATH}/qmlimportscanner${CMAKE_EXECUTABLE_SUFFIX}"
+ "${LIBEXEC_PATH}/qmlcachegen${CMAKE_EXECUTABLE_SUFFIX}"
+ "${TOOLS_PATH}/lrelease${CMAKE_EXECUTABLE_SUFFIX}"
+ "${TOOLS_PATH}/lupdate${CMAKE_EXECUTABLE_SUFFIX}"
+ "${TOOLS_PATH}/qmllint${CMAKE_EXECUTABLE_SUFFIX}"
+ "${TOOLS_PATH}/qmlformat${CMAKE_EXECUTABLE_SUFFIX}"
+ "${TOOLS_PATH}/qmlls${CMAKE_EXECUTABLE_SUFFIX}"
+ "${TOOLS_PATH}/qsb${CMAKE_EXECUTABLE_SUFFIX}"
+ "${TOOLS_PATH}/balsam${CMAKE_EXECUTABLE_SUFFIX}"
+ "${TOOLS_PATH}/balsamui${CMAKE_EXECUTABLE_SUFFIX}")
- if (APPLE)
- list(APPEND directories "${TOOLS_PATH}/Assistant.app"
- "${TOOLS_PATH}/Designer.app"
- "${TOOLS_PATH}/Linguist.app")
- else()
- list(APPEND files "${TOOLS_PATH}/assistant${CMAKE_EXECUTABLE_SUFFIX}"
- "${TOOLS_PATH}/designer${CMAKE_EXECUTABLE_SUFFIX}"
- "${TOOLS_PATH}/linguist${CMAKE_EXECUTABLE_SUFFIX}")
+ if (APPLE)
+ list(APPEND directories "${TOOLS_PATH}/Assistant.app"
+ "${TOOLS_PATH}/Designer.app"
+ "${TOOLS_PATH}/Linguist.app")
+ else()
+ list(APPEND files "${TOOLS_PATH}/assistant${CMAKE_EXECUTABLE_SUFFIX}"
+ "${TOOLS_PATH}/designer${CMAKE_EXECUTABLE_SUFFIX}"
+ "${TOOLS_PATH}/linguist${CMAKE_EXECUTABLE_SUFFIX}")
+ endif()
endif()
-endif()
-# pyside6-rcc, pyside6-uic, pyside6-designer, shiboken and pyside6-lupdate entrypoints
-
-foreach(file ${files})
- install(FILES "${file}"
- DESTINATION bin
- PERMISSIONS
- OWNER_EXECUTE OWNER_WRITE OWNER_READ
- GROUP_EXECUTE GROUP_READ
- WORLD_EXECUTE WORLD_READ)
-endforeach()
-
-foreach(directory ${directories})
- install(DIRECTORY "${directory}"
- DESTINATION bin
- FILE_PERMISSIONS
- OWNER_EXECUTE OWNER_WRITE OWNER_READ
- GROUP_EXECUTE GROUP_READ
- WORLD_EXECUTE WORLD_READ)
-endforeach()
+ list(APPEND directories ${CMAKE_CURRENT_SOURCE_DIR}/qtpy2cpp_lib)
+
+ # pyside6-rcc, pyside6-uic, pyside6-designer, shiboken and pyside6-lupdate entrypoints
+ foreach(file ${files})
+ if(EXISTS ${file})
+ install(FILES "${file}"
+ DESTINATION bin
+ PERMISSIONS
+ OWNER_EXECUTE OWNER_WRITE OWNER_READ
+ GROUP_EXECUTE GROUP_READ
+ WORLD_EXECUTE WORLD_READ)
+ else()
+ message(WARNING "${file} does not exist. Hence, pyside6-${file} will not work")
+ endif()
+ endforeach()
+
+ foreach(directory ${directories})
+ install(DIRECTORY "${directory}"
+ DESTINATION bin
+ FILE_PERMISSIONS
+ OWNER_EXECUTE OWNER_WRITE OWNER_READ
+ GROUP_EXECUTE GROUP_READ
+ WORLD_EXECUTE WORLD_READ)
+ endforeach()
+endif()