mirror of
https://github.com/vcmi/vcmi.git
synced 2025-01-24 03:47:18 +02:00
Merge pull request #4726 from wb180/vcmiqt_lib
Separate vcmiqt static lib
This commit is contained in:
commit
1687606a4b
@ -662,6 +662,10 @@ if(NOT TARGET minizip::minizip)
|
|||||||
add_library(minizip::minizip ALIAS minizip)
|
add_library(minizip::minizip ALIAS minizip)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(ENABLE_LAUNCHER OR ENABLE_EDITOR)
|
||||||
|
add_subdirectory(vcmiqt)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(ENABLE_LAUNCHER)
|
if(ENABLE_LAUNCHER)
|
||||||
add_subdirectory(launcher)
|
add_subdirectory(launcher)
|
||||||
endif()
|
endif()
|
||||||
|
@ -20,8 +20,6 @@ set(launcher_SRCS
|
|||||||
innoextract.cpp
|
innoextract.cpp
|
||||||
mainwindow_moc.cpp
|
mainwindow_moc.cpp
|
||||||
languages.cpp
|
languages.cpp
|
||||||
launcherdirs.cpp
|
|
||||||
jsonutils.cpp
|
|
||||||
updatedialog_moc.cpp
|
updatedialog_moc.cpp
|
||||||
prepare.cpp
|
prepare.cpp
|
||||||
)
|
)
|
||||||
@ -49,8 +47,6 @@ set(launcher_HEADERS
|
|||||||
firstLaunch/firstlaunch_moc.h
|
firstLaunch/firstlaunch_moc.h
|
||||||
mainwindow_moc.h
|
mainwindow_moc.h
|
||||||
languages.h
|
languages.h
|
||||||
launcherdirs.h
|
|
||||||
jsonutils.h
|
|
||||||
updatedialog_moc.h
|
updatedialog_moc.h
|
||||||
main.h
|
main.h
|
||||||
helper.h
|
helper.h
|
||||||
@ -206,7 +202,7 @@ elseif(NOT APPLE_IOS)
|
|||||||
target_link_libraries(vcmilauncher SDL2::SDL2)
|
target_link_libraries(vcmilauncher SDL2::SDL2)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(vcmilauncher vcmi Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network)
|
target_link_libraries(vcmilauncher vcmi vcmiqt Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network)
|
||||||
target_include_directories(vcmilauncher
|
target_include_directories(vcmilauncher
|
||||||
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
@ -18,24 +18,8 @@
|
|||||||
#include <QList>
|
#include <QList>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QTemporaryDir>
|
#include <QTemporaryDir>
|
||||||
|
|
||||||
|
#include "../vcmiqt/convpathqstring.h"
|
||||||
|
|
||||||
VCMI_LIB_USING_NAMESPACE
|
VCMI_LIB_USING_NAMESPACE
|
||||||
|
|
||||||
inline QString pathToQString(const boost::filesystem::path & path)
|
|
||||||
{
|
|
||||||
#ifdef VCMI_WINDOWS
|
|
||||||
return QString::fromStdWString(path.wstring());
|
|
||||||
#else
|
|
||||||
return QString::fromStdString(path.string());
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
inline boost::filesystem::path qstringToPath(const QString & path)
|
|
||||||
{
|
|
||||||
#ifdef VCMI_WINDOWS
|
|
||||||
return boost::filesystem::path(path.toStdWString());
|
|
||||||
#else
|
|
||||||
return boost::filesystem::path(path.toUtf8().data());
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
#include "StdInc.h"
|
#include "StdInc.h"
|
||||||
#include "cdownloadmanager_moc.h"
|
#include "cdownloadmanager_moc.h"
|
||||||
|
|
||||||
#include "../launcherdirs.h"
|
#include "../vcmiqt/launcherdirs.h"
|
||||||
|
|
||||||
#include "../../lib/CConfigHandler.h"
|
#include "../../lib/CConfigHandler.h"
|
||||||
|
|
||||||
|
@ -22,8 +22,8 @@
|
|||||||
#include "cdownloadmanager_moc.h"
|
#include "cdownloadmanager_moc.h"
|
||||||
#include "chroniclesextractor.h"
|
#include "chroniclesextractor.h"
|
||||||
#include "../settingsView/csettingsview_moc.h"
|
#include "../settingsView/csettingsview_moc.h"
|
||||||
#include "../launcherdirs.h"
|
#include "../vcmiqt/launcherdirs.h"
|
||||||
#include "../jsonutils.h"
|
#include "../vcmiqt/jsonutils.h"
|
||||||
#include "../helper.h"
|
#include "../helper.h"
|
||||||
|
|
||||||
#include "../../lib/VCMIDirs.h"
|
#include "../../lib/VCMIDirs.h"
|
||||||
|
@ -17,8 +17,8 @@
|
|||||||
#include "../../lib/modding/CModInfo.h"
|
#include "../../lib/modding/CModInfo.h"
|
||||||
#include "../../lib/modding/IdentifierStorage.h"
|
#include "../../lib/modding/IdentifierStorage.h"
|
||||||
|
|
||||||
#include "../jsonutils.h"
|
#include "../vcmiqt/jsonutils.h"
|
||||||
#include "../launcherdirs.h"
|
#include "../vcmiqt/launcherdirs.h"
|
||||||
|
|
||||||
#include <future>
|
#include <future>
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
*/
|
*/
|
||||||
#include "StdInc.h"
|
#include "StdInc.h"
|
||||||
#include "prepare.h"
|
#include "prepare.h"
|
||||||
#include "launcherdirs.h"
|
#include "../vcmiqt/launcherdirs.h"
|
||||||
|
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
#include "../modManager/cmodlistview_moc.h"
|
#include "../modManager/cmodlistview_moc.h"
|
||||||
#include "../helper.h"
|
#include "../helper.h"
|
||||||
#include "../jsonutils.h"
|
#include "../vcmiqt/jsonutils.h"
|
||||||
#include "../languages.h"
|
#include "../languages.h"
|
||||||
|
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
set(editor_SRCS
|
set(editor_SRCS
|
||||||
StdInc.cpp
|
StdInc.cpp
|
||||||
main.cpp
|
main.cpp
|
||||||
launcherdirs.cpp
|
|
||||||
jsonutils.cpp
|
|
||||||
mainwindow.cpp
|
mainwindow.cpp
|
||||||
BitmapHandler.cpp
|
BitmapHandler.cpp
|
||||||
maphandler.cpp
|
maphandler.cpp
|
||||||
@ -45,8 +43,6 @@ set(editor_SRCS
|
|||||||
|
|
||||||
set(editor_HEADERS
|
set(editor_HEADERS
|
||||||
StdInc.h
|
StdInc.h
|
||||||
launcherdirs.h
|
|
||||||
jsonutils.h
|
|
||||||
mainwindow.h
|
mainwindow.h
|
||||||
BitmapHandler.h
|
BitmapHandler.h
|
||||||
maphandler.h
|
maphandler.h
|
||||||
@ -221,7 +217,7 @@ if(APPLE)
|
|||||||
set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER vcmieditor)
|
set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER vcmieditor)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
target_link_libraries(vcmieditor vcmi Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network)
|
target_link_libraries(vcmieditor vcmi vcmiqt Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network)
|
||||||
target_include_directories(vcmieditor
|
target_include_directories(vcmieditor
|
||||||
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
@ -22,6 +22,8 @@
|
|||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
|
|
||||||
|
#include "../vcmiqt/convpathqstring.h"
|
||||||
|
|
||||||
VCMI_LIB_USING_NAMESPACE
|
VCMI_LIB_USING_NAMESPACE
|
||||||
|
|
||||||
using NumericPointer = typename std::conditional_t<sizeof(void *) == sizeof(unsigned long long),
|
using NumericPointer = typename std::conditional_t<sizeof(void *) == sizeof(unsigned long long),
|
||||||
@ -44,21 +46,3 @@ Type * data_cast(NumericPointer _numeric)
|
|||||||
|
|
||||||
return reinterpret_cast<Type *>(_numeric);
|
return reinterpret_cast<Type *>(_numeric);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline QString pathToQString(const boost::filesystem::path & path)
|
|
||||||
{
|
|
||||||
#ifdef VCMI_WINDOWS
|
|
||||||
return QString::fromStdWString(path.wstring());
|
|
||||||
#else
|
|
||||||
return QString::fromStdString(path.string());
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
inline boost::filesystem::path qstringToPath(const QString & path)
|
|
||||||
{
|
|
||||||
#ifdef VCMI_WINDOWS
|
|
||||||
return boost::filesystem::path(path.toStdWString());
|
|
||||||
#else
|
|
||||||
return boost::filesystem::path(path.toUtf8().data());
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
@ -1,124 +0,0 @@
|
|||||||
/*
|
|
||||||
* jsonutils.cpp, part of VCMI engine
|
|
||||||
*
|
|
||||||
* Authors: listed in file AUTHORS in main folder
|
|
||||||
*
|
|
||||||
* License: GNU General Public License v2.0 or later
|
|
||||||
* Full text of license available in license.txt file, in main folder
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#include "StdInc.h"
|
|
||||||
#include "jsonutils.h"
|
|
||||||
|
|
||||||
#include "../lib/json/JsonNode.h"
|
|
||||||
|
|
||||||
static QVariantMap JsonToMap(const JsonMap & json)
|
|
||||||
{
|
|
||||||
QVariantMap map;
|
|
||||||
for(auto & entry : json)
|
|
||||||
{
|
|
||||||
map.insert(QString::fromStdString(entry.first), JsonUtils::toVariant(entry.second));
|
|
||||||
}
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
|
|
||||||
static QVariantList JsonToList(const JsonVector & json)
|
|
||||||
{
|
|
||||||
QVariantList list;
|
|
||||||
for(auto & entry : json)
|
|
||||||
{
|
|
||||||
list.push_back(JsonUtils::toVariant(entry));
|
|
||||||
}
|
|
||||||
return list;
|
|
||||||
}
|
|
||||||
|
|
||||||
static JsonVector VariantToList(QVariantList variant)
|
|
||||||
{
|
|
||||||
JsonVector vector;
|
|
||||||
for(auto & entry : variant)
|
|
||||||
{
|
|
||||||
vector.push_back(JsonUtils::toJson(entry));
|
|
||||||
}
|
|
||||||
return vector;
|
|
||||||
}
|
|
||||||
|
|
||||||
static JsonMap VariantToMap(QVariantMap variant)
|
|
||||||
{
|
|
||||||
JsonMap map;
|
|
||||||
for(auto & entry : variant.toStdMap())
|
|
||||||
{
|
|
||||||
map[entry.first.toUtf8().data()] = JsonUtils::toJson(entry.second);
|
|
||||||
}
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
|
|
||||||
VCMI_LIB_NAMESPACE_BEGIN
|
|
||||||
|
|
||||||
namespace JsonUtils
|
|
||||||
{
|
|
||||||
|
|
||||||
QVariant toVariant(const JsonNode & node)
|
|
||||||
{
|
|
||||||
switch(node.getType())
|
|
||||||
{
|
|
||||||
case JsonNode::JsonType::DATA_NULL:
|
|
||||||
return QVariant();
|
|
||||||
case JsonNode::JsonType::DATA_BOOL:
|
|
||||||
return QVariant(node.Bool());
|
|
||||||
case JsonNode::JsonType::DATA_FLOAT:
|
|
||||||
return QVariant(node.Float());
|
|
||||||
case JsonNode::JsonType::DATA_INTEGER:
|
|
||||||
return QVariant{static_cast<qlonglong>(node.Integer())};
|
|
||||||
case JsonNode::JsonType::DATA_STRING:
|
|
||||||
return QVariant(QString::fromStdString(node.String()));
|
|
||||||
case JsonNode::JsonType::DATA_VECTOR:
|
|
||||||
return JsonToList(node.Vector());
|
|
||||||
case JsonNode::JsonType::DATA_STRUCT:
|
|
||||||
return JsonToMap(node.Struct());
|
|
||||||
}
|
|
||||||
return QVariant();
|
|
||||||
}
|
|
||||||
|
|
||||||
QVariant JsonFromFile(QString filename)
|
|
||||||
{
|
|
||||||
QFile file(filename);
|
|
||||||
if(!file.open(QFile::ReadOnly))
|
|
||||||
{
|
|
||||||
logGlobal->error("Failed to open file %s. Reason: %s", qUtf8Printable(filename), qUtf8Printable(file.errorString()));
|
|
||||||
return {};
|
|
||||||
}
|
|
||||||
|
|
||||||
const auto data = file.readAll();
|
|
||||||
JsonNode node(reinterpret_cast<const std::byte*>(data.data()), data.size(), filename.toStdString());
|
|
||||||
return toVariant(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
JsonNode toJson(QVariant object)
|
|
||||||
{
|
|
||||||
JsonNode ret;
|
|
||||||
|
|
||||||
if(object.userType() == QMetaType::QString)
|
|
||||||
ret.String() = object.toString().toUtf8().data();
|
|
||||||
else if(object.userType() == QMetaType::Bool)
|
|
||||||
ret.Bool() = object.toBool();
|
|
||||||
else if(object.canConvert<QVariantMap>())
|
|
||||||
ret.Struct() = VariantToMap(object.toMap());
|
|
||||||
else if(object.canConvert<QVariantList>())
|
|
||||||
ret.Vector() = VariantToList(object.toList());
|
|
||||||
else if(object.canConvert<int>())
|
|
||||||
ret.Integer() = object.toInt();
|
|
||||||
else if(object.canConvert<double>())
|
|
||||||
ret.Float() = object.toFloat();
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
void JsonToFile(QString filename, QVariant object)
|
|
||||||
{
|
|
||||||
std::fstream file(qstringToPath(filename).c_str(), std::ios::out | std::ios_base::binary);
|
|
||||||
file << toJson(object).toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
VCMI_LIB_NAMESPACE_END
|
|
@ -1,27 +0,0 @@
|
|||||||
/*
|
|
||||||
* jsonutils.h, part of VCMI engine
|
|
||||||
*
|
|
||||||
* Authors: listed in file AUTHORS in main folder
|
|
||||||
*
|
|
||||||
* License: GNU General Public License v2.0 or later
|
|
||||||
* Full text of license available in license.txt file, in main folder
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
#include <QVariant>
|
|
||||||
|
|
||||||
VCMI_LIB_NAMESPACE_BEGIN
|
|
||||||
|
|
||||||
class JsonNode;
|
|
||||||
|
|
||||||
namespace JsonUtils
|
|
||||||
{
|
|
||||||
QVariant toVariant(const JsonNode & node);
|
|
||||||
QVariant JsonFromFile(QString filename);
|
|
||||||
|
|
||||||
JsonNode toJson(QVariant object);
|
|
||||||
void JsonToFile(QString filename, QVariant object);
|
|
||||||
}
|
|
||||||
|
|
||||||
VCMI_LIB_NAMESPACE_END
|
|
@ -1,36 +0,0 @@
|
|||||||
/*
|
|
||||||
* launcherdirs.cpp, part of VCMI engine
|
|
||||||
*
|
|
||||||
* Authors: listed in file AUTHORS in main folder
|
|
||||||
*
|
|
||||||
* License: GNU General Public License v2.0 or later
|
|
||||||
* Full text of license available in license.txt file, in main folder
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#include "StdInc.h"
|
|
||||||
#include "launcherdirs.h"
|
|
||||||
|
|
||||||
#include "../lib/VCMIDirs.h"
|
|
||||||
|
|
||||||
static CLauncherDirs launcherDirsGlobal;
|
|
||||||
|
|
||||||
CLauncherDirs::CLauncherDirs()
|
|
||||||
{
|
|
||||||
QDir().mkdir(downloadsPath());
|
|
||||||
QDir().mkdir(modsPath());
|
|
||||||
}
|
|
||||||
|
|
||||||
CLauncherDirs & CLauncherDirs::get()
|
|
||||||
{
|
|
||||||
return launcherDirsGlobal;
|
|
||||||
}
|
|
||||||
|
|
||||||
QString CLauncherDirs::downloadsPath()
|
|
||||||
{
|
|
||||||
return pathToQString(VCMIDirs::get().userCachePath() / "downloads");
|
|
||||||
}
|
|
||||||
|
|
||||||
QString CLauncherDirs::modsPath()
|
|
||||||
{
|
|
||||||
return pathToQString(VCMIDirs::get().userDataPath() / "Mods");
|
|
||||||
}
|
|
@ -1,22 +0,0 @@
|
|||||||
/*
|
|
||||||
* launcherdirs.h, part of VCMI engine
|
|
||||||
*
|
|
||||||
* Authors: listed in file AUTHORS in main folder
|
|
||||||
*
|
|
||||||
* License: GNU General Public License v2.0 or later
|
|
||||||
* Full text of license available in license.txt file, in main folder
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
#pragma once
|
|
||||||
|
|
||||||
/// similar to lib/VCMIDirs, controls where all launcher-related data will be stored
|
|
||||||
class CLauncherDirs
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
CLauncherDirs();
|
|
||||||
|
|
||||||
static CLauncherDirs & get();
|
|
||||||
|
|
||||||
QString downloadsPath();
|
|
||||||
QString modsPath();
|
|
||||||
};
|
|
@ -21,7 +21,7 @@
|
|||||||
#include "../lib/serializer/JsonSerializer.h"
|
#include "../lib/serializer/JsonSerializer.h"
|
||||||
#include "../lib/serializer/JsonDeserializer.h"
|
#include "../lib/serializer/JsonDeserializer.h"
|
||||||
|
|
||||||
#include "jsonutils.h"
|
#include "../vcmiqt/jsonutils.h"
|
||||||
#include "windownewmap.h"
|
#include "windownewmap.h"
|
||||||
#include "ui_windownewmap.h"
|
#include "ui_windownewmap.h"
|
||||||
#include "mainwindow.h"
|
#include "mainwindow.h"
|
||||||
|
46
vcmiqt/CMakeLists.txt
Normal file
46
vcmiqt/CMakeLists.txt
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
set(vcmiqt_SRCS
|
||||||
|
StdInc.cpp
|
||||||
|
|
||||||
|
jsonutils.cpp
|
||||||
|
launcherdirs.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
set(vcmiqt_HEADERS
|
||||||
|
StdInc.h
|
||||||
|
|
||||||
|
jsonutils.h
|
||||||
|
launcherdirs.h
|
||||||
|
convpathqstring.h
|
||||||
|
vcmiqt.h
|
||||||
|
)
|
||||||
|
|
||||||
|
assign_source_group(${vcmiqt_SRCS} ${vcmiqt_HEADERS})
|
||||||
|
|
||||||
|
if(ENABLE_STATIC_LIBS OR NOT (ENABLE_EDITOR AND ENABLE_LAUNCHER))
|
||||||
|
add_library(vcmiqt STATIC ${vcmiqt_SRCS} ${vcmiqt_HEADERS})
|
||||||
|
target_compile_definitions(vcmiqt PRIVATE VCMIQT_STATIC)
|
||||||
|
else()
|
||||||
|
add_library(vcmiqt SHARED ${vcmiqt_SRCS} ${vcmiqt_HEADERS})
|
||||||
|
target_compile_definitions(vcmiqt PRIVATE VCMIQT_SHARED)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
set_target_properties(vcmiqt
|
||||||
|
PROPERTIES
|
||||||
|
OUTPUT_NAME "VCMI_vcmiqt"
|
||||||
|
PROJECT_LABEL "VCMI_vcmiqt"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_link_libraries(vcmiqt vcmi Qt${QT_VERSION_MAJOR}::Core)
|
||||||
|
|
||||||
|
target_include_directories(vcmiqt PUBLIC
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
if(NOT ENABLE_STATIC_LIBS OR (ENABLE_EDITOR AND ENABLE_LAUNCHER))
|
||||||
|
install(TARGETS vcmiqt RUNTIME DESTINATION ${LIB_DIR} LIBRARY DESTINATION ${LIB_DIR})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
vcmi_set_output_dir(vcmiqt "")
|
||||||
|
enable_pch(vcmiqt)
|
12
vcmiqt/StdInc.cpp
Normal file
12
vcmiqt/StdInc.cpp
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/*
|
||||||
|
* StdInc.cpp, part of VCMI engine
|
||||||
|
*
|
||||||
|
* Authors: listed in file AUTHORS in main folder
|
||||||
|
*
|
||||||
|
* License: GNU General Public License v2.0 or later
|
||||||
|
* Full text of license available in license.txt file, in main folder
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
// Creates the precompiled header
|
||||||
|
#include "StdInc.h"
|
||||||
|
|
20
vcmiqt/StdInc.h
Normal file
20
vcmiqt/StdInc.h
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
/*
|
||||||
|
* StdInc.h, part of VCMI engine
|
||||||
|
*
|
||||||
|
* Authors: listed in file AUTHORS in main folder
|
||||||
|
*
|
||||||
|
* License: GNU General Public License v2.0 or later
|
||||||
|
* Full text of license available in license.txt file, in main folder
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "../Global.h"
|
||||||
|
|
||||||
|
#include <QDir>
|
||||||
|
#include <QFile>
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
#include "convpathqstring.h"
|
||||||
|
|
||||||
|
VCMI_LIB_USING_NAMESPACE
|
29
vcmiqt/convpathqstring.h
Normal file
29
vcmiqt/convpathqstring.h
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
/*
|
||||||
|
* convpathqstring.h, part of VCMI engine
|
||||||
|
*
|
||||||
|
* Authors: listed in file AUTHORS in main folder
|
||||||
|
*
|
||||||
|
* License: GNU General Public License v2.0 or later
|
||||||
|
* Full text of license available in license.txt file, in main folder
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
inline QString pathToQString(const boost::filesystem::path & path)
|
||||||
|
{
|
||||||
|
#ifdef VCMI_WINDOWS
|
||||||
|
return QString::fromStdWString(path.wstring());
|
||||||
|
#else
|
||||||
|
return QString::fromStdString(path.string());
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
inline boost::filesystem::path qstringToPath(const QString & path)
|
||||||
|
{
|
||||||
|
#ifdef VCMI_WINDOWS
|
||||||
|
return boost::filesystem::path(path.toStdWString());
|
||||||
|
#else
|
||||||
|
return boost::filesystem::path(path.toUtf8().data());
|
||||||
|
#endif
|
||||||
|
}
|
@ -9,6 +9,8 @@
|
|||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "vcmiqt.h"
|
||||||
|
|
||||||
#include <QVariant>
|
#include <QVariant>
|
||||||
|
|
||||||
VCMI_LIB_NAMESPACE_BEGIN
|
VCMI_LIB_NAMESPACE_BEGIN
|
||||||
@ -17,11 +19,11 @@ class JsonNode;
|
|||||||
|
|
||||||
namespace JsonUtils
|
namespace JsonUtils
|
||||||
{
|
{
|
||||||
QVariant toVariant(const JsonNode & node);
|
VCMIQT_LINKAGE QVariant toVariant(const JsonNode & node);
|
||||||
QVariant JsonFromFile(QString filename);
|
VCMIQT_LINKAGE QVariant JsonFromFile(QString filename);
|
||||||
|
|
||||||
JsonNode toJson(QVariant object);
|
VCMIQT_LINKAGE JsonNode toJson(QVariant object);
|
||||||
void JsonToFile(QString filename, QVariant object);
|
VCMIQT_LINKAGE void JsonToFile(QString filename, QVariant object);
|
||||||
}
|
}
|
||||||
|
|
||||||
VCMI_LIB_NAMESPACE_END
|
VCMI_LIB_NAMESPACE_END
|
@ -9,12 +9,14 @@
|
|||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
#include "vcmiqt.h"
|
||||||
|
|
||||||
/// similar to lib/VCMIDirs, controls where all launcher-related data will be stored
|
/// similar to lib/VCMIDirs, controls where all launcher-related data will be stored
|
||||||
namespace CLauncherDirs
|
namespace CLauncherDirs
|
||||||
{
|
{
|
||||||
void prepare();
|
VCMIQT_LINKAGE void prepare();
|
||||||
|
|
||||||
QString downloadsPath();
|
VCMIQT_LINKAGE QString downloadsPath();
|
||||||
QString modsPath();
|
VCMIQT_LINKAGE QString modsPath();
|
||||||
QString mapsPath();
|
VCMIQT_LINKAGE QString mapsPath();
|
||||||
}
|
}
|
19
vcmiqt/vcmiqt.h
Normal file
19
vcmiqt/vcmiqt.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
/*
|
||||||
|
* vcmiqt.h, part of VCMI engine
|
||||||
|
*
|
||||||
|
* Authors: listed in file AUTHORS in main folder
|
||||||
|
*
|
||||||
|
* License: GNU General Public License v2.0 or later
|
||||||
|
* Full text of license available in license.txt file, in main folder
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <QtCore/QtGlobal>
|
||||||
|
|
||||||
|
#if VCMIQT_STATIC
|
||||||
|
# define VCMIQT_LINKAGE
|
||||||
|
#elif defined(VCMIQT_SHARED)
|
||||||
|
# define VCMIQT_LINKAGE Q_DECL_EXPORT
|
||||||
|
#else
|
||||||
|
# define VCMIQT_LINKAGE Q_DECL_IMPORT
|
||||||
|
#endif
|
Loading…
x
Reference in New Issue
Block a user