Skip to content

Commit 7b2be05

Browse files
committed
Fix compilation errors
Source: hampusborgos/rme#380 Cooperator: @Zbizu
1 parent ec61134 commit 7b2be05

10 files changed

Lines changed: 38 additions & 24 deletions

CMakeLists.txt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
cmake_minimum_required(VERSION 2.8)
1+
cmake_minimum_required(VERSION 3.1)
22

33
project(rme)
44

55
if(NOT CMAKE_BUILD_TYPE)
66
set(CMAKE_BUILD_TYPE RelWithDebInfo)
77
endif()
88

9-
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated-declarations -Wno-overloaded-virtual -std=c++0x -Wno-strict-aliasing -Wno-sign-compare -Wno-unused-function -Wunused-result")
9+
set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated-declarations -Wno-overloaded-virtual -Wno-strict-aliasing -Wno-sign-compare -Wno-unused-function -Wunused-result")
1010
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -D__DEBUG__")
1111
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG")
1212
set(CMAKE_CXX_FLAGS_RELEASE "-O4 -DNDEBUG")
@@ -27,10 +27,14 @@ find_package(Boost 1.34.0 COMPONENTS thread system REQUIRED)
2727
find_package(wxWidgets COMPONENTS html aui gl adv core net base REQUIRED)
2828

2929
find_package(GLUT REQUIRED)
30+
find_package(ZLIB REQUIRED)
3031

3132
include(${wxWidgets_USE_FILE})
3233
include(source/CMakeLists.txt)
3334
add_executable(rme ${rme_H} ${rme_SRC})
3435

35-
include_directories(${Boost_INCLUDE_DIRS} ${LibArchive_INCLUDE_DIRS} ${OPENGL_INCLUDE_DIR} ${GLUT_INCLUDE_DIRS})
36-
target_link_libraries(rme ${wxWidgets_LIBRARIES} ${Boost_LIBRARIES} ${LibArchive_LIBRARIES} ${OPENGL_LIBRARIES} ${GLUT_LIBRARY})
36+
set_target_properties(rme PROPERTIES CXX_STANDARD 17)
37+
set_target_properties(rme PROPERTIES CXX_STANDARD_REQUIRED ON)
38+
39+
include_directories(${Boost_INCLUDE_DIRS} ${LibArchive_INCLUDE_DIRS} ${OPENGL_INCLUDE_DIR} ${GLUT_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR})
40+
target_link_libraries(rme ${wxWidgets_LIBRARIES} ${Boost_LIBRARIES} ${LibArchive_LIBRARIES} ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES} ${ZLIB_LIBRARIES})

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,10 @@ Required libraries:
4040
* wxWidgets >= 3.0
4141
* Boost >= 1.55.0
4242

