我有一个构建MACOSX_BUNDLE
可执行文件的CMakeLists.txt脚本,但我很难找到将图标文件放入bundle资源目录的"正确方法".我用以下设置图标包属性:
# set icon
set( ICON_NAME "MyApp.icns" )
set( ICON_PATH "${PROJECT_SOURCE_DIR}/../data/${ICON_NAME}" )
set_target_properties( MyApp PROPERTIES MACOSX_BUNDLE_ICON_FILE ${ICON_NAME} )
Run Code Online (Sandbox Code Playgroud)
看来正确的方法(如现有帖子中所示)应该是:
set_source_files_properties( ${ICON_PATH} PROPERTIES MACOSX_PACKAGE_LOCATION Resources )
Run Code Online (Sandbox Code Playgroud)
但是,没有MyApp.app/Contents/Resources,也没有复制MyApp.icns ..以下是(在我看来)一个解决方法:
file( COPY ${ICON_PATH} DESTINATION "MyApp.app/Contents/Resources/" )
Run Code Online (Sandbox Code Playgroud)
因为我经常把东西复制到resouces文件夹中,我宁愿用'正确的方式'来做,但是有人能说出为什么这不起作用,因为我已经在上面做了吗?
您还必须将图标(带完整路径)作为资源添加到可执行文件中:
add_executable( MyApp MACOSX_BUNDLE main.cpp ${ICON_PATH})
Run Code Online (Sandbox Code Playgroud)
然后它会自动复制到资源文件夹.
归档时间: |
|
查看次数: |
2735 次 |
最近记录: |