[nostalgia/studio] Get building in MSVC

This commit is contained in:
Gary Talent 2020-02-15 11:45:03 -06:00
parent e927c51b61
commit 1ec8d721f1
7 changed files with 20 additions and 9 deletions

View File

@ -18,6 +18,7 @@ endif()
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules) list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
include(GenerateExportHeader)
include(address_sanitizer) include(address_sanitizer)
set(NOSTALGIA_CONAN_PATHS ${CMAKE_SOURCE_DIR}/conanbuild/conan_paths.cmake) set(NOSTALGIA_CONAN_PATHS ${CMAKE_SOURCE_DIR}/conanbuild/conan_paths.cmake)

View File

@ -67,7 +67,7 @@ class UpdatePixelsCommand: public QUndoCommand {
return item < o.item; return item < o.item;
} }
operator auto() const { operator quint64() const {
return reinterpret_cast<quint64>(item.data()); return reinterpret_cast<quint64>(item.data());
} }
}; };

View File

@ -14,6 +14,9 @@ add_library(
install(TARGETS NostalgiaStudio install(TARGETS NostalgiaStudio
LIBRARY DESTINATION ${NOSTALGIA_DIST_LIB}/nostalgia) LIBRARY DESTINATION ${NOSTALGIA_DIST_LIB}/nostalgia)
generate_export_header(NostalgiaStudio)
target_include_directories(NostalgiaStudio PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
target_link_libraries( target_link_libraries(
NostalgiaStudio PUBLIC NostalgiaStudio PUBLIC
Qt5::Widgets Qt5::Widgets
@ -31,6 +34,7 @@ install(
wizard.hpp wizard.hpp
plugin.hpp plugin.hpp
project.hpp project.hpp
${PROJECT_BINARY_DIR}/nostalgiastudio_export.h
DESTINATION DESTINATION
include/nostalgia/studio/lib include/nostalgia/studio/lib
) )

View File

@ -11,9 +11,11 @@
#include <QUndoStack> #include <QUndoStack>
#include <QWidget> #include <QWidget>
#include "nostalgiastudio_export.h"
namespace nostalgia::studio { namespace nostalgia::studio {
class Editor: public QWidget { class NOSTALGIASTUDIO_EXPORT Editor: public QWidget {
Q_OBJECT Q_OBJECT
public: public:

View File

@ -15,9 +15,11 @@
#include <ox/fs/fs.hpp> #include <ox/fs/fs.hpp>
#include <ox/mc/mc.hpp> #include <ox/mc/mc.hpp>
#include "nostalgiastudio_export.h"
namespace nostalgia::studio { namespace nostalgia::studio {
class Project: public QObject { class NOSTALGIASTUDIO_EXPORT Project: public QObject {
Q_OBJECT Q_OBJECT
private: private:

View File

@ -55,7 +55,7 @@ bool WizardSelect::isComplete() const {
void WizardSelect::itemSelected(int row) { void WizardSelect::itemSelected(int row) {
auto w = dynamic_cast<Wizard*>(wizard()); auto w = dynamic_cast<Wizard*>(wizard());
if (w and row > -1) { if (w && row > -1) {
// remove other pages // remove other pages
while (nextId() > -1) { while (nextId() > -1) {
w->removePage(nextId()); w->removePage(nextId());

View File

@ -21,15 +21,17 @@
#include <QVector> #include <QVector>
#include <QWizard> #include <QWizard>
#include "nostalgiastudio_export.h"
namespace nostalgia::studio { namespace nostalgia::studio {
struct WizardMaker { struct NOSTALGIASTUDIO_EXPORT WizardMaker {
QString name; QString name;
std::function<QVector<QWizardPage*>()> make; std::function<QVector<QWizardPage*>()> make;
std::function<int(QWizard*)> onAccept = [](QWizard*) { return 0; }; std::function<int(QWizard*)> onAccept = [](QWizard*) { return 0; };
}; };
class WizardSelect: public QWizardPage { class NOSTALGIASTUDIO_EXPORT WizardSelect: public QWizardPage {
Q_OBJECT Q_OBJECT
private: private:
@ -56,7 +58,7 @@ class WizardSelect: public QWizardPage {
}; };
class WizardFormPage: public QWizardPage { class NOSTALGIASTUDIO_EXPORT WizardFormPage: public QWizardPage {
Q_OBJECT Q_OBJECT
private: private:
@ -103,7 +105,7 @@ class WizardFormPage: public QWizardPage {
}; };
class WizardConclusionPage: public QWizardPage { class NOSTALGIASTUDIO_EXPORT WizardConclusionPage: public QWizardPage {
Q_OBJECT Q_OBJECT
private: private:
QString m_baseMsg = ""; QString m_baseMsg = "";
@ -119,7 +121,7 @@ class WizardConclusionPage: public QWizardPage {
}; };
class Wizard: public QWizard { class NOSTALGIASTUDIO_EXPORT Wizard: public QWizard {
Q_OBJECT Q_OBJECT
private: private:
std::function<int(QWizard*)> m_acceptFunc; std::function<int(QWizard*)> m_acceptFunc;