From 35a89676b4eec7db30e88ab22055f560cb442744 Mon Sep 17 00:00:00 2001 From: Twan van Laarhoven Date: Wed, 8 Apr 2020 00:18:14 +0200 Subject: [PATCH] CMake file Update to C++ 11: std::shared_ptr, for each loops Update to wxWidgets 3.0+ --- CMakeLists.txt | 39 +++++++ src/cli/cli_main.cpp | 2 +- src/data/action/keyword.cpp | 3 +- src/data/action/value.cpp | 6 +- src/data/action/value.hpp | 2 +- src/data/add_cards_script.cpp | 2 +- src/data/field/choice.hpp | 1 + src/data/font.cpp | 4 +- src/data/format/mtg_editor.cpp | 2 +- src/data/keyword.cpp | 1 - src/data/locale.cpp | 2 +- src/gui/about_window.cpp | 2 +- src/gui/auto_replace_window.cpp | 8 +- src/gui/control/graph.cpp | 2 +- src/gui/control/package_list.cpp | 2 +- src/gui/package_update_list.cpp | 5 +- src/gui/set/style_panel.cpp | 4 +- src/gui/symbol/control.cpp | 2 +- src/gui/symbol/point_editor.cpp | 2 +- src/gui/symbol/select_editor.cpp | 2 +- src/gui/symbol/symmetry_editor.cpp | 8 +- src/gui/symbol/window.cpp | 7 +- src/gui/util.cpp | 22 ++-- src/gui/value/image.cpp | 2 +- src/gui/value/symbol.cpp | 2 +- src/gui/value/text.cpp | 2 +- src/gui/welcome_window.cpp | 6 +- src/render/symbol/viewer.cpp | 6 +- src/render/value/image.cpp | 2 +- src/render/value/viewer.cpp | 4 +- src/script/context.cpp | 2 +- src/script/dependency.cpp | 10 +- src/script/functions/basic.cpp | 33 ++++-- src/script/functions/construction.cpp | 2 +- src/script/functions/editor.cpp | 2 +- src/script/image.hpp | 2 +- src/script/script.hpp | 40 +++---- src/script/value.cpp | 32 +++--- src/script/value.hpp | 8 +- src/util/error.cpp | 4 + src/util/error.hpp | 4 +- src/util/for_each.hpp | 94 ++++----------- src/util/io/package.cpp | 15 +-- src/util/io/package.hpp | 2 +- src/util/io/reader.cpp | 4 +- src/util/io/reader.hpp | 2 +- src/util/io/writer.hpp | 3 +- src/util/prec.hpp | 6 +- src/util/reflect.hpp | 136 +++++++++++----------- src/util/regex.cpp | 11 +- src/util/regex.hpp | 20 +++- src/util/smart_ptr.hpp | 158 ++++++-------------------- src/util/string.hpp | 14 ++- 53 files changed, 343 insertions(+), 415 deletions(-) create mode 100644 CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..436fdd75 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,39 @@ +cmake_minimum_required(VERSION 3.13) + +project(magicseteditor VERSION 2.2.0) + +set(CMAKE_CXX_STANDARD 11) +set(CMAKE_CXX_STANDARD_REQUIRED True) + +find_package(wxWidgets 3 REQUIRED COMPONENTS core base net html) +find_package(Boost REQUIRED COMPONENTS regex) + +# find hunspell +#find_package(HUNSPELL) +find_path(HUNSPELL_INCLUDE_DIRS hunspell/hunspell.hxx) +find_library(HUNSPELL_LIBRARIES NAMES hunspell libhunspell) + + +include_directories("${PROJECT_BINARY_DIR}/src") +include_directories("${PROJECT_SOURCE_DIR}/src") +include(${wxWidgets_USE_FILE}) +include_directories(${Boost_INCLUDE_DIRS}) +include_directories(${HUNSPELL_INCLUDE_DIRS}) + +add_executable(magicseteditor WIN32) +target_link_libraries(${PROJECT_NAME} ${wxWidgets_LIBRARIES}) +target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES}) +target_link_libraries(${PROJECT_NAME} ${HUNSPELL_LIBRARIES}) + +file(GLOB_RECURSE sources src/*.cpp) +target_sources(magicseteditor PRIVATE ${sources}) +target_precompile_headers(magicseteditor PRIVATE src/util/prec.hpp) + +# warnings +if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) + # Update if necessary + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-comment") +endif() + +# visual studio debugger +set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT magicseteditor) \ No newline at end of file diff --git a/src/cli/cli_main.cpp b/src/cli/cli_main.cpp index 470e6295..f3b8cde0 100644 --- a/src/cli/cli_main.cpp +++ b/src/cli/cli_main.cpp @@ -125,7 +125,7 @@ void CLISetInterface::handleCommand(const String& command) { // :something size_t space = min(command.find_first_of(_(' ')), command.size()); String before = command.substr(0,space); - String arg = space + 1 < command.size() ? command.substr(space+1) : wxEmptyString; + String arg = space + 1 < command.size() ? command.substr(space+1) : String(); if (before == _(":q") || before == _(":quit")) { if (!quiet) { cli << _("Goodbye\n"); diff --git a/src/data/action/keyword.cpp b/src/data/action/keyword.cpp index edc5c25b..8187c313 100644 --- a/src/data/action/keyword.cpp +++ b/src/data/action/keyword.cpp @@ -146,7 +146,8 @@ void KeywordReminderTextValue::highlight(const String& code, const vector