Skip to content

Commit ea15b60

Browse files
committed
[feat] global: add application icon
1 parent 1be0a31 commit ea15b60

2 files changed

Lines changed: 15 additions & 1 deletion

File tree

src/CMakeLists.txt

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,27 @@ function(configure_target target_name)
6969
opencv_core opencv_imgproc opencv_highgui opencv_imgcodecs
7070
opencv_videoio opencv_video opencv_calib3d opencv_photo opencv_features2d)
7171
elseif(WIN32)
72+
set(app_icon_win "${CMAKE_SOURCE_DIR}/src/assets/icon.rc")
73+
target_sources(${target_name} PRIVATE ${app_icon_win})
7274
target_compile_options(${target_name} PRIVATE -O3)
75+
set(MACOSX_BUNDLE_ICON_FILE "${CMAKE_SOURCE_DIR}/src/assets/icon.icns")
7376
target_include_directories(${target_name} PRIVATE "${CMAKE_SOURCE_DIR}/OpenCV_MinGW_64/include" ${CMAKE_CURRENT_SOURCE_DIR})
7477
target_link_libraries(${target_name} PRIVATE
7578
Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Sql Qt6::Network
7679
"${CMAKE_SOURCE_DIR}/OpenCV_MinGW_64/lib/libopencv_world4100.dll.a"
7780
)
7881
elseif(APPLE)
79-
set_target_properties(${target_name} PROPERTIES MACOSX_BUNDLE TRUE)
82+
set_target_properties(${target_name} PROPERTIES
83+
MACOSX_BUNDLE TRUE
84+
MACOSX_BUNDLE_ICON_FILE "icon.icns"
85+
)
86+
87+
set(app_icon_macos "${CMAKE_SOURCE_DIR}/src/assets/icon.icns")
88+
set_source_files_properties(${app_icon_macos} PROPERTIES
89+
MACOSX_PACKAGE_LOCATION "Resources"
90+
)
91+
target_sources(${target_name} PRIVATE ${app_icon_macos})
92+
8093
target_compile_options(${target_name} PRIVATE -std=c++1z -stdlib=libc++ -O3)
8194
find_package(PkgConfig REQUIRED)
8295
pkg_check_modules(OPENCV REQUIRED opencv4)

src/assets/icon.rc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
IDI_ICON1 ICON "icon.ico"

0 commit comments

Comments
 (0)