dev-libs/qschematic: new package, add 1.5.0

Signed-off-by: Huang Rui <vowstar@gmail.com>
This commit is contained in:
Huang Rui
2023-11-21 10:57:54 +08:00
parent bb27309a20
commit e43fd4312c
4 changed files with 227 additions and 0 deletions

View File

@@ -0,0 +1,128 @@
From 9beb6fcc19a27bd7a280420bdac8a95b650316ed Mon Sep 17 00:00:00 2001
From: Huang Rui <vowstar@gmail.com>
Date: Tue, 21 Nov 2023 10:25:53 +0800
Subject: [PATCH] build: add build options for gentoo
Signed-off-by: Huang Rui <vowstar@gmail.com>
---
CMakeLists.txt | 2 ++
demo/CMakeLists.txt | 2 ++
qschematic/CMakeLists.txt | 10 ++++++----
qschematic/external.cmake | 2 ++
qschematic/qschematic-config.cmake.in | 3 +++
5 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7a265d7e523f..bfe5cfe8d8bf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -11,6 +11,8 @@ project(
# User options
option(QSCHEMATIC_BUILD_DEMO "Whether to build the demo project" ON)
option(QSCHEMATIC_DEPENDENCY_GPDS_DOWNLOAD "Whether to pull the GPDS dependency via FetchContent" ON)
+option(QSCHEMATIC_BUILD_QT6 "Whether to build with QT6" ON)
+option(QSCHEMATIC_BUILD_STATIC "Whether to build static library" ON)
# User settings
set(QSCHEMATIC_DEPENDENCY_GPDS_TARGET "gpds::gpds-static" CACHE STRING "The CMake target of the GPDS library to use")
diff --git a/demo/CMakeLists.txt b/demo/CMakeLists.txt
index 6c315c2894b2..db206dd156ac 100644
--- a/demo/CMakeLists.txt
+++ b/demo/CMakeLists.txt
@@ -2,11 +2,13 @@
include(../qschematic/external.cmake)
# Qt
+if (QSCHEMATIC_BUILD_QT6)
find_package(
Qt6
COMPONENTS
PrintSupport
)
+endif()
if (NOT Qt6_FOUND)
find_package(
Qt5
diff --git a/qschematic/CMakeLists.txt b/qschematic/CMakeLists.txt
index ec56b33ad264..6b4d353127bc 100644
--- a/qschematic/CMakeLists.txt
+++ b/qschematic/CMakeLists.txt
@@ -150,7 +150,6 @@ setup_target_common(${TARGET_SHARED})
################################################################################
# Static library #
################################################################################
-
add_library(${TARGET_STATIC} STATIC)
setup_target_common(${TARGET_STATIC})
@@ -160,7 +159,6 @@ target_compile_definitions(
QSCHEMATIC_STATIC_DEFINE
)
-
################################################################################
# Install #
################################################################################
@@ -171,10 +169,14 @@ include(CMakePackageConfigHelpers)
set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/qschematic)
# Targets
+if (QSCHEMATIC_BUILD_STATIC)
+ set(INSTALL_TARGETS ${INSTALL_TARGETS} ${TARGET_STATIC} ${TARGET_SHARED})
+else()
+ set(INSTALL_TARGETS ${INSTALL_TARGETS} ${TARGET_SHARED})
+endif()
install(
TARGETS
- ${TARGET_STATIC}
- ${TARGET_SHARED}
+ ${INSTALL_TARGETS}
EXPORT qschematic-targets
FILE_SET
HEADERS
diff --git a/qschematic/external.cmake b/qschematic/external.cmake
index 80aae6c29b94..7e57f0852ac5 100644
--- a/qschematic/external.cmake
+++ b/qschematic/external.cmake
@@ -35,6 +35,7 @@ endif()
########################################################################################################################
# Try to find Qt6
+if (QSCHEMATIC_BUILD_QT6)
find_package(
Qt6
COMPONENTS
@@ -42,6 +43,7 @@ find_package(
Gui
Widgets
)
+endif()
# If Qt6 was not found, fallback to Qt5
# Require minimum Qt 5.15 for versionless cmake targets. This can be relaxed down to Qt 5.6 (?) if needed by modifying
diff --git a/qschematic/qschematic-config.cmake.in b/qschematic/qschematic-config.cmake.in
index 7452408bcd09..5b2a14a4c9c2 100644
--- a/qschematic/qschematic-config.cmake.in
+++ b/qschematic/qschematic-config.cmake.in
@@ -6,8 +6,10 @@ include(CMakeFindDependencyMacro)
set(QSCHEMATIC_DEPENDENCY_GPDS_DOWNLOAD @QSCHEMATIC_DEPENDENCY_GPDS_DOWNLOAD@)
set(QSCHEMATIC_DEPENDENCY_GPDS_MINIMUM_VERSION @QSCHEMATIC_DEPENDENCY_GPDS_MINIMUM_VERSION@)
+set(QSCHEMATIC_BUILD_QT6 @QSCHEMATIC_BUILD_QT6@)
# Qt
+if (QSCHEMATIC_BUILD_QT6)
find_dependency(
Qt6
COMPONENTS
@@ -15,6 +17,7 @@ find_dependency(
Gui
Widgets
)
+endif()
if (NOT Qt6_FOUND)
find_dependency(
Qt5 5.15
--
2.42.1