mirror of
https://github.com/edisionnano/QDiskInfo.git
synced 2026-04-15 23:41:28 +03:00
CMake Changes
Don't specify all .h, .cpp and .ui files independently, use wildcards instead Don't specify QDiskInfo many times, use the PROJECT_NAME variable instead Use qt_add_translations if Qt version is >=6.7, this should be able to also run lupdate but it doesn't; I'm investigating this
This commit is contained in:
@@ -20,19 +20,10 @@ else()
|
|||||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
|
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(PROJECT_SOURCES
|
file(GLOB_RECURSE PROJECT_SOURCES
|
||||||
src/main.cpp
|
src/*.h
|
||||||
src/mainwindow.cpp
|
src/*.cpp
|
||||||
src/mainwindow.h
|
src/*.ui
|
||||||
src/mainwindow.ui
|
|
||||||
src/custombutton.h
|
|
||||||
src/custombutton.cpp
|
|
||||||
src/statusdot.h
|
|
||||||
src/statusdot.cpp
|
|
||||||
src/jsonparser.h
|
|
||||||
src/jsonparser.cpp
|
|
||||||
src/utils.h
|
|
||||||
src/utils.cpp
|
|
||||||
src/resources.qrc
|
src/resources.qrc
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -42,7 +33,16 @@ endif()
|
|||||||
|
|
||||||
if(ENABLE_TRANSLATIONS)
|
if(ENABLE_TRANSLATIONS)
|
||||||
file(GLOB TS_FILES "${CMAKE_SOURCE_DIR}/translations/*.ts")
|
file(GLOB TS_FILES "${CMAKE_SOURCE_DIR}/translations/*.ts")
|
||||||
qt_add_translation(QM_FILES ${TS_FILES})
|
if(QT_VERSION_MAJOR GREATER_EQUAL 6 AND QT_VERSION_MINOR GREATER_EQUAL 7)
|
||||||
|
qt_add_translations(TARGETS ${PROJECT_NAME}
|
||||||
|
TS_FILES ${TS_FILES}
|
||||||
|
SOURCES ${PROJECT_SOURCES}
|
||||||
|
QM_FILES_OUTPUT_VARIABLE QM_FILES
|
||||||
|
LUPDATE_OPTIONS -no-obsolete -locations none
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
qt_add_translation(QM_FILES ${TS_FILES})
|
||||||
|
endif()
|
||||||
set(TRANSLATIONS_QRC "${CMAKE_BINARY_DIR}/translations.qrc")
|
set(TRANSLATIONS_QRC "${CMAKE_BINARY_DIR}/translations.qrc")
|
||||||
file(WRITE ${TRANSLATIONS_QRC} "<RCC>\n <qresource prefix=\"/translations\">\n")
|
file(WRITE ${TRANSLATIONS_QRC} "<RCC>\n <qresource prefix=\"/translations\">\n")
|
||||||
foreach(QM_FILE ${QM_FILES})
|
foreach(QM_FILE ${QM_FILES})
|
||||||
@@ -53,19 +53,19 @@ if(ENABLE_TRANSLATIONS)
|
|||||||
list(APPEND PROJECT_SOURCES ${TRANSLATIONS_QRC})
|
list(APPEND PROJECT_SOURCES ${TRANSLATIONS_QRC})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_executable(QDiskInfo ${PROJECT_SOURCES})
|
add_executable(${PROJECT_NAME} ${PROJECT_SOURCES})
|
||||||
|
|
||||||
target_compile_definitions(QDiskInfo PRIVATE
|
target_compile_definitions(${PROJECT_NAME} PRIVATE
|
||||||
PROJECT_VERSION_MAJOR=${QDiskInfo_VERSION_MAJOR}
|
PROJECT_VERSION_MAJOR=${${PROJECT_NAME}_VERSION_MAJOR}
|
||||||
PROJECT_VERSION_MINOR=${QDiskInfo_VERSION_MINOR}
|
PROJECT_VERSION_MINOR=${${PROJECT_NAME}_VERSION_MINOR}
|
||||||
ENABLE_TRANSLATIONS=$<BOOL:${ENABLE_TRANSLATIONS}>
|
ENABLE_TRANSLATIONS=$<BOOL:${ENABLE_TRANSLATIONS}>
|
||||||
INCLUDE_OPTIONAL_RESOURCES=$<BOOL:${INCLUDE_OPTIONAL_RESOURCES}>
|
INCLUDE_OPTIONAL_RESOURCES=$<BOOL:${INCLUDE_OPTIONAL_RESOURCES}>
|
||||||
CHARACTER_IS_RIGHT=$<BOOL:${CHARACTER_IS_RIGHT}>
|
CHARACTER_IS_RIGHT=$<BOOL:${CHARACTER_IS_RIGHT}>
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(QDiskInfo PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
|
target_link_libraries(${PROJECT_NAME} PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
|
||||||
|
|
||||||
set_target_properties(QDiskInfo PROPERTIES
|
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||||
${BUNDLE_ID_OPTION}
|
${BUNDLE_ID_OPTION}
|
||||||
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
|
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
|
||||||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
||||||
@@ -74,18 +74,18 @@ set_target_properties(QDiskInfo PROPERTIES
|
|||||||
)
|
)
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
include(GNUInstallDirs)
|
||||||
install(TARGETS QDiskInfo
|
install(TARGETS ${PROJECT_NAME}
|
||||||
BUNDLE DESTINATION .
|
BUNDLE DESTINATION .
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
)
|
)
|
||||||
install(FILES "dist/QDiskInfo.desktop"
|
install(FILES "dist/${PROJECT_NAME}.desktop"
|
||||||
DESTINATION "share/applications")
|
DESTINATION "share/applications")
|
||||||
install(FILES "dist/QDiskInfo.svg"
|
install(FILES "dist/${PROJECT_NAME}.svg"
|
||||||
DESTINATION "share/icons/hicolor/scalable/apps")
|
DESTINATION "share/icons/hicolor/scalable/apps")
|
||||||
|
|
||||||
if(QT_VERSION_MAJOR EQUAL 6)
|
if(QT_VERSION_MAJOR GREATER_EQUAL 6)
|
||||||
qt_finalize_executable(QDiskInfo)
|
qt_finalize_executable(${PROJECT_NAME})
|
||||||
endif()
|
endif()
|
||||||
include(FeatureSummary)
|
include(FeatureSummary)
|
||||||
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
||||||
|
|||||||
Reference in New Issue
Block a user