CMakeLists: Update and simplify.
This commit is contained in:
parent
c8d7d6d468
commit
e2dfca2272
|
@ -0,0 +1,45 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>APPL</string>
|
||||||
|
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>${MACOSX_BUNDLE_BUNDLE_NAME}</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>${MACOSX_BUNDLE_GUI_IDENTIFIER}</string>
|
||||||
|
<key>CFBundleExecutable</key>
|
||||||
|
<string>${MACOSX_BUNDLE_EXECUTABLE_NAME}</string>
|
||||||
|
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>${MACOSX_BUNDLE_SHORT_VERSION_STRING}</string>
|
||||||
|
|
||||||
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
<string>${CMAKE_OSX_DEPLOYMENT_TARGET}</string>
|
||||||
|
|
||||||
|
<key>NSHumanReadableCopyright</key>
|
||||||
|
<string>${MACOSX_BUNDLE_COPYRIGHT}</string>
|
||||||
|
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>${MACOSX_BUNDLE_ICON_FILE}</string>
|
||||||
|
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>${MACOSX_BUNDLE_DEVELOPMENT_REGION}</string>
|
||||||
|
<key>CFBundleAllowMixedLocalizations</key>
|
||||||
|
<true/>
|
||||||
|
|
||||||
|
<key>NSHighResolutionCapable</key>
|
||||||
|
<true/>
|
||||||
|
|
||||||
|
<key>NSPrincipalClass</key>
|
||||||
|
<string>NSApplication</string>
|
||||||
|
|
||||||
|
<key>NSSupportsAutomaticGraphicsSwitching</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
|
@ -0,0 +1,37 @@
|
||||||
|
#include <windows.h>
|
||||||
|
|
||||||
|
IDI_ICON1 ICON "${PROJECT_SOURCE_DIR}/imgs/icon.ico"
|
||||||
|
|
||||||
|
VS_VERSION_INFO VERSIONINFO
|
||||||
|
FILEVERSION ${version_str}
|
||||||
|
PRODUCTVERSION ${version_str}
|
||||||
|
FILEFLAGSMASK 0x3fL
|
||||||
|
#ifdef _DEBUG
|
||||||
|
FILEFLAGS VS_FF_DEBUG
|
||||||
|
#else
|
||||||
|
FILEFLAGS 0x0L
|
||||||
|
#endif
|
||||||
|
FILEOS VOS_NT_WINDOWS32
|
||||||
|
FILETYPE VFT_APP
|
||||||
|
FILESUBTYPE VFT2_UNKNOWN
|
||||||
|
BEGIN
|
||||||
|
BLOCK "StringFileInfo"
|
||||||
|
BEGIN
|
||||||
|
BLOCK "040904b0"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Comments", "Made by Mentalflow."
|
||||||
|
VALUE "CompanyName", "${PROJECT_COMPANY}"
|
||||||
|
VALUE "FileDescription", "${PROJECT_COPYRIGHT}"
|
||||||
|
VALUE "FileVersion", "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}"
|
||||||
|
VALUE "InternalName", "${PROJECT_BUNDLE_NAME}.exe"
|
||||||
|
VALUE "LegalCopyright", "${PROJECT_COPYRIGHT}"
|
||||||
|
VALUE "OriginalFilename", "${PROJECT_BUNDLE_NAME}.exe"
|
||||||
|
VALUE "ProductName", "${PROJECT_BUNDLE_NAME}"
|
||||||
|
VALUE "ProductVersion", "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}"
|
||||||
|
END
|
||||||
|
END
|
||||||
|
BLOCK "VarFileInfo"
|
||||||
|
BEGIN
|
||||||
|
VALUE "Translation", 0x409, 1200
|
||||||
|
END
|
||||||
|
END
|
|
@ -4,6 +4,8 @@ project(RibbonUIAPP VERSION ${PROJECT_VERSION} LANGUAGES CXX)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/.cmake/)
|
||||||
|
|
||||||
if(QT_VERSION VERSION_GREATER_EQUAL "6.3")
|
if(QT_VERSION VERSION_GREATER_EQUAL "6.3")
|
||||||
qt_standard_project_setup()
|
qt_standard_project_setup()
|
||||||
qt_policy(SET QTP0001 NEW)
|
qt_policy(SET QTP0001 NEW)
|
||||||
|
@ -17,11 +19,21 @@ if(APPLE)
|
||||||
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64" CACHE STRING "" FORCE)
|
set(CMAKE_OSX_ARCHITECTURES "arm64;x86_64" CACHE STRING "" FORCE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
string(TIMESTAMP TIME_YEAR %Y)
|
||||||
set(PROJECT_COMPANY "Mentalflow's Lab")
|
set(PROJECT_COMPANY "Mentalflow's Lab")
|
||||||
set(PROJECT_COPYRIGHT "Copyright (c) 2024 Mentalflow's Lab. All rights reserved.")
|
set(PROJECT_COPYRIGHT "Copyright (c) ${TIME_YEAR} Mentalflow's Lab. All rights reserved.")
|
||||||
set(PROJECT_DOMAIN "dev.ourdocs.cn.ribbonuiapp")
|
set(PROJECT_DOMAIN "dev.ourdocs.cn.ribbonuiapp")
|
||||||
set(PROJECT_BUNDLE_NAME RibbonUI-APP)
|
set(PROJECT_BUNDLE_NAME RibbonUI-APP)
|
||||||
|
|
||||||
|
set(MACOSX_BUNDLE_GUI_IDENTIFIER ${PROJECT_DOMAIN})
|
||||||
|
set(MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION})
|
||||||
|
set(MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR})
|
||||||
|
set(MACOSX_BUNDLE_BUNDLE_NAME ${PROJECT_BUNDLE_NAME})
|
||||||
|
set(MACOSX_BUNDLE_COPYRIGHT ${PROJECT_COPYRIGHT})
|
||||||
|
set(MACOSX_BUNDLE_DEVELOPMENT_REGION "Chinese")
|
||||||
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "11.0" CACHE STRING "Minimum OS X deployment version" FORCE)
|
||||||
|
set(MACOSX_BUNDLE_EXECUTABLE_NAME ${PROJECT_BUNDLE_NAME})
|
||||||
|
|
||||||
set(version_str "${PROJECT_VERSION_MAJOR},${PROJECT_VERSION_MINOR},${PROJECT_VERSION_PATCH}")
|
set(version_str "${PROJECT_VERSION_MAJOR},${PROJECT_VERSION_MINOR},${PROJECT_VERSION_PATCH}")
|
||||||
add_definitions(-DRIBBONUIAPP_VERSION=${version_str})
|
add_definitions(-DRIBBONUIAPP_VERSION=${version_str})
|
||||||
|
|
||||||
|
@ -36,10 +48,11 @@ else()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
set(app_icon_resource_windows "${CMAKE_CURRENT_SOURCE_DIR}/resources/icon.rc")
|
configure_file(.cmake/win_app.rc.in ${CMAKE_BINARY_DIR}/win_app.rc)
|
||||||
|
set(app_icon_resource_windows ${CMAKE_BINARY_DIR}/win_app.rc)
|
||||||
qt_add_executable(${PROJECT_NAME}
|
qt_add_executable(${PROJECT_NAME}
|
||||||
${sources_files}
|
${sources_files}
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/resources/icon.rc"
|
${app_icon_resource_windows}
|
||||||
)
|
)
|
||||||
file(TO_CMAKE_PATH "/" PATH_SEPARATOR)
|
file(TO_CMAKE_PATH "/" PATH_SEPARATOR)
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||||
|
@ -55,8 +68,9 @@ if (WIN32)
|
||||||
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
||||||
)
|
)
|
||||||
elseif(APPLE)
|
elseif(APPLE)
|
||||||
|
configure_file(.cmake/MacOSXBundleInfo.plist.in ${CMAKE_BINARY_DIR}/Info.plist)
|
||||||
set(MACOSX_BUNDLE_ICON_FILE AppIcon)
|
set(MACOSX_BUNDLE_ICON_FILE AppIcon)
|
||||||
set(App_ICON "${CMAKE_CURRENT_SOURCE_DIR}/resources/imgs/AppIcon.icns")
|
set(App_ICON "${PROJECT_SOURCE_DIR}/resources/imgs/AppIcon.icns")
|
||||||
set_source_files_properties(${App_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
|
set_source_files_properties(${App_ICON} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
|
||||||
qt_add_executable(${PROJECT_NAME}
|
qt_add_executable(${PROJECT_NAME}
|
||||||
${sources_files}
|
${sources_files}
|
||||||
|
@ -73,15 +87,11 @@ qt_add_qml_module(${PROJECT_NAME}
|
||||||
VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
||||||
RESOURCE_PREFIX "/qt/qml/"
|
RESOURCE_PREFIX "/qt/qml/"
|
||||||
QML_FILES example.qml components/RibbonWindow.qml
|
QML_FILES example.qml components/RibbonWindow.qml
|
||||||
RESOURCES resources/imgs/heart.png resources/imgs/search.png resources/icon.rc
|
RESOURCES resources/imgs/heart.png resources/imgs/search.png
|
||||||
)
|
)
|
||||||
|
|
||||||
set_target_properties(${PROJECT_NAME} PROPERTIES
|
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||||
MACOSX_BUNDLE_GUI_IDENTIFIER ${PROJECT_DOMAIN}
|
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_BINARY_DIR}/Info.plist
|
||||||
MACOSX_BUNDLE_BUNDLE_VERSION ${PROJECT_VERSION}
|
|
||||||
MACOSX_BUNDLE_SHORT_VERSION_STRING ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
|
|
||||||
MACOSX_BUNDLE_BUNDLE_NAME ${PROJECT_BUNDLE_NAME}
|
|
||||||
MACOSX_BUNDLE_COPYRIGHT ${PROJECT_COPYRIGHT}
|
|
||||||
MACOSX_BUNDLE TRUE
|
MACOSX_BUNDLE TRUE
|
||||||
WIN32_EXECUTABLE TRUE
|
WIN32_EXECUTABLE TRUE
|
||||||
OUTPUT_NAME ${PROJECT_BUNDLE_NAME}
|
OUTPUT_NAME ${PROJECT_BUNDLE_NAME}
|
||||||
|
@ -106,4 +116,4 @@ else()
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
|
target_compile_definitions(${PROJECT_NAME} PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
|
||||||
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
target_include_directories(${PROJECT_NAME} PUBLIC ${PROJECT_SOURCE_DIR})
|
||||||
|
|
|
@ -4,6 +4,8 @@ project(RibbonUI VERSION ${PROJECT_VERSION} LANGUAGES CXX)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
|
|
||||||
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/.cmake/)
|
||||||
|
|
||||||
if(QT_VERSION VERSION_GREATER_EQUAL "6.3")
|
if(QT_VERSION VERSION_GREATER_EQUAL "6.3")
|
||||||
qt_standard_project_setup()
|
qt_standard_project_setup()
|
||||||
qt_policy(SET QTP0001 NEW)
|
qt_policy(SET QTP0001 NEW)
|
||||||
|
|
Loading…
Reference in New Issue