71 lines
2.6 KiB
Python
71 lines
2.6 KiB
Python
# This file is part of KDDockWidgets.
|
|
#
|
|
# SPDX-FileCopyrightText: 2020 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
|
|
#
|
|
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
|
|
#
|
|
# Contact KDAB at <info@kdab.com> for commercial licensing options.
|
|
#
|
|
|
|
from conans import ConanFile, CMake, tools
|
|
|
|
|
|
class KDDockWidgetsConan(ConanFile):
|
|
name = "kddockwidgets"
|
|
version = "2.1.0"
|
|
default_user = "kdab"
|
|
default_channel = "stable"
|
|
license = ("https://raw.githubusercontent.com/KDAB/KDDockWidgets/master/LICENSES/GPL-2.0-only.txt",
|
|
"https://raw.githubusercontent.com/KDAB/KDDockWidgets/master/LICENSES/GPL-3.0-only.txt")
|
|
author = "Klaralvdalens Datakonsult AB (KDAB) info@kdab.com"
|
|
url = "https://github.com/KDAB/KDDockWidgets"
|
|
description = "Advanced Dock Widget Framework for Qt"
|
|
generators = "cmake"
|
|
topics = ("qt", "dockwidget", "kdab")
|
|
settings = "os", "compiler", "build_type", "arch"
|
|
options = {
|
|
"qt_version": "ANY",
|
|
"build_static": [True, False],
|
|
"build_examples": [True, False],
|
|
"build_tests": [True, False],
|
|
"build_python_bindings": [True, False],
|
|
"build_for_qt6": [True, False],
|
|
}
|
|
|
|
default_options = {
|
|
"qt_version": "qt/[>5.12.0]@kdab/stable",
|
|
"build_static": False,
|
|
"build_examples": True,
|
|
"build_tests": False,
|
|
"build_python_bindings": False,
|
|
"build_for_qt6": False,
|
|
}
|
|
|
|
def requirements(self):
|
|
# Check https://docs.conan.io/en/latest/reference/conanfile/attributes.html#version-ranges for more info about versioning
|
|
self.requires(str(self.options.qt_version))
|
|
|
|
def source(self):
|
|
git = tools.Git(folder="")
|
|
git.clone(self.url)
|
|
|
|
def build(self, build_type="Release"):
|
|
self.cmake = CMake(self, generator='Ninja', build_type=build_type)
|
|
self.cmake.definitions["KDDockWidgets_STATIC"] = self.options.build_static
|
|
self.cmake.definitions["KDDockWidgets_EXAMPLES"] = self.options.build_examples
|
|
self.cmake.definitions["KDDockWidgets_TESTS"] = self.options.build_tests
|
|
self.cmake.definitions["KDDockWidgets_PYTHON_BINDINGS"] = self.options.build_python_bindings
|
|
self.cmake.definitions["KDDockWidgets_QT6"] = self.options.build_for_qt6
|
|
self.cmake.configure()
|
|
self.cmake.build()
|
|
|
|
def package(self):
|
|
self.cmake.install()
|
|
|
|
def package_info(self):
|
|
self.env_info.CMAKE_PREFIX_PATH.append(self.package_folder)
|
|
|
|
def package_id(self):
|
|
# Check only the major and minor version!
|
|
self.info.requires["qt"].minor_mode()
|