Skip to content

Commit 2135f28

Browse files
committed
qttype: fix build when qt is not found
1 parent 9a32cf5 commit 2135f28

File tree

7 files changed

+45
-43
lines changed

7 files changed

+45
-43
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
66

77
## [Unreleased]
88

9+
## 0.2.6 2021-11-19 (qttype only)
10+
11+
- Fix build when Qt is not found and the required feature is off
12+
913
## 0.2.5 2021-11-19
1014

1115
- Completed QColor API

qttypes/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "qttypes"
3-
version = "0.2.5"
3+
version = "0.2.6"
44
edition = "2018"
55
authors = ["Olivier Goffart <ogoffart@woboq.com>"]
66
build = "build.rs"

qttypes/src/core/qbytearray.rs

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
1-
#[cfg(not(no_qt))]
2-
use cpp::{cpp, cpp_class};
3-
1+
use crate::internal_prelude::*;
2+
use crate::QString;
43
use std::fmt::Display;
54
use std::os::raw::c_char;
65
use std::str::Utf8Error;
76

8-
use crate::core::QString;
9-
107
cpp! {{
118
#include <QtCore/QString>
129
#include <QtCore/QByteArray>

qttypes/src/core/qstring.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
#[cfg(not(no_qt))]
2-
use cpp::{cpp, cpp_class};
3-
41
use crate::core::QByteArray;
52
use crate::core::QUrl;
3+
use crate::internal_prelude::*;
64

75
use std::fmt::Display;
86

qttypes/src/core/qurl.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
#[cfg(not(no_qt))]
2-
use cpp::{cpp, cpp_class};
3-
4-
use crate::core::QString;
1+
use crate::internal_prelude::*;
2+
use crate::QString;
53

64
cpp! {{
75
#include <QtCore/QString>

qttypes/src/gui/qcolor.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
pub use crate::core::{qreal, QString};
2-
3-
#[cfg(not(no_qt))]
4-
use cpp::{cpp, cpp_class};
1+
use crate::internal_prelude::*;
2+
use crate::{qreal, QString};
53

64
cpp! {{
75
#include <QtGui/QColor>

qttypes/src/lib.rs

+33-26
Original file line numberDiff line numberDiff line change
@@ -128,40 +128,47 @@ use std::ops::{Index, IndexMut};
128128
#[cfg(feature = "chrono")]
129129
use chrono::prelude::*;
130130

131-
#[cfg(not(no_qt))]
132-
use cpp::{cpp, cpp_class};
133-
134-
mod core;
135-
pub use crate::core::{qreal, QByteArray, QString, QUrl};
136-
137-
mod gui;
138-
pub use crate::gui::{QColor, QColorNameFormat, QColorSpec, QRgb, QRgba64};
139131
#[cfg(no_qt)]
140-
mod no_qt {
132+
pub(crate) mod no_qt {
141133
pub fn panic<T>() -> T {
142134
panic!("Qt was not found during build")
143135
}
144136
}
145137

146-
#[cfg(no_qt)]
147-
macro_rules! cpp {
148-
{{ $($t:tt)* }} => {};
149-
{$(unsafe)? [$($a:tt)*] -> $ret:ty as $b:tt { $($t:tt)* } } => {
150-
crate::no_qt::panic::<$ret>()
151-
};
152-
{ $($t:tt)* } => {
153-
crate::no_qt::panic::<()>()
154-
};
155-
}
138+
pub(crate) mod internal_prelude {
139+
#[cfg(not(no_qt))]
140+
pub(crate) use cpp::{cpp, cpp_class};
141+
#[cfg(no_qt)]
142+
macro_rules! cpp {
143+
{{ $($t:tt)* }} => {};
144+
{$(unsafe)? [$($a:tt)*] -> $ret:ty as $b:tt { $($t:tt)* } } => {
145+
crate::no_qt::panic::<$ret>()
146+
};
147+
{ $($t:tt)* } => {
148+
crate::no_qt::panic::<()>()
149+
};
150+
}
156151

157-
#[cfg(no_qt)]
158-
macro_rules! cpp_class {
159-
($(#[$($attrs:tt)*])* $vis:vis unsafe struct $name:ident as $type:expr) => {
160-
#[derive(Default, Ord, Eq, PartialEq, PartialOrd, Clone, Copy)]
161-
#[repr(C)]
162-
$vis struct $name;
163-
};
152+
#[cfg(no_qt)]
153+
macro_rules! cpp_class {
154+
($(#[$($attrs:tt)*])* $vis:vis unsafe struct $name:ident as $type:expr) => {
155+
#[derive(Default, Ord, Eq, PartialEq, PartialOrd, Clone, Copy)]
156+
#[repr(C)]
157+
$vis struct $name;
158+
};
159+
}
160+
#[cfg(no_qt)]
161+
pub(crate) use cpp;
162+
#[cfg(no_qt)]
163+
pub(crate) use cpp_class;
164164
}
165+
use internal_prelude::*;
166+
167+
mod core;
168+
pub use crate::core::{qreal, QByteArray, QString, QUrl};
169+
170+
mod gui;
171+
pub use crate::gui::{QColor, QColorNameFormat, QColorSpec, QRgb, QRgba64};
165172

166173
cpp! {{
167174
#include <QtCore/QByteArray>

0 commit comments

Comments
 (0)