@@ -2,8 +2,6 @@ cmake_minimum_required(VERSION 3.12)
22
33project (REDasm)
44
5- set (_QT_VERSION_REQ 5.11)
6- set (QT_VERSION_REQ "${_QT_VERSION_REQ} " )
75set (CMAKE_AUTOMOC ON )
86set (CMAKE_AUTOUIC ON )
97set (CMAKE_AUTORCC ON )
@@ -12,12 +10,15 @@ include(${CMAKE_SOURCE_DIR}/LibREDasm/cmake/sanitizers.cmake)
1210
1311string (TIMESTAMP REDASM_BUILD_TIMESTAMP "%Y%m%d" )
1412set (REDASM_GIT_VERSION "unknown" )
15- set (REDASM_VERSION_BASE "3.0-BETA6 " )
13+ set (REDASM_VERSION_BASE "3.0-BETA7 " )
1614
1715find_package (Git)
18- find_package (Qt5 ${_QT_VERSION_REQ} REQUIRED COMPONENTS Widgets)
19- #find_package(Qt5X11Extras ${_QT_VERSION_REQ} REQUIRED) # Needed for KDDockWidgets
20- find_package (Qt5LinguistTools ${_QT_VERSION_REQ} )
16+ find_package (Qt6 COMPONENTS Widgets)
17+
18+ if (NOT Qt6_FOUND)
19+ find_package (Qt5 REQUIRED COMPONENTS Widgets)
20+ find_package (Qt5LinguistTools)
21+ endif ()
2122
2223include (LibREDasm/cmake/CPM.cmake)
2324
@@ -34,14 +35,21 @@ endif()
3435set (REDASM_BUILD_VERSION "${REDASM_BUILD_TIMESTAMP} .${REDASM_GIT_VERSION} " )
3536add_definitions (-DREDASM_VERSION="${REDASM_VERSION_BASE} \( ${REDASM_BUILD_VERSION} \) " )
3637
37- set (KDDOCKWIDGETS_OPTIONS "KDDockWidgets_STATIC ON"
38- "KDDockWidgets_EXAMPLES OFF"
39- "KDDockWidgets_UNITY_BUILD OFF" )
38+ if (Qt6_FOUND)
39+ set (KDDOCKWIDGETS_OPTIONS "KDDockWidgets_QT6 ON"
40+ "KDDockWidgets_STATIC ON"
41+ "KDDockWidgets_EXAMPLES OFF"
42+ "KDDockWidgets_UNITY_BUILD OFF" )
43+ else ()
44+ set (KDDOCKWIDGETS_OPTIONS "KDDockWidgets_STATIC ON"
45+ "KDDockWidgets_EXAMPLES OFF"
46+ "KDDockWidgets_UNITY_BUILD OFF" )
47+ endif ()
4048
4149CPMAddPackage(
42- NAME KDDockWidgetes
50+ NAME KDDockWidgets
4351 GIT_REPOSITORY https://github.com/KDAB/KDDockWidgets
44- VERSION 1.4 .0
52+ VERSION 1.7 .0
4553 OPTIONS ${KDDOCKWIDGETS_OPTIONS}
4654 EXCLUDE_FROM_ALL ON
4755 )
@@ -56,7 +64,7 @@ add_subdirectory(submodules/plugins)
5664add_subdirectory (submodules/assemblers)
5765add_subdirectory (submodules/loaders)
5866add_subdirectory (submodules/database)
59- qt5_wrap_ui (UI_HDRS ${UI_FILES} )
67+ qt_wrap_ui (UI_HDRS ${UI_FILES} )
6068
6169# Widgets
6270file (GLOB_RECURSE WIDGETS_HEADERS CONFIGURE_DEPENDS widgets/*.h )
@@ -90,7 +98,6 @@ file(GLOB_RECURSE UI_SOURCES CONFIGURE_DEPENDS ui/*.cpp)
9098file (GLOB_RECURSE UI_UIS CONFIGURE_DEPENDS ui/*.ui)
9199
92100SET (HEADERS
93- ${QHEXVIEW_HEADERS}
94101 ${REDASM_TEST_HEADERS}
95102 ${WIDGETS_HEADERS}
96103 ${DIALOGS_HEADERS}
@@ -105,7 +112,6 @@ SET(HEADERS
105112 redasmfonts.h)
106113
107114SET (SOURCES
108- ${QHEXVIEW_SOURCES}
109115 ${REDASM_TEST_SOURCES}
110116 ${WIDGETS_SOURCES}
111117 ${DIALOGS_SOURCES}
@@ -135,20 +141,21 @@ endif()
135141
136142set (ALL_SOURCES ${SOURCES} ${HEADERS} ${FORMS} )
137143
138- if (Qt5LinguistTools_FOUND ) # Prepare translations
144+ if (QtLinguistTools_FOUND ) # Prepare translations
139145 message (STATUS "${PROJECT_NAME} : Adding multilanguage support" )
140- qt5_create_translation (QM_FILES ${ALL_SOURCES} translations/redasm_en.ts)
146+ qt_create_translation (QM_FILES ${ALL_SOURCES} translations/redasm_en.ts)
141147 configure_file (translations.qrc ${CMAKE_BINARY_DIR} COPYONLY )
142148 set (TRANSLATIONS_QRC ${CMAKE_BINARY_DIR} /translations.qrc)
143149else ()
144150 message (STATUS "${PROJECT_NAME} : Multilanguage support NOT available" )
145151endif ()
146152
147- add_executable (${PROJECT_NAME} ${GUI_TYPE}
148- ${ALL_SOURCES} ${RESOURCES}
153+ add_executable (${PROJECT_NAME} ${GUI_TYPE} ${RESOURCES}
149154 ${TRANSLATIONS_QRC} ${QM_FILES}
150155 "${CMAKE_SOURCE_DIR} /res/windows/resources.rc" )
151156
157+ target_sources (${PROJECT_NAME} PRIVATE ${ALL_SOURCES} )
158+
152159target_compile_features (${PROJECT_NAME} PUBLIC cxx_std_17)
153160set_target_properties (${PROJECT_NAME} PROPERTIES CXX_EXTENSIONS OFF )
154161
@@ -159,11 +166,11 @@ target_include_directories(${PROJECT_NAME} PRIVATE
159166 libs)
160167
161168target_link_libraries (${PROJECT_NAME} PRIVATE
162- Qt5 ::Core
163- Qt5 ::Gui
164- Qt5 ::Widgets
169+ Qt ::Core
170+ Qt ::Gui
171+ Qt ::Widgets
165172 KDAB::kddockwidgets
166- qhexview-lib
173+ QHexView
167174 LibREDasm)
168175
169176# Include Threads
@@ -181,16 +188,16 @@ set(REDASM_DEPLOY_DIR ${CMAKE_BINARY_DIR}/deploy)
181188
182189# Deploy Qt DLLs on Windows
183190# https://stackoverflow.com/a/41199492/1806760
184- if (Qt5_FOUND AND WIN32 AND TARGET Qt5 ::qmake AND NOT TARGET Qt5 ::windeployqt)
185- get_target_property (_qt5_qmake_location Qt5 ::qmake IMPORTED_LOCATION )
191+ if (Qt_FOUND AND WIN32 AND TARGET Qt ::qmake AND NOT TARGET Qt ::windeployqt)
192+ get_target_property (_qt_qmake_location Qt ::qmake IMPORTED_LOCATION )
186193
187194 execute_process (
188- COMMAND "${_qt5_qmake_location } " -query QT_INSTALL_PREFIX
195+ COMMAND "${_qt_qmake_location } " -query QT_INSTALL_PREFIX
189196 RESULT_VARIABLE return_code
190- OUTPUT_VARIABLE qt5_install_prefix
197+ OUTPUT_VARIABLE qt_install_prefix
191198 OUTPUT_STRIP_TRAILING_WHITESPACE)
192199
193- set (_WINDEPLOYQT_EXECUTABLE "${qt5_install_prefix } /bin/windeployqt.exe" )
200+ set (_WINDEPLOYQT_EXECUTABLE "${qt_install_prefix } /bin/windeployqt.exe" )
194201
195202 if (EXISTS ${_WINDEPLOYQT_EXECUTABLE} )
196203 set (WINDEPLOYQT_EXECUTABLE ${_WINDEPLOYQT_EXECUTABLE} )
0 commit comments