mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-18 19:43:24 -04:00
129 lines
4.2 KiB
Diff
129 lines
4.2 KiB
Diff
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
|
|
|