Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/miqt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ jobs:
- name: Run unit tests for cmd tasks
run: make test-cmd

- name: Assert cflags files are up-to-date
run: cmd/lint-cflags-files.sh

- name: Rebuild binding source
run: make genbindings

Expand Down
1 change: 1 addition & 0 deletions cmd/genbindings/config-libraries.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,7 @@ func ProcessLibraries(clangBin, outDir, extraLibsDir string) {
)

// Qt 5 Network (2/3)
// n.b. This is here for parity with Qt 6, however, it generates zero files

generate(
"qt/network/sctp",
Expand Down
43 changes: 43 additions & 0 deletions cmd/lint-cflags-files.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
#!/bin/bash
#
# Check that each Qt cgo package has the expected #cgo directives for that
# version of Qt

set -euo pipefail

require_cflags() {
local dirname="$1"
local check="$2"
local status=0

for d in $(find "${dirname}" -type d | sort); do

# allowed exceptions:
if [[ $d =~ mainthread ]] ; then
continue
fi

if [[ ! -f $d/cflags.go ]] ; then
echo "WARNING: Package $d missing cflags.go file" >&2
status=1
fi

if ! grep -Fq "$check" "$d/cflags.go" ; then
echo "WARNING: Package $d missing expected '$check'" >&2
status=1
fi
done

return $status
}

main() {
require_cflags qt '#cgo CXXFLAGS: -std=c++11'
require_cflags qt '#cgo CFLAGS: -std=gnu11'
require_cflags qt '#cgo pkg-config:'

require_cflags qt6 '#cgo CXXFLAGS: -std=c++17'
require_cflags qt6 '#cgo pkg-config:'
}

main "$@"
2 changes: 2 additions & 0 deletions qt/designer/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package designer

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5UiPlugin Qt5Designer
*/
import "C"
3 changes: 2 additions & 1 deletion qt/mainthread/mainthread.go
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package mainthread

import (
"sync"
"runtime/cgo"
"sync"
)

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5Core

#include "mainthread.h"
Expand Down
2 changes: 2 additions & 0 deletions qt/opengl/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package opengl

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5OpenGL
*/
import "C"
3 changes: 2 additions & 1 deletion qt/pdf/cflags.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package pdf

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5PdfWidgets
*/
import "C"

2 changes: 2 additions & 0 deletions qt/positioning/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package positioning

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5Positioning
*/
import "C"
2 changes: 2 additions & 0 deletions qt/printsupport/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package printsupport

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5PrintSupport
*/
import "C"
2 changes: 2 additions & 0 deletions qt/script/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package script

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5Script
*/
import "C"
2 changes: 2 additions & 0 deletions qt/sql/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package sql

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5Sql
*/
import "C"
2 changes: 2 additions & 0 deletions qt/svg/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package svg

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5Svg
*/
import "C"
2 changes: 2 additions & 0 deletions qt/uiplugin/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package uiplugin

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5UiPlugin Qt5Designer
*/
import "C"
2 changes: 2 additions & 0 deletions qt/uitools/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package uitools

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5UiTools
*/
import "C"
2 changes: 2 additions & 0 deletions qt/webchannel/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package webchannel

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5WebChannel
*/
import "C"
2 changes: 2 additions & 0 deletions qt/webengine/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package webengine

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5WebEngineWidgets
*/
import "C"
2 changes: 2 additions & 0 deletions qt/webkit/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package webkit

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5WebKitWidgets Qt5PrintSupport
*/
import "C"
3 changes: 2 additions & 1 deletion qt/websockets/cflags.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package websockets

/*
#cgo CXXFLAGS: -std=c++11
#cgo CFLAGS: -std=gnu11
#cgo pkg-config: Qt5WebSockets
*/
import "C"

1 change: 1 addition & 0 deletions qt6/cbor/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package cbor

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6Core
*/
import "C"
1 change: 1 addition & 0 deletions qt6/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package qt6

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6Widgets
*/
import "C"
Expand Down
1 change: 1 addition & 0 deletions qt6/designer/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package designer

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6UiPlugin Qt6Designer
*/
import "C"
1 change: 1 addition & 0 deletions qt6/multimedia/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package multimedia

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6MultimediaWidgets
*/
import "C"
1 change: 1 addition & 0 deletions qt6/network/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package network

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6Network
*/
import "C"
1 change: 1 addition & 0 deletions qt6/network/dtls/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package dtls

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6Network
*/
import "C"
1 change: 1 addition & 0 deletions qt6/network/sctp/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package sctp

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6Network
*/
import "C"
2 changes: 1 addition & 1 deletion qt6/pdf/cflags.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package pdf

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6PdfWidgets
*/
import "C"

1 change: 1 addition & 0 deletions qt6/positioning/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package positioning

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6Positioning
*/
import "C"
1 change: 1 addition & 0 deletions qt6/printsupport/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package printsupport

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6PrintSupport
*/
import "C"
1 change: 1 addition & 0 deletions qt6/qml/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package qml

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6Qml
*/
import "C"
1 change: 1 addition & 0 deletions qt6/spatialaudio/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package spatialaudio

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6SpatialAudio
*/
import "C"
1 change: 1 addition & 0 deletions qt6/sql/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package sql

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6Sql
*/
import "C"
1 change: 1 addition & 0 deletions qt6/statemachine/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package statemachine

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6StateMachine Qt6StateMachineQml
*/
import "C"
1 change: 1 addition & 0 deletions qt6/svg/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package svg

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6SvgWidgets
*/
import "C"
1 change: 1 addition & 0 deletions qt6/uiplugin/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package uiplugin

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6UiPlugin Qt6Designer
*/
import "C"
1 change: 1 addition & 0 deletions qt6/uitools/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package uitools

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6UiTools
*/
import "C"
1 change: 1 addition & 0 deletions qt6/webchannel/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package webchannel

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6WebChannel
*/
import "C"
1 change: 1 addition & 0 deletions qt6/webchannel/qmlwebchannel/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package qmlwebchannel

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6WebChannel
*/
import "C"
1 change: 1 addition & 0 deletions qt6/webengine/cflags.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package webengine

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6WebEngineWidgets
*/
import "C"
2 changes: 1 addition & 1 deletion qt6/websockets/cflags.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package websockets

/*
#cgo CXXFLAGS: -std=c++17
#cgo pkg-config: Qt6WebSockets
*/
import "C"