Skip to content

Commit 7ec1606

Browse files
authored
Merge pull request #107 from kipr/erinQt6Upgrade
Erin qt6 upgrade
2 parents 2b0da80 + 2651cca commit 7ec1606

File tree

221 files changed

+7432
-5492
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

221 files changed

+7432
-5492
lines changed

.github/workflows/action.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Change Wombat Serial Number
2+
on: push
3+
4+
concurrency:
5+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
6+
cancel-in-progress: true
7+
8+
jobs:
9+
changeSerialNumber:
10+
name: Wombat Serial Number
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v2
14+
with:
15+
fetch-depth: 11 # This value must be set if the lookback configuration option is not disabled for find-code-references. Read more: https://github.com/launchdarkly/ld-find-code-refs#searching-for-unused-flags-extinctions
16+
- name: Wombat Serial Number
17+
uses: actions/checkout@v2
18+
with:
19+
accessToken: ${{ secrets.WS_ACCESS_TOKEN }}
20+
projKey: SERIAL_NUM

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ build
33
deploy
44
lib
55
obj-arm-linux-gnueabihf
6+
.vscode

CMakeLists.txt

Lines changed: 85 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,53 @@
11
project(botui)
22

3-
option(qt5 "Use Qt5 instead of Qt4" OFF)
4-
option(wallaby "Use the Wallaby controller" ON)
3+
option(wombat "Use the Wombat controller" ON)
4+
option(DEBUG "Enable debug mode" OFF)
5+
option(RELEASE "Enable release mode" OFF)
6+
option(docker_cross "Cross compile option for docker container" OFF)
7+
8+
cmake_minimum_required(VERSION 2.8.11)
9+
10+
#if (wallaby)
11+
# add_definitions(-DWALLABY)
12+
#set(DEVICE_DIR ${CMAKE_SOURCE_DIR}/devices/wallaby)
13+
#find_package(OpenCV REQUIRED)
14+
#else()
15+
# set(DEVICE_DIR ${CMAKE_SOURCE_DIR}/devices/kovan)
16+
17+
#endif()
18+
19+
set(LIBKAR_ROOT ${CMAKE_SOURCE_DIR}/../libkar)
20+
set(PCOMPILER_ROOT ${CMAKE_SOURCE_DIR}/../pcompiler)
21+
set(LIBKIPR_ROOT ${CMAKE_SOURCE_DIR}/../libwallaby)
22+
set(CREATE3_ROOT ${CMAKE_SOURCE_DIR}/../create3)
23+
24+
include_directories(/usr/local/include)
525

6-
if(NOT qt5)
7-
cmake_minimum_required(VERSION 2.6.0)
8-
else()
9-
cmake_minimum_required(VERSION 2.8.11)
26+
if(wombat)
27+
add_definitions(-DWOMBAT)
28+
set(DEVICE_DIR ${CMAKE_SOURCE_DIR}/devices/wombat)
1029
endif()
1130

12-
if (wallaby)
13-
add_definitions(-DWALLABY)
14-
set(DEVICE_DIR ${CMAKE_SOURCE_DIR}/devices/wallaby)
15-
else()
16-
set(DEVICE_DIR ${CMAKE_SOURCE_DIR}/devices/kovan)
31+
if(docker_cross)
32+
link_directories("${LIBKAR_ROOT}/lib")
33+
link_directories("${PCOMPILER_ROOT}/lib")
34+
link_directories("${LIBKIPR_ROOT}/build")
35+
include_directories(/usr/local/include)
1736
endif()
1837

1938
set(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/deploy)
20-
39+
set(CMAKE_THREAD_LIBS_INIT "-lpthread")
40+
set(CMAKE_HAVE_THREADS_LIBRARY 1)
41+
set(CMAKE_USE_WIN32_THREADS_INIT 0)
42+
set(CMAKE_USE_PTHREADS_INIT 1)
43+
set(THREADS_PREFER_PTHREAD_FLAG ON)
2144
set(INCLUDE ${CMAKE_SOURCE_DIR}/include/botui)
45+
set(WOMBAT ${DEVICES}/kipr)
2246
set(RC ${CMAKE_SOURCE_DIR}/rc)
2347
set(SRC ${CMAKE_SOURCE_DIR}/src)
2448
set(UI ${CMAKE_SOURCE_DIR}/ui)
2549
set(TS ${CMAKE_SOURCE_DIR}/ts)
2650

