Skip to content

Commit b0b4ebc

Browse files
author
larspalo
committed
Changed paths and cmake file to get a working crossbuild for windows
1 parent dcc518d commit b0b4ebc

File tree

2 files changed

+28
-22
lines changed

2 files changed

+28
-22
lines changed

CMakeLists.txt

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -77,18 +77,21 @@ if(CMAKE_CROSSCOMPILING AND WIN32)
7777
message(STATUS "Creating ${CMAKE_PROJECT_NAME}.ico")
7878
execute_process(COMMAND ${ImageMagick_convert_EXECUTABLE} -background none -resize 256x256 "${CMAKE_SOURCE_DIR}/resources/icons/${CMAKE_PROJECT_NAME}.svg" "${CMAKE_PROJECT_NAME}.ico" WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/share)
7979
endif()
80-
else()
81-
if(NOT EXISTS "${CMAKE_BINARY_DIR}/share/icons/hicolor/${ICON_SIZE}x${ICON_SIZE}/apps/${CMAKE_PROJECT_NAME}.png")
82-
set(ICON_SIZES 16 24 32 48 64 128 256 512 1024)
83-
foreach(ICON_SIZE IN ITEMS ${ICON_SIZES})
84-
message(STATUS "Creating ${CMAKE_PROJECT_NAME}.png in size ${ICON_SIZE}x${ICON_SIZE}")
85-
execute_process(COMMAND mkdir -p share/icons/hicolor/${ICON_SIZE}x${ICON_SIZE}/apps WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
86-
execute_process(COMMAND ${ImageMagick_convert_EXECUTABLE} -background none -resize ${ICON_SIZE}x${ICON_SIZE} "${CMAKE_SOURCE_DIR}/resources/icons/${CMAKE_PROJECT_NAME}.svg" "${CMAKE_PROJECT_NAME}.png" WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/share/icons/hicolor/${ICON_SIZE}x${ICON_SIZE}/apps)
87-
endforeach()
88-
# Copy desktop file for linux
89-
message(STATUS "Creating ${CMAKE_PROJECT_NAME}.desktop")
90-
configure_file(${CMAKE_SOURCE_DIR}/resources/${CMAKE_PROJECT_NAME}.desktop.in ${CMAKE_BINARY_DIR}/share/${CMAKE_PROJECT_NAME}/applications/${CMAKE_PROJECT_NAME}.desktop COPYONLY)
91-
endif()
80+
endif()
81+
82+
if(NOT EXISTS "${CMAKE_BINARY_DIR}/share/icons/hicolor/${ICON_SIZE}x${ICON_SIZE}/apps/${CMAKE_PROJECT_NAME}.png")
83+
set(ICON_SIZES 16 24 32 48 64 128 256 512 1024)
84+
foreach(ICON_SIZE IN ITEMS ${ICON_SIZES})
85+
message(STATUS "Creating ${CMAKE_PROJECT_NAME}.png in size ${ICON_SIZE}x${ICON_SIZE}")
86+
execute_process(COMMAND mkdir -p share/icons/hicolor/${ICON_SIZE}x${ICON_SIZE}/apps WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
87+
execute_process(COMMAND ${ImageMagick_convert_EXECUTABLE} -background none -resize ${ICON_SIZE}x${ICON_SIZE} "${CMAKE_SOURCE_DIR}/resources/icons/${CMAKE_PROJECT_NAME}.svg" "${CMAKE_PROJECT_NAME}.png" WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/share/icons/hicolor/${ICON_SIZE}x${ICON_SIZE}/apps)
88+
endforeach()
89+
endif()
90+
91+
# Copy desktop file for linux
92+
if(UNIX AND NOT APPLE)
93+
message(STATUS "Creating ${CMAKE_PROJECT_NAME}.desktop")
94+
configure_file(${CMAKE_SOURCE_DIR}/resources/${CMAKE_PROJECT_NAME}.desktop.in ${CMAKE_BINARY_DIR}/share/${CMAKE_PROJECT_NAME}/applications/${CMAKE_PROJECT_NAME}.desktop COPYONLY)
9295
endif()
9396

9497
set(APP_SRC
@@ -196,8 +199,8 @@ endif()
196199

197200
# installation rules
198201
install(TARGETS ${CMAKE_PROJECT_NAME} DESTINATION bin)
202+
install(DIRECTORY ${CMAKE_BINARY_DIR}/share/icons/ DESTINATION share/icons FILES_MATCHING PATTERN "*.png")
199203
if(UNIX AND NOT APPLE)
200-
install(DIRECTORY ${CMAKE_BINARY_DIR}/share/icons/ DESTINATION share/icons FILES_MATCHING PATTERN "*.png")
201204
install(FILES ${CMAKE_BINARY_DIR}/share/${CMAKE_PROJECT_NAME}/applications/${CMAKE_PROJECT_NAME}.desktop DESTINATION share/${CMAKE_PROJECT_NAME}/applications)
202205
endif()
203206

src/GOODF.cpp

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,18 @@ bool GOODF::OnInit() {
4343

4444
// Load icons
4545
wxImage::AddHandler(new wxPNGHandler);
46-
m_icons = wxIconBundle(wxIcon(ResourceDir + wxFILE_SEP_PATH + wxT("icons/hicolor/16x16/apps/GOODF.png"), wxBITMAP_TYPE_PNG));
47-
m_icons.AddIcon(wxIcon(ResourceDir + wxFILE_SEP_PATH + wxT("icons/hicolor/24x24/apps/GOODF.png"), wxBITMAP_TYPE_PNG));
48-
m_icons.AddIcon(wxIcon(ResourceDir + wxFILE_SEP_PATH + wxT("icons/hicolor/32x32/apps/GOODF.png"), wxBITMAP_TYPE_PNG));
49-
m_icons.AddIcon(wxIcon(ResourceDir + wxFILE_SEP_PATH + wxT("icons/hicolor/48x48/apps/GOODF.png"), wxBITMAP_TYPE_PNG));
50-
m_icons.AddIcon(wxIcon(ResourceDir + wxFILE_SEP_PATH + wxT("icons/hicolor/64x64/apps/GOODF.png"), wxBITMAP_TYPE_PNG));
51-
m_icons.AddIcon(wxIcon(ResourceDir + wxFILE_SEP_PATH + wxT("icons/hicolor/128x128/apps/GOODF.png"), wxBITMAP_TYPE_PNG));
52-
m_icons.AddIcon(wxIcon(ResourceDir + wxFILE_SEP_PATH + wxT("icons/hicolor/256x256/apps/GOODF.png"), wxBITMAP_TYPE_PNG));
53-
m_icons.AddIcon(wxIcon(ResourceDir + wxFILE_SEP_PATH + wxT("icons/hicolor/512x512/apps/GOODF.png"), wxBITMAP_TYPE_PNG));
54-
m_icons.AddIcon(wxIcon(ResourceDir + wxFILE_SEP_PATH + wxT("icons/hicolor/1024x1024/apps/GOODF.png"), wxBITMAP_TYPE_PNG));
46+
wxString iconPath = ResourceDir + wxFILE_SEP_PATH + wxT("icons") + wxFILE_SEP_PATH + wxT("hicolor");
47+
wxString appsPath = wxT("apps");
48+
wxString imgPath = appsPath + wxFILE_SEP_PATH + wxT("GOODF.png");
49+
m_icons = wxIconBundle(wxIcon(iconPath + wxFILE_SEP_PATH + wxT("16x16") + wxFILE_SEP_PATH + imgPath, wxBITMAP_TYPE_PNG));
50+
m_icons.AddIcon(wxIcon(iconPath + wxFILE_SEP_PATH + wxT("24x24") + wxFILE_SEP_PATH + imgPath, wxBITMAP_TYPE_PNG));
51+
m_icons.AddIcon(wxIcon(iconPath + wxFILE_SEP_PATH + wxT("32x32") + wxFILE_SEP_PATH + imgPath, wxBITMAP_TYPE_PNG));
52+
m_icons.AddIcon(wxIcon(iconPath + wxFILE_SEP_PATH + wxT("48x48") + wxFILE_SEP_PATH + imgPath, wxBITMAP_TYPE_PNG));
53+
m_icons.AddIcon(wxIcon(iconPath + wxFILE_SEP_PATH + wxT("64x64") + wxFILE_SEP_PATH + imgPath, wxBITMAP_TYPE_PNG));
54+
m_icons.AddIcon(wxIcon(iconPath + wxFILE_SEP_PATH + wxT("128x128") + wxFILE_SEP_PATH + imgPath, wxBITMAP_TYPE_PNG));
55+
m_icons.AddIcon(wxIcon(iconPath + wxFILE_SEP_PATH + wxT("256x256") + wxFILE_SEP_PATH + imgPath, wxBITMAP_TYPE_PNG));
56+
m_icons.AddIcon(wxIcon(iconPath + wxFILE_SEP_PATH + wxT("512x512") + wxFILE_SEP_PATH + imgPath, wxBITMAP_TYPE_PNG));
57+
m_icons.AddIcon(wxIcon(iconPath + wxFILE_SEP_PATH + wxT("1024x1024") + wxFILE_SEP_PATH + imgPath, wxBITMAP_TYPE_PNG));
5558

5659
m_frame->SetIcons(m_icons);
5760

0 commit comments

Comments
 (0)