43+
### VCPKG libraries:
44+
* 32-bit : `vcpkg install wxwidgets freeglut asio nlohmann-json fmt libarchive boost-spirit`
45+
* 64-bit : `vcpkg install --triplet x64-windows wxwidgets freeglut asio nlohmann-json fmt libarchive boost-spirit`
46+
4347
[Compile on Windows](https://github.com/hjnilsson/rme/wiki/Compiling-on-Windows)
4448

4549
[Compile on Ubuntu](https://github.com/hjnilsson/rme/wiki/Compiling-on-Ubuntu)

source/dat_debug_view.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
class DatDebugViewListBox;
2222

23-
class DatDebugView : wxPanel
23+
class DatDebugView : public wxPanel
2424
{
2525
public:
2626
DatDebugView(wxWindow* parent);

source/gui.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ wxString GUI::GetDataDirectory()
140140
{
141141
exec_directory = dynamic_cast<wxStandardPaths&>(wxStandardPaths::Get()).GetExecutablePath();
142142
}
143-
catch(std::bad_cast)
143+
catch(const std::bad_cast)
144144
{
145145
throw; // Crash application (this should never happend anyways...)
146146
}
@@ -157,7 +157,7 @@ wxString GUI::GetExecDirectory()
157157
{
158158
exec_directory = dynamic_cast<wxStandardPaths&>(wxStandardPaths::Get()).GetExecutablePath();
159159
}
160-
catch(std::bad_cast)
160+
catch(const std::bad_cast)
161161
{
162162
wxLogError("Could not fetch executable directory.");
163163
}
@@ -1185,7 +1185,7 @@ void GUI::DestroyLoadBar()
11851185

11861186
void GUI::ShowWelcomeDialog(const wxBitmap &icon) {
11871187
std::vector<wxString> recent_files = root->GetRecentFiles();
1188-
welcomeDialog = newd WelcomeDialog(__W_RME_APPLICATION_NAME__, "Version " + __W_RME_VERSION__, root->FromDIP(wxSize(800, 480)), icon, recent_files);
1188+
welcomeDialog = newd WelcomeDialog(__W_RME_APPLICATION_NAME__, "Version " + __W_RME_VERSION__, FROM_DIP(root, wxSize(800, 480)), icon, recent_files);
11891189
welcomeDialog->Bind(wxEVT_CLOSE_WINDOW, &GUI::OnWelcomeDialogClosed, this);
11901190
welcomeDialog->Bind(WELCOME_DIALOG_ACTION, &GUI::OnWelcomeDialogAction, this);
11911191
welcomeDialog->Show();

source/main.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,4 +134,10 @@ typedef wxFileName FileName;
134134

135135
#include "rme_forward_declarations.h"
136136

137+
#if wxCHECK_VERSION(3, 1, 0)
138+
#define FROM_DIP(widget, size) widget->FromDIP(size)
139+
#else
140+
#define FROM_DIP(widget, size) size
141+
#endif
142+
137143
#endif

source/main_menubar.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -552,7 +552,7 @@ bool MainMenuBar::Load(const FileName& path, wxArrayString& warnings, wxString&
552552
entries[0].Set(wxACCEL_CTRL, (int)'Z', MAIN_FRAME_MENU + MenuBar::UNDO);
553553
entries[1].Set(wxACCEL_CTRL | wxACCEL_SHIFT, (int)'Z', MAIN_FRAME_MENU + MenuBar::REDO);
554554
entries[2].Set(wxACCEL_CTRL, (int)'F', MAIN_FRAME_MENU + MenuBar::FIND_ITEM);
555-
entries[3].Set(wxACCEL_CTRL | wxACCEL_SHIFT, (int)'F', MAIN_FRAME_MENU + MenuBar::REPLACE_ITEM);
555+
entries[3].Set(wxACCEL_CTRL | wxACCEL_SHIFT, (int)'F', MAIN_FRAME_MENU + MenuBar::REPLACE_ITEMS);
556556
entries[4].Set(wxACCEL_NORMAL, (int)'A', MAIN_FRAME_MENU + MenuBar::AUTOMAGIC);
557557
entries[5].Set(wxACCEL_CTRL, (int)'B', MAIN_FRAME_MENU + MenuBar::BORDERIZE_SELECTION);
558558
entries[6].Set(wxACCEL_NORMAL, (int)'P', MAIN_FRAME_MENU + MenuBar::GOTO_PREVIOUS_POSITION);

source/main_menubar.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ namespace MenuBar
163163

164164
class MainFrame;
165165

166-
class MainMenuBar : wxEvtHandler
166+
class MainMenuBar : public wxEvtHandler
167167
{
168168
public:
169169
MainMenuBar(MainFrame* frame);

source/main_toolbar.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ inline wxBitmap* _wxGetBitmapFromMemory(const unsigned char* data, int length)
4242

4343
MainToolBar::MainToolBar(wxWindow* parent, wxAuiManager* manager)
4444
{
45-
wxSize icon_size = parent->FromDIP(wxSize(16, 16));
45+
wxSize icon_size = FROM_DIP(parent, wxSize(16, 16));
4646
wxBitmap new_bitmap = wxArtProvider::GetBitmap(wxART_NEW, wxART_TOOLBAR, icon_size);
4747
wxBitmap open_bitmap = wxArtProvider::GetBitmap(wxART_FILE_OPEN, wxART_TOOLBAR, icon_size);
4848
wxBitmap save_bitmap = wxArtProvider::GetBitmap(wxART_FILE_SAVE, wxART_TOOLBAR, icon_size);
@@ -110,11 +110,11 @@ MainToolBar::MainToolBar(wxWindow* parent, wxAuiManager* manager)
110110

111111
position_toolbar = newd wxAuiToolBar(parent, TOOLBAR_POSITION, wxDefaultPosition, wxDefaultSize, wxAUI_TB_DEFAULT_STYLE | wxAUI_TB_HORZ_TEXT);
112112
position_toolbar->SetToolBitmapSize(icon_size);
113-
x_control = newd NumberTextCtrl(position_toolbar, wxID_ANY, 0, 0, MAP_MAX_WIDTH, wxTE_PROCESS_ENTER, "X", wxDefaultPosition, parent->FromDIP(wxSize(60, 20)));
113+
x_control = newd NumberTextCtrl(position_toolbar, wxID_ANY, 0, 0, MAP_MAX_WIDTH, wxTE_PROCESS_ENTER, "X", wxDefaultPosition, FROM_DIP(parent, wxSize(60, 20)));
114114
x_control->SetToolTip("X Coordinate");
115-
y_control = newd NumberTextCtrl(position_toolbar, wxID_ANY, 0, 0, MAP_MAX_HEIGHT, wxTE_PROCESS_ENTER, "Y", wxDefaultPosition, parent->FromDIP(wxSize(60, 20)));
115+
y_control = newd NumberTextCtrl(position_toolbar, wxID_ANY, 0, 0, MAP_MAX_HEIGHT, wxTE_PROCESS_ENTER, "Y", wxDefaultPosition, FROM_DIP(parent, wxSize(60, 20)));
116116
y_control->SetToolTip("Y Coordinate");
117-
z_control = newd NumberTextCtrl(position_toolbar, wxID_ANY, 0, 0, MAP_MAX_LAYER, wxTE_PROCESS_ENTER, "Z", wxDefaultPosition, parent->FromDIP(wxSize(35, 20)));
117+
z_control = newd NumberTextCtrl(position_toolbar, wxID_ANY, 0, 0, MAP_MAX_LAYER, wxTE_PROCESS_ENTER, "Z", wxDefaultPosition, FROM_DIP(parent, wxSize(35, 20)));
118118
z_control->SetToolTip("Z Coordinate");
119119
go_button = newd wxButton(position_toolbar, TOOLBAR_POSITION_GO, wxEmptyString, wxDefaultPosition, parent->FromDIP(wxSize(22, 20)));
120120
go_button->SetBitmap(go_bitmap);

source/preferences.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,7 @@ wxNotebookPage* PreferencesWindow::CreateClientPage()
529529
topsizer->AddSpacer(10);
530530

531531
wxScrolledWindow *client_list_window = newd wxScrolledWindow(client_page, wxID_ANY, wxDefaultPosition, wxDefaultSize);
532-
client_list_window->SetMinSize(FromDIP(wxSize(450, 450)));
532+
client_list_window->SetMinSize(FROM_DIP(this, wxSize(450, 450)));
533533
auto * client_list_sizer = newd wxFlexGridSizer(2, 10, 10);
534534
client_list_sizer->AddGrowableCol(1);
535535

source/welcome_dialog.cpp

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ WelcomeDialog::WelcomeDialog(const wxString& title_text,
3535
title_text,
3636
version_text,
3737
base_colour,
38-
wxBitmap(rme_logo.ConvertToImage().Scale(FromDIP(48), FromDIP(48))),
38+
wxBitmap(rme_logo.ConvertToImage().Scale(FROM_DIP(this, 48), FROM_DIP(this, 48))),
3939
recent_files);
4040
}
4141

@@ -104,7 +104,7 @@ WelcomeDialogPanel::WelcomeDialogPanel(WelcomeDialog *dialog,
104104
recent_maps_panel->SetMaxSize(wxSize(size.x / 2, size.y));
105105
recent_maps_panel->SetBackgroundColour(base_colour.ChangeLightness(98));
106106

107-
wxSize button_size = FromDIP(wxSize(150, 35));
107+
wxSize button_size = FROM_DIP(this, wxSize(150, 35));
108108
wxColour button_base_colour = base_colour.ChangeLightness(90);
109109

110110
int button_pos_center_x = size.x / 4 - button_size.x / 2;
@@ -139,9 +139,9 @@ WelcomeDialogPanel::WelcomeDialogPanel(WelcomeDialog *dialog,
139139
wxSizer *rootSizer = newd wxBoxSizer(wxHORIZONTAL);
140140
wxSizer *buttons_sizer = newd wxBoxSizer(wxVERTICAL);
141141
buttons_sizer->AddSpacer(size.y / 2);
142-
buttons_sizer->Add(new_map_button, 0, wxALIGN_CENTER | wxTOP, FromDIP(10));
143-
buttons_sizer->Add(open_map_button, 0, wxALIGN_CENTER | wxTOP, FromDIP(10));
144-
buttons_sizer->Add(preferences_button, 0, wxALIGN_CENTER | wxTOP, FromDIP(10));
142+
buttons_sizer->Add(new_map_button, 0, wxALIGN_CENTER | wxTOP, FROM_DIP(this, 10));
143+
buttons_sizer->Add(open_map_button, 0, wxALIGN_CENTER | wxTOP, FROM_DIP(this, 10));
144+
buttons_sizer->Add(preferences_button, 0, wxALIGN_CENTER | wxTOP, FROM_DIP(this, 10));
145145

146146
wxSizer *vertical_sizer = newd wxBoxSizer(wxVERTICAL);
147147
wxSizer *horizontal_sizer = newd wxBoxSizer(wxHORIZONTAL);
@@ -150,7 +150,7 @@ WelcomeDialogPanel::WelcomeDialogPanel(WelcomeDialog *dialog,
150150
m_show_welcome_dialog_checkbox->SetValue(g_settings.getInteger(Config::WELCOME_DIALOG) == 1);
151151
m_show_welcome_dialog_checkbox->Bind(wxEVT_CHECKBOX, &WelcomeDialog::OnCheckboxClicked, dialog);
152152
m_show_welcome_dialog_checkbox->SetBackgroundColour(m_background_colour);
153-
horizontal_sizer->Add(m_show_welcome_dialog_checkbox, 0, wxALIGN_BOTTOM | wxALL, FromDIP(10));
153+
horizontal_sizer->Add(m_show_welcome_dialog_checkbox, 0, wxALIGN_BOTTOM | wxALL, FROM_DIP(this, 10));
154154
vertical_sizer->Add(buttons_sizer, 1, wxEXPAND);
155155
vertical_sizer->Add(horizontal_sizer, 1, wxEXPAND);
156156

@@ -170,7 +170,7 @@ void WelcomeDialogPanel::OnPaint(const wxPaintEvent &event) {
170170
dc.SetPen(wxPen(m_background_colour));
171171
dc.DrawRectangle(wxRect(wxPoint(0, 0), GetClientSize()));
172172

173-
dc.DrawBitmap(m_rme_logo, wxPoint(GetSize().x / 4 - m_rme_logo.GetWidth() / 2, FromDIP(40)), true);
173+
dc.DrawBitmap(m_rme_logo, wxPoint(GetSize().x / 4 - m_rme_logo.GetWidth() / 2, FROM_DIP(this, 40)), true);
174174

175175
wxFont font = GetFont();
176176
font.SetPointSize(18);
@@ -260,8 +260,8 @@ RecentItem::RecentItem(wxWindow *parent,
260260
wxBoxSizer *mainSizer = newd wxBoxSizer(wxHORIZONTAL);
261261
wxBoxSizer *sizer = newd wxBoxSizer(wxVERTICAL);
262262
sizer->Add(m_title);
263-
sizer->Add(m_file_path, 1, wxTOP, FromDIP(2));
264-
mainSizer->Add(sizer, 0, wxEXPAND | wxALL, FromDIP(8));
263+
sizer->Add(m_file_path, 1, wxTOP, FROM_DIP(this, 2));
264+
mainSizer->Add(sizer, 0, wxEXPAND | wxALL, FROM_DIP(this, 8));
265265
Bind(wxEVT_ENTER_WINDOW, &RecentItem::OnMouseEnter, this);
266266
Bind(wxEVT_LEAVE_WINDOW, &RecentItem::OnMouseLeave, this);
267267
m_title->Bind(wxEVT_LEFT_UP, &RecentItem::PropagateItemClicked, this);

0 commit comments

Comments
 (0)