27-
set(DBUS ${CMAKE_SOURCE_DIR}/dbus)
28-
2951
include_directories(
3052
${CMAKE_SOURCE_DIR}
3153
${CMAKE_SOURCE_DIR}/src
@@ -35,29 +57,19 @@ include_directories(
3557
${INCLUDE}
3658
)
3759

38-
if(NOT qt5)
39-
cmake_minimum_required(VERSION 2.6.0)
40-
find_package(Qt4 REQUIRED)
41-
find_package( PythonInterp 2.7 REQUIRED )
42-
find_package( PythonLibs 2.7 REQUIRED )
43-
set(QT_USE_QTDECLARATIVE TRUE)
44-
set(QT_USE_QTNETWORK TRUE)
45-
set(QT_USE_QTDBUS TRUE)
46-
47-
include(${QT_USE_FILE})
48-
else()
60+
4961

50-
find_package(Qt5Widgets REQUIRED)
51-
find_package(Qt5Declarative REQUIRED)
52-
find_package(Qt5Network REQUIRED)
53-
endif()
62+
find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets Network Quick QuickWidgets QuickControls2)
63+
64+
5465

5566
find_package(OpenSSL REQUIRED)
5667

5768
file(GLOB INCLUDES ${INCLUDE}/*.h ${DEVICE_DIR}/include/*.h)
5869
file(GLOB SOURCES ${SRC}/*.cpp ${DEVICE_DIR}/src/*.cpp)
5970
file(GLOB UIS ${UI}/*)
6071
file(GLOB TS_FILES ${TS}/*.ts)
72+
file(GLOB DBUS_INTERFACES ${DBUS}/*.xml)
6173

6274
set(UI ${UIS})
6375

@@ -69,75 +81,63 @@ set(QRC_FILES
6981
${RC}/target.qrc
7082
)
7183

72-
if(NOT qt5)
73-
file(GLOB DBUS_INCLUDES ${DBUS}/include/*.h)
74-
file(GLOB DBUS_SOURCES ${DBUS}/src/*.cpp)
75-
set(INCLUDES ${INCLUDES} ${DBUS_INCLUDES})
76-
set(SOURCES ${SOURCES} ${DBUS_SOURCES})
77-
78-
set(MOC_SRCS ${INCLUDES})
79-
set(SRCS_CXX ${SOURCES})
84+
8085

81-
QT4_WRAP_CPP(SRCS_CXX ${MOC_SRCS} OPTIONS -DQT_VERSION=0x040000)
82-
QT4_WRAP_UI(SRCS_CXX ${UI})
83-
QT4_ADD_RESOURCES(SRCS_CXX ${QRC_FILES})
84-
QT4_ADD_TRANSLATION(QM_FILES ${TS_FILES})
85-
else()
86-
# set(CMAKE_AUTOMOC ON)
87-
set(MOC_SRCS ${INCLUDES})
88-
set(SRCS_CXX ${SOURCES})
89-
qt5_wrap_cpp(SRCS_CXX ${MOC_SRCS} OPTIONS -DQT_VERSION=0x050000 -UQT_DBUS_LIB)
90-
qt5_wrap_ui(SRCS_CXX ${UI})
91-
qt5_add_resources(SRCS_CXX ${QRC_FILES})
92-
qt5_add_translation(QM_FILES ${TS_FILES})
93-
endif()
86+
87+
88+
set(CMAKE_AUTOMOC ON)
89+
set(CMAKE_INCLUDE_CURRENT_DIR ON)
90+
set(MOC_SRCS ${INCLUDES})
91+
set(SRCS_CXX ${SOURCES})
92+
qt6_wrap_cpp(SRCS_CXX ${MOC_SRCS} OPTIONS -DQT_VERSION=0x060000 -UQT_DBUS_LIB)
93+
qt6_wrap_ui(SRCS_CXX ${UI})
94+
qt6_add_resources(SRCS_CXX ${QRC_FILES})
95+
9496

9597
add_definitions(-Wall)
9698

97-
# C++11
98-
# http://www.guyrutenberg.com/2014/01/05/enabling-c11-c0x-in-cmake/
99-
include(CheckCXXCompilerFlag)
100-
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
101-
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
102-
if(COMPILER_SUPPORTS_CXX11)
103-
add_definitions(--std=c++11)
104-
elseif(COMPILER_SUPPORTS_CXX0X)
105-
add_definitions(--std=c++0x)
106-
else()
107-
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
108-
endif()
99+
set(CMAKE_CXX_STANDARD 11)
100+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
109101

110-
IF(APPLE)
111-
add_definitions(-g)
112-
link_directories(/Library/Frameworks/ /usr/local/lib)
113-
include_directories(/usr/local/include)
114-
ELSEIF(WIN32)
115-
set(CMAKE_CXX_FLAGS "-Wl,--enable-auto-import")
116-
ENDIF()
102+
add_executable(botui ${SRCS_CXX} ${QM_FILES} ${DBUS_INTERFACE_SOURCES})
117103

118-
if(WIN32)
119-
add_executable(botui WIN32 ${SRCS_CXX} ${QM_FILES})
120-
else()
121-
add_executable(botui ${SRCS_CXX} ${QM_FILES})
104+
if (DEBUG)
105+
add_definitions(-g)
122106
endif()
123107

124-
add_definitions(-O3)
108+
if (RELEASE)
109+
add_definitions(-O3)
110+
endif()
111+
112+
add_subdirectory(dbus)
113+
114+
target_link_libraries(botui
115+
Qt6::Core
116+
Qt6::Gui
117+
Qt6::Quick
118+
Qt6::QuickWidgets
119+
Qt6::Widgets
120+
Qt6::QuickControls2
121+
network_manager_dbus
122+
pcompiler
123+
z
124+
${OPENSSL_LIBRARIES}
125+
create3_client
126+
)
125127

126-
target_link_libraries(botui pcompiler z opencv_core opencv_highgui opencv_imgproc ${OPENSSL_LIBRARIES})
127-
IF(wallaby)
128-
target_link_libraries(botui wallaby)
129-
ELSEIF(wombat)
128+
IF(wombat)
130129
target_link_libraries(botui kipr)
131-
ELSE()
132-
target_link_libraries(botui kovan)
133130
ENDIF()
134131

135-
if(NOT qt5)
136-
target_link_libraries(botui ${QT_LIBRARIES})
137-
else()
138-
qt5_use_modules(botui Widgets Declarative Network)
139-
endif()
132+
target_link_libraries(botui ${QT_LIBRARIES})
140133

141134

142135
install(TARGETS botui DESTINATION bin)
143136
install(FILES ${QM_FILES} DESTINATION "/etc/botui/locale")
137+
138+
set(CPACK_PACKAGE_NAME botui)
139+
set(CPACK_GENERATOR "DEB")
140+
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE arm64)
141+
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "KISS Institute for Practical Robotics")
142+
set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
143+
include(CPack)

README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ Requirements
1111
============
1212
* [pcompiler ](https://github.com/kipr/pcompiler)
1313
* CMake 2.6.0 or later
14-
* OpenCV
1514
* [Qt >= 4.7.4](https://www.qt.io/download-qt-installer)
1615

1716

@@ -22,7 +21,7 @@ git clone https://github.com/kipr/botui
2221
cd botui
2322
mkdir build
2423
cd build
25-
cmake ..
24+
cmake .. or /home/<container name>/qt-raspi/bin/qt-cmake -Ddocker_cross=ON .. (for docker cross compilation)
2625
make -j4
2726
sudo make install
2827
```

dbus/CMakeLists.txt

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
find_package(Qt6 REQUIRED COMPONENTS DBus)
2+
3+
set(NETWORK_MANAGER_INTERFACES
4+
org.freedesktop.NetworkManager.Device.Wireless
5+
org.freedesktop.NetworkManager.Device
6+
org.freedesktop.NetworkManager.Settings.Connection
7+
org.freedesktop.NetworkManager.Settings
8+
org.freedesktop.NetworkManager.AccessPoint
9+
org.freedesktop.NetworkManager.IP4Config
10+
org.freedesktop.NetworkManager.Connection.Active
11+
org.freedesktop.NetworkManager
12+
)
13+
14+
set(NETWORK_MANAGER_SOURCES)
15+
foreach (interface ${NETWORK_MANAGER_INTERFACES})
16+
string (REPLACE "." "_" basename ${interface})
17+
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/${interface}.xml PROPERTIES NO_NAMESPACE ON)
18+
qt_add_dbus_interface(INTERFACE_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/${interface}.xml ${basename})
19+
message(STATUS "Adding DBus interface ${interface} ${NETWORK_MANAGER_SOURCES}")
20+
list(APPEND NETWORK_MANAGER_SOURCES ${INTERFACE_SOURCES})
21+
endforeach()
22+
23+
add_library(network_manager_dbus STATIC ${NETWORK_MANAGER_SOURCES})
24+
target_link_libraries(network_manager_dbus PUBLIC Qt::DBus)
25+
target_include_directories(network_manager_dbus PUBLIC ${CMAKE_CURRENT_BINARY_DIR})

dbus/generate.sh

Lines changed: 0 additions & 47 deletions
This file was deleted.

dbus/generic-types.xml

Lines changed: 0 additions & 35 deletions
This file was deleted.

0 commit comments

Comments
 (0)