aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--qbs-resources/imports/QbsLibrary.qbs23
-rw-r--r--qbs-resources/imports/QbsLibraryBase.qbs24
-rw-r--r--qbs-resources/imports/QbsStaticLibrary.qbs9
-rw-r--r--qbs.pro4
-rw-r--r--src/lib/corelib/tools/hostosinfo.h2
-rw-r--r--src/lib/corelib/tools/pathutils.h2
-rw-r--r--src/lib/corelib/tools/version.h8
-rw-r--r--src/lib/library.pri19
-rw-r--r--src/lib/library_base.pri21
-rw-r--r--src/lib/libs.qbs1
-rw-r--r--src/lib/msbuild/io/msbuildprojectwriter.cpp (renamed from src/plugins/generator/visualstudio/io/msbuildprojectwriter.cpp)0
-rw-r--r--src/lib/msbuild/io/msbuildprojectwriter.h (renamed from src/plugins/generator/visualstudio/io/msbuildprojectwriter.h)0
-rw-r--r--src/lib/msbuild/io/visualstudiosolutionwriter.cpp (renamed from src/plugins/generator/visualstudio/io/visualstudiosolutionwriter.cpp)0
-rw-r--r--src/lib/msbuild/io/visualstudiosolutionwriter.h (renamed from src/plugins/generator/visualstudio/io/visualstudiosolutionwriter.h)0
-rw-r--r--src/lib/msbuild/msbuild.pro58
-rw-r--r--src/lib/msbuild/msbuild.qbs88
-rw-r--r--src/lib/msbuild/msbuild/imsbuildgroup.cpp (renamed from src/plugins/generator/visualstudio/msbuild/imsbuildgroup.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/imsbuildgroup.h (renamed from src/plugins/generator/visualstudio/msbuild/imsbuildgroup.h)0
-rw-r--r--src/lib/msbuild/msbuild/imsbuildnode.cpp (renamed from src/plugins/generator/visualstudio/msbuild/imsbuildnode.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/imsbuildnode.h (renamed from src/plugins/generator/visualstudio/msbuild/imsbuildnode.h)0
-rw-r--r--src/lib/msbuild/msbuild/imsbuildnodevisitor.h (renamed from src/plugins/generator/visualstudio/msbuild/imsbuildnodevisitor.h)0
-rw-r--r--src/lib/msbuild/msbuild/imsbuildproperty.cpp (renamed from src/plugins/generator/visualstudio/msbuild/imsbuildproperty.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/imsbuildproperty.h (renamed from src/plugins/generator/visualstudio/msbuild/imsbuildproperty.h)0
-rw-r--r--src/lib/msbuild/msbuild/items/msbuildclcompile.cpp (renamed from src/plugins/generator/visualstudio/msbuild/items/msbuildclcompile.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/items/msbuildclcompile.h (renamed from src/plugins/generator/visualstudio/msbuild/items/msbuildclcompile.h)0
-rw-r--r--src/lib/msbuild/msbuild/items/msbuildclinclude.cpp (renamed from src/plugins/generator/visualstudio/msbuild/items/msbuildclinclude.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/items/msbuildclinclude.h (renamed from src/plugins/generator/visualstudio/msbuild/items/msbuildclinclude.h)0
-rw-r--r--src/lib/msbuild/msbuild/items/msbuildfileitem.cpp (renamed from src/plugins/generator/visualstudio/msbuild/items/msbuildfileitem.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/items/msbuildfileitem.h (renamed from src/plugins/generator/visualstudio/msbuild/items/msbuildfileitem.h)0
-rw-r--r--src/lib/msbuild/msbuild/items/msbuildfilter.cpp (renamed from src/plugins/generator/visualstudio/msbuild/items/msbuildfilter.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/items/msbuildfilter.h (renamed from src/plugins/generator/visualstudio/msbuild/items/msbuildfilter.h)0
-rw-r--r--src/lib/msbuild/msbuild/items/msbuildlink.cpp (renamed from src/plugins/generator/visualstudio/msbuild/items/msbuildlink.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/items/msbuildlink.h (renamed from src/plugins/generator/visualstudio/msbuild/items/msbuildlink.h)0
-rw-r--r--src/lib/msbuild/msbuild/items/msbuildnone.cpp (renamed from src/plugins/generator/visualstudio/msbuild/items/msbuildnone.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/items/msbuildnone.h (renamed from src/plugins/generator/visualstudio/msbuild/items/msbuildnone.h)0
-rw-r--r--src/lib/msbuild/msbuild/msbuildimport.cpp (renamed from src/plugins/generator/visualstudio/msbuild/msbuildimport.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/msbuildimport.h (renamed from src/plugins/generator/visualstudio/msbuild/msbuildimport.h)0
-rw-r--r--src/lib/msbuild/msbuild/msbuildimportgroup.cpp (renamed from src/plugins/generator/visualstudio/msbuild/msbuildimportgroup.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/msbuildimportgroup.h (renamed from src/plugins/generator/visualstudio/msbuild/msbuildimportgroup.h)0
-rw-r--r--src/lib/msbuild/msbuild/msbuilditem.cpp (renamed from src/plugins/generator/visualstudio/msbuild/msbuilditem.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/msbuilditem.h (renamed from src/plugins/generator/visualstudio/msbuild/msbuilditem.h)0
-rw-r--r--src/lib/msbuild/msbuild/msbuilditemdefinitiongroup.cpp (renamed from src/plugins/generator/visualstudio/msbuild/msbuilditemdefinitiongroup.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/msbuilditemdefinitiongroup.h (renamed from src/plugins/generator/visualstudio/msbuild/msbuilditemdefinitiongroup.h)0
-rw-r--r--src/lib/msbuild/msbuild/msbuilditemgroup.cpp (renamed from src/plugins/generator/visualstudio/msbuild/msbuilditemgroup.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/msbuilditemgroup.h (renamed from src/plugins/generator/visualstudio/msbuild/msbuilditemgroup.h)0
-rw-r--r--src/lib/msbuild/msbuild/msbuilditemmetadata.cpp (renamed from src/plugins/generator/visualstudio/msbuild/msbuilditemmetadata.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/msbuilditemmetadata.h (renamed from src/plugins/generator/visualstudio/msbuild/msbuilditemmetadata.h)0
-rw-r--r--src/lib/msbuild/msbuild/msbuildproject.cpp (renamed from src/plugins/generator/visualstudio/msbuild/msbuildproject.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/msbuildproject.h (renamed from src/plugins/generator/visualstudio/msbuild/msbuildproject.h)0
-rw-r--r--src/lib/msbuild/msbuild/msbuildproperty.cpp (renamed from src/plugins/generator/visualstudio/msbuild/msbuildproperty.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/msbuildproperty.h (renamed from src/plugins/generator/visualstudio/msbuild/msbuildproperty.h)0
-rw-r--r--src/lib/msbuild/msbuild/msbuildpropertygroup.cpp (renamed from src/plugins/generator/visualstudio/msbuild/msbuildpropertygroup.cpp)0
-rw-r--r--src/lib/msbuild/msbuild/msbuildpropertygroup.h (renamed from src/plugins/generator/visualstudio/msbuild/msbuildpropertygroup.h)0
-rw-r--r--src/lib/msbuild/solution/ivisualstudiosolutionproject.cpp (renamed from src/plugins/generator/visualstudio/solution/ivisualstudiosolutionproject.cpp)0
-rw-r--r--src/lib/msbuild/solution/ivisualstudiosolutionproject.h (renamed from src/plugins/generator/visualstudio/solution/ivisualstudiosolutionproject.h)0
-rw-r--r--src/lib/msbuild/solution/visualstudiosolution.cpp (renamed from src/plugins/generator/visualstudio/solution/visualstudiosolution.cpp)0
-rw-r--r--src/lib/msbuild/solution/visualstudiosolution.h (renamed from src/plugins/generator/visualstudio/solution/visualstudiosolution.h)0
-rw-r--r--src/lib/msbuild/solution/visualstudiosolutionfileproject.cpp (renamed from src/plugins/generator/visualstudio/solution/visualstudiosolutionfileproject.cpp)0
-rw-r--r--src/lib/msbuild/solution/visualstudiosolutionfileproject.h (renamed from src/plugins/generator/visualstudio/solution/visualstudiosolutionfileproject.h)0
-rw-r--r--src/lib/msbuild/solution/visualstudiosolutionfolderproject.cpp (renamed from src/plugins/generator/visualstudio/solution/visualstudiosolutionfolderproject.cpp)0
-rw-r--r--src/lib/msbuild/solution/visualstudiosolutionfolderproject.h (renamed from src/plugins/generator/visualstudio/solution/visualstudiosolutionfolderproject.h)0
-rw-r--r--src/lib/msbuild/solution/visualstudiosolutionglobalsection.cpp (renamed from src/plugins/generator/visualstudio/solution/visualstudiosolutionglobalsection.cpp)0
-rw-r--r--src/lib/msbuild/solution/visualstudiosolutionglobalsection.h (renamed from src/plugins/generator/visualstudio/solution/visualstudiosolutionglobalsection.h)0
-rw-r--r--src/lib/msbuild/use_installed_msbuild.pri20
-rw-r--r--src/lib/msbuild/use_msbuild.pri38
-rw-r--r--src/lib/staticlibrary.pri4
-rw-r--r--src/plugins/generator/visualstudio/visualstudio.pro70
-rw-r--r--src/plugins/generator/visualstudio/visualstudio.qbs76
68 files changed, 279 insertions, 188 deletions
diff --git a/qbs-resources/imports/QbsLibrary.qbs b/qbs-resources/imports/QbsLibrary.qbs
index bf39cb8d6..88244a903 100644
--- a/qbs-resources/imports/QbsLibrary.qbs
+++ b/qbs-resources/imports/QbsLibrary.qbs
@@ -1,27 +1,6 @@
-import qbs
import qbs.FileInfo
-import qbs.Utilities
-
-QbsProduct {
- Depends { name: "cpp" }
- version: qbsversion.version
- type: libType
- targetName: (qbs.enableDebugCode && qbs.targetOS.contains("windows")) ? (name + 'd') : name
- cpp.defines: base.concat(visibilityType === "static" ? ["QBS_STATIC_LIB"] : ["QBS_LIBRARY"])
- cpp.sonamePrefix: qbs.targetOS.contains("darwin") ? "@rpath" : undefined
- Properties {
- condition: qbs.toolchain.contains("gcc")
- cpp.soVersion: version.replace(/\.\d+$/, '')
- }
- cpp.visibility: "minimal"
- property string visibilityType: staticBuild ? "static" : "dynamic"
- property string headerInstallPrefix: "/include/qbs"
- property bool hasExporter: Utilities.versionCompare(qbs.version, "1.12") >= 0
- property bool generatePkgConfigFile: qbsbuildconfig.generatePkgConfigFiles && hasExporter
- property bool generateQbsModule: install && qbsbuildconfig.generateQbsModules && hasExporter
- property bool staticBuild: Qt.core.staticBuild || qbsbuildconfig.staticBuild
- property stringList libType: [staticBuild ? "staticlibrary" : "dynamiclibrary"]
+QbsLibraryBase {
Depends { name: "Exporter.pkgconfig"; condition: generatePkgConfigFile }
Depends { name: "Exporter.qbs"; condition: generateQbsModule }
diff --git a/qbs-resources/imports/QbsLibraryBase.qbs b/qbs-resources/imports/QbsLibraryBase.qbs
new file mode 100644
index 000000000..7dc6b5f61
--- /dev/null
+++ b/qbs-resources/imports/QbsLibraryBase.qbs
@@ -0,0 +1,24 @@
+import qbs
+import qbs.FileInfo
+import qbs.Utilities
+
+QbsProduct {
+ Depends { name: "cpp" }
+ version: qbsversion.version
+ type: libType
+ targetName: (qbs.enableDebugCode && qbs.targetOS.contains("windows")) ? (name + 'd') : name
+ cpp.defines: base.concat(visibilityType === "static" ? ["QBS_STATIC_LIB"] : ["QBS_LIBRARY"])
+ cpp.sonamePrefix: qbs.targetOS.contains("darwin") ? "@rpath" : undefined
+ Properties {
+ condition: qbs.toolchain.contains("gcc")
+ cpp.soVersion: version.replace(/\.\d+$/, '')
+ }
+ cpp.visibility: "minimal"
+ property string visibilityType: staticBuild ? "static" : "dynamic"
+ property string headerInstallPrefix: "/include/qbs"
+ property bool hasExporter: Utilities.versionCompare(qbs.version, "1.12") >= 0
+ property bool generatePkgConfigFile: qbsbuildconfig.generatePkgConfigFiles && hasExporter
+ property bool generateQbsModule: install && qbsbuildconfig.generateQbsModules && hasExporter
+ property bool staticBuild: Qt.core.staticBuild || qbsbuildconfig.staticBuild
+ property stringList libType: [staticBuild ? "staticlibrary" : "dynamiclibrary"]
+}
diff --git a/qbs-resources/imports/QbsStaticLibrary.qbs b/qbs-resources/imports/QbsStaticLibrary.qbs
new file mode 100644
index 000000000..3342c94d5
--- /dev/null
+++ b/qbs-resources/imports/QbsStaticLibrary.qbs
@@ -0,0 +1,9 @@
+QbsLibraryBase {
+ staticBuild: true
+ Export {
+ Depends { name: "cpp" }
+ Depends { name: "Qt"; submodules: ["core"] }
+
+ cpp.includePaths: [product.sourceDirectory]
+ }
+}
diff --git a/qbs.pro b/qbs.pro
index b8faa2ab0..cf80b1fa1 100644
--- a/qbs.pro
+++ b/qbs.pro
@@ -31,6 +31,8 @@ defineTest(minQtVersion) {
TEMPLATE = subdirs
corelib.file = src/lib/corelib/corelib.pro
+msbuildlib.subdir = src/lib/msbuild
+msbuildlib.depends = corelib
src_app.subdir = src/app
src_app.depends = corelib
src_libexec.subdir = src/libexec
@@ -39,6 +41,7 @@ CONFIG(shared, static|shared) {
src_plugins.depends = corelib
src_app.depends += src_plugins
}
+src_plugins.depends += msbuildlib
tests.depends = static_res
static_res.file = static-res.pro
static_res.depends = src_app src_libexec src_plugins static.pro
@@ -49,6 +52,7 @@ qbs_use_bundled_qtscript {
}
SUBDIRS += \
corelib\
+ msbuildlib\
src_app\
src_libexec\
src_plugins\
diff --git a/src/lib/corelib/tools/hostosinfo.h b/src/lib/corelib/tools/hostosinfo.h
index 0876d39ec..4bfc3e00a 100644
--- a/src/lib/corelib/tools/hostosinfo.h
+++ b/src/lib/corelib/tools/hostosinfo.h
@@ -67,7 +67,7 @@
namespace qbs {
namespace Internal {
-class QBS_EXPORT HostOsInfo // Exported for use by command-line tools.
+class HostOsInfo
{
public:
// Add more as needed.
diff --git a/src/lib/corelib/tools/pathutils.h b/src/lib/corelib/tools/pathutils.h
index a2fad9aa4..55dbc1c6d 100644
--- a/src/lib/corelib/tools/pathutils.h
+++ b/src/lib/corelib/tools/pathutils.h
@@ -46,7 +46,7 @@
namespace qbs {
namespace Internal {
-class QBS_EXPORT PathUtils
+class PathUtils
{
public:
static QString toNativeSeparators(const QString &s,
diff --git a/src/lib/corelib/tools/version.h b/src/lib/corelib/tools/version.h
index 63ad3f88c..7b2d23ebb 100644
--- a/src/lib/corelib/tools/version.h
+++ b/src/lib/corelib/tools/version.h
@@ -51,7 +51,7 @@ QT_END_NAMESPACE
namespace qbs {
-class QBS_EXPORT Version
+class Version
{
public:
constexpr explicit Version(int majorVersion = 0, int minorVersion = 0, int patchLevel = 0,
@@ -73,9 +73,9 @@ public:
constexpr int buildNumber() const { return m_build; }
constexpr void setBuildNumber(int nr) { m_build = nr; }
- static Version fromString(const QString &versionString, bool buildNumberAllowed = false);
- QString toString(const QChar &separator = QLatin1Char('.'),
- const QChar &buildSeparator = QLatin1Char('-')) const;
+ static QBS_EXPORT Version fromString(const QString &versionString, bool buildNumberAllowed = false);
+ QString QBS_EXPORT toString(const QChar &separator = QLatin1Char('.'),
+ const QChar &buildSeparator = QLatin1Char('-')) const;
private:
int m_major;
diff --git a/src/lib/library.pri b/src/lib/library.pri
index 11427b097..7d12e1070 100644
--- a/src/lib/library.pri
+++ b/src/lib/library.pri
@@ -1,33 +1,16 @@
-include(../library_dirname.pri)
-include(../install_prefix.pri)
+include(library_base.pri)
-TEMPLATE = lib
-QT = core
-!isEmpty(QBS_DLLDESTDIR):DLLDESTDIR = $${QBS_DLLDESTDIR}
-else:DLLDESTDIR = ../../../bin
-!isEmpty(QBS_DESTDIR):DESTDIR = $${QBS_DESTDIR}
-else:DESTDIR = ../../../$${QBS_LIBRARY_DIRNAME}
CONFIG(static, static|shared) {
DEFINES += QBS_STATIC_LIB
} else {
DEFINES += QBS_LIBRARY
}
-DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_PROCESS_COMBINED_ARGUMENT_START
-qbs_enable_unit_tests:DEFINES += QBS_ENABLE_UNIT_TESTS
-INCLUDEPATH += $${PWD}/../
-contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
-win32:CONFIG(debug, debug|release):TARGET = $${TARGET}d
-CONFIG(debug, debug|release):DEFINES += QT_STRICT_ITERATORS
-CONFIG += c++14
-CONFIG += create_prl
qbs_disable_rpath {
osx:QMAKE_LFLAGS_SONAME = -Wl,-install_name,$$QBS_INSTALL_PREFIX/$$QBS_LIBRARY_DIRNAME/
} else {
osx:QMAKE_LFLAGS_SONAME = -Wl,-install_name,@rpath/
}
-include(../../qbs_version.pri)
-VERSION = $${QBS_VERSION}
linux {
# Turn off absurd qmake's soname "logic" and directly add the linker flag.
diff --git a/src/lib/library_base.pri b/src/lib/library_base.pri
new file mode 100644
index 000000000..093dcd39b
--- /dev/null
+++ b/src/lib/library_base.pri
@@ -0,0 +1,21 @@
+include(../library_dirname.pri)
+include(../install_prefix.pri)
+
+TEMPLATE = lib
+QT = core
+!isEmpty(QBS_DLLDESTDIR):DLLDESTDIR = $${QBS_DLLDESTDIR}
+else:DLLDESTDIR = ../../../bin
+!isEmpty(QBS_DESTDIR):DESTDIR = $${QBS_DESTDIR}
+else:DESTDIR = ../../../$${QBS_LIBRARY_DIRNAME}
+
+DEFINES += QT_NO_CAST_FROM_ASCII QT_NO_PROCESS_COMBINED_ARGUMENT_START
+qbs_enable_unit_tests:DEFINES += QBS_ENABLE_UNIT_TESTS
+INCLUDEPATH += $${PWD}/../
+contains(QT_CONFIG, reduce_exports):CONFIG += hide_symbols
+win32:CONFIG(debug, debug|release):TARGET = $${TARGET}d
+CONFIG(debug, debug|release):DEFINES += QT_STRICT_ITERATORS
+CONFIG += c++14
+CONFIG += create_prl
+
+include(../../qbs_version.pri)
+VERSION = $${QBS_VERSION}
diff --git a/src/lib/libs.qbs b/src/lib/libs.qbs
index dd21cc081..1cea47c52 100644
--- a/src/lib/libs.qbs
+++ b/src/lib/libs.qbs
@@ -3,6 +3,7 @@ import qbs
Project {
references: [
"corelib/corelib.qbs",
+ "msbuild/msbuild.qbs",
"scriptengine/scriptengine.qbs",
]
}
diff --git a/src/plugins/generator/visualstudio/io/msbuildprojectwriter.cpp b/src/lib/msbuild/io/msbuildprojectwriter.cpp
index 12fbe2da5..12fbe2da5 100644
--- a/src/plugins/generator/visualstudio/io/msbuildprojectwriter.cpp
+++ b/src/lib/msbuild/io/msbuildprojectwriter.cpp
diff --git a/src/plugins/generator/visualstudio/io/msbuildprojectwriter.h b/src/lib/msbuild/io/msbuildprojectwriter.h
index cfe6beb7b..cfe6beb7b 100644
--- a/src/plugins/generator/visualstudio/io/msbuildprojectwriter.h
+++ b/src/lib/msbuild/io/msbuildprojectwriter.h
diff --git a/src/plugins/generator/visualstudio/io/visualstudiosolutionwriter.cpp b/src/lib/msbuild/io/visualstudiosolutionwriter.cpp
index 625489ac6..625489ac6 100644
--- a/src/plugins/generator/visualstudio/io/visualstudiosolutionwriter.cpp
+++ b/src/lib/msbuild/io/visualstudiosolutionwriter.cpp
diff --git a/src/plugins/generator/visualstudio/io/visualstudiosolutionwriter.h b/src/lib/msbuild/io/visualstudiosolutionwriter.h
index 62ab45ead..62ab45ead 100644
--- a/src/plugins/generator/visualstudio/io/visualstudiosolutionwriter.h
+++ b/src/lib/msbuild/io/visualstudiosolutionwriter.h
diff --git a/src/lib/msbuild/msbuild.pro b/src/lib/msbuild/msbuild.pro
new file mode 100644
index 000000000..432169129
--- /dev/null
+++ b/src/lib/msbuild/msbuild.pro
@@ -0,0 +1,58 @@
+TARGET = qbsmsbuild
+include(../staticlibrary.pri)
+include(../corelib/use_corelib.pri)
+
+HEADERS += \
+ io/msbuildprojectwriter.h \
+ io/visualstudiosolutionwriter.h \
+ msbuild/imsbuildgroup.h \
+ msbuild/imsbuildnode.h \
+ msbuild/imsbuildnodevisitor.h \
+ msbuild/imsbuildproperty.h \
+ msbuild/items/msbuildclcompile.h \
+ msbuild/items/msbuildclinclude.h \
+ msbuild/items/msbuildfileitem.h \
+ msbuild/items/msbuildfilter.h \
+ msbuild/items/msbuildlink.h \
+ msbuild/items/msbuildnone.h \
+ msbuild/msbuildimport.h \
+ msbuild/msbuildimportgroup.h \
+ msbuild/msbuilditem.h \
+ msbuild/msbuilditemdefinitiongroup.h \
+ msbuild/msbuilditemgroup.h \
+ msbuild/msbuilditemmetadata.h \
+ msbuild/msbuildproject.h \
+ msbuild/msbuildproperty.h \
+ msbuild/msbuildpropertygroup.h \
+ solution/ivisualstudiosolutionproject.h \
+ solution/visualstudiosolution.h \
+ solution/visualstudiosolutionfileproject.h \
+ solution/visualstudiosolutionfolderproject.h \
+ solution/visualstudiosolutionglobalsection.h
+
+SOURCES += \
+ io/msbuildprojectwriter.cpp \
+ io/visualstudiosolutionwriter.cpp \
+ msbuild/imsbuildgroup.cpp \
+ msbuild/imsbuildnode.cpp \
+ msbuild/imsbuildproperty.cpp \
+ msbuild/items/msbuildclcompile.cpp \
+ msbuild/items/msbuildclinclude.cpp \
+ msbuild/items/msbuildfileitem.cpp \
+ msbuild/items/msbuildfilter.cpp \
+ msbuild/items/msbuildlink.cpp \
+ msbuild/items/msbuildnone.cpp \
+ msbuild/msbuildimport.cpp \
+ msbuild/msbuildimportgroup.cpp \
+ msbuild/msbuilditem.cpp \
+ msbuild/msbuilditemdefinitiongroup.cpp \
+ msbuild/msbuilditemgroup.cpp \
+ msbuild/msbuilditemmetadata.cpp \
+ msbuild/msbuildproject.cpp \
+ msbuild/msbuildproperty.cpp \
+ msbuild/msbuildpropertygroup.cpp \
+ solution/ivisualstudiosolutionproject.cpp \
+ solution/visualstudiosolution.cpp \
+ solution/visualstudiosolutionfileproject.cpp \
+ solution/visualstudiosolutionfolderproject.cpp \
+ solution/visualstudiosolutionglobalsection.cpp
diff --git a/src/lib/msbuild/msbuild.qbs b/src/lib/msbuild/msbuild.qbs
new file mode 100644
index 000000000..5e69c28e4
--- /dev/null
+++ b/src/lib/msbuild/msbuild.qbs
@@ -0,0 +1,88 @@
+import qbs
+
+QbsStaticLibrary {
+ Depends { name: "cpp" }
+ Depends { name: "qbscore" }
+ name: "qbsmsbuild"
+ cpp.visibility: "default"
+ cpp.includePaths: base.concat([
+ ".",
+ "../corelib", // for some header-only functions in tools
+ ])
+
+ Group {
+ name: "Solution Object Model"
+ prefix: "solution/"
+ files: [
+ "ivisualstudiosolutionproject.cpp",
+ "ivisualstudiosolutionproject.h",
+ "visualstudiosolutionfileproject.cpp",
+ "visualstudiosolutionfileproject.h",
+ "visualstudiosolutionfolderproject.cpp",
+ "visualstudiosolutionfolderproject.h",
+ "visualstudiosolution.cpp",
+ "visualstudiosolution.h",
+ "visualstudiosolutionglobalsection.cpp",
+ "visualstudiosolutionglobalsection.h",
+ ]
+ }
+ Group {
+ name: "MSBuild Object Model"
+ prefix: "msbuild/"
+ files: [
+ "imsbuildgroup.cpp",
+ "imsbuildgroup.h",
+ "imsbuildnode.cpp",
+ "imsbuildnode.h",
+ "imsbuildnodevisitor.h",
+ "imsbuildproperty.cpp",
+ "imsbuildproperty.h",
+ "msbuildimport.cpp",
+ "msbuildimport.h",
+ "msbuildimportgroup.cpp",
+ "msbuildimportgroup.h",
+ "msbuilditem.cpp",
+ "msbuilditem.h",
+ "msbuilditemdefinitiongroup.cpp",
+ "msbuilditemdefinitiongroup.h",
+ "msbuilditemgroup.cpp",
+ "msbuilditemgroup.h",
+ "msbuilditemmetadata.cpp",
+ "msbuilditemmetadata.h",
+ "msbuildproject.cpp",
+ "msbuildproject.h",
+ "msbuildproperty.cpp",
+ "msbuildproperty.h",
+ "msbuildpropertygroup.cpp",
+ "msbuildpropertygroup.h",
+ ]
+ }
+ Group {
+ name: "MSBuild Object Model Items"
+ prefix: "msbuild/items/"
+ files: [
+ "msbuildclcompile.cpp",
+ "msbuildclcompile.h",
+ "msbuildclinclude.cpp",
+ "msbuildclinclude.h",
+ "msbuildfileitem.cpp",
+ "msbuildfileitem.h",
+ "msbuildfilter.cpp",
+ "msbuildfilter.h",
+ "msbuildlink.cpp",
+ "msbuildlink.h",
+ "msbuildnone.cpp",
+ "msbuildnone.h",
+ ]
+ }
+ Group {
+ name: "Visual Studio Object Model I/O"
+ prefix: "io/"
+ files: [
+ "msbuildprojectwriter.cpp",
+ "msbuildprojectwriter.h",
+ "visualstudiosolutionwriter.cpp",
+ "visualstudiosolutionwriter.h",
+ ]
+ }
+}
diff --git a/src/plugins/generator/visualstudio/msbuild/imsbuildgroup.cpp b/src/lib/msbuild/msbuild/imsbuildgroup.cpp
index 81078ecb9..81078ecb9 100644
--- a/src/plugins/generator/visualstudio/msbuild/imsbuildgroup.cpp
+++ b/src/lib/msbuild/msbuild/imsbuildgroup.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/imsbuildgroup.h b/src/lib/msbuild/msbuild/imsbuildgroup.h
index 3d9115643..3d9115643 100644
--- a/src/plugins/generator/visualstudio/msbuild/imsbuildgroup.h
+++ b/src/lib/msbuild/msbuild/imsbuildgroup.h
diff --git a/src/plugins/generator/visualstudio/msbuild/imsbuildnode.cpp b/src/lib/msbuild/msbuild/imsbuildnode.cpp
index f563f7b07..f563f7b07 100644
--- a/src/plugins/generator/visualstudio/msbuild/imsbuildnode.cpp
+++ b/src/lib/msbuild/msbuild/imsbuildnode.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/imsbuildnode.h b/src/lib/msbuild/msbuild/imsbuildnode.h
index 67fb10081..67fb10081 100644
--- a/src/plugins/generator/visualstudio/msbuild/imsbuildnode.h
+++ b/src/lib/msbuild/msbuild/imsbuildnode.h
diff --git a/src/plugins/generator/visualstudio/msbuild/imsbuildnodevisitor.h b/src/lib/msbuild/msbuild/imsbuildnodevisitor.h
index 84239d648..84239d648 100644
--- a/src/plugins/generator/visualstudio/msbuild/imsbuildnodevisitor.h
+++ b/src/lib/msbuild/msbuild/imsbuildnodevisitor.h
diff --git a/src/plugins/generator/visualstudio/msbuild/imsbuildproperty.cpp b/src/lib/msbuild/msbuild/imsbuildproperty.cpp
index be18f1a5b..be18f1a5b 100644
--- a/src/plugins/generator/visualstudio/msbuild/imsbuildproperty.cpp
+++ b/src/lib/msbuild/msbuild/imsbuildproperty.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/imsbuildproperty.h b/src/lib/msbuild/msbuild/imsbuildproperty.h
index 13f26f070..13f26f070 100644
--- a/src/plugins/generator/visualstudio/msbuild/imsbuildproperty.h
+++ b/src/lib/msbuild/msbuild/imsbuildproperty.h
diff --git a/src/plugins/generator/visualstudio/msbuild/items/msbuildclcompile.cpp b/src/lib/msbuild/msbuild/items/msbuildclcompile.cpp
index d8a587454..d8a587454 100644
--- a/src/plugins/generator/visualstudio/msbuild/items/msbuildclcompile.cpp
+++ b/src/lib/msbuild/msbuild/items/msbuildclcompile.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/items/msbuildclcompile.h b/src/lib/msbuild/msbuild/items/msbuildclcompile.h
index 8c326a036..8c326a036 100644
--- a/src/plugins/generator/visualstudio/msbuild/items/msbuildclcompile.h
+++ b/src/lib/msbuild/msbuild/items/msbuildclcompile.h
diff --git a/src/plugins/generator/visualstudio/msbuild/items/msbuildclinclude.cpp b/src/lib/msbuild/msbuild/items/msbuildclinclude.cpp
index d9c61bece..d9c61bece 100644
--- a/src/plugins/generator/visualstudio/msbuild/items/msbuildclinclude.cpp
+++ b/src/lib/msbuild/msbuild/items/msbuildclinclude.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/items/msbuildclinclude.h b/src/lib/msbuild/msbuild/items/msbuildclinclude.h
index 77d8e0ff2..77d8e0ff2 100644
--- a/src/plugins/generator/visualstudio/msbuild/items/msbuildclinclude.h
+++ b/src/lib/msbuild/msbuild/items/msbuildclinclude.h
diff --git a/src/plugins/generator/visualstudio/msbuild/items/msbuildfileitem.cpp b/src/lib/msbuild/msbuild/items/msbuildfileitem.cpp
index 4cbb01d04..4cbb01d04 100644
--- a/src/plugins/generator/visualstudio/msbuild/items/msbuildfileitem.cpp
+++ b/src/lib/msbuild/msbuild/items/msbuildfileitem.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/items/msbuildfileitem.h b/src/lib/msbuild/msbuild/items/msbuildfileitem.h
index f34ac119a..f34ac119a 100644
--- a/src/plugins/generator/visualstudio/msbuild/items/msbuildfileitem.h
+++ b/src/lib/msbuild/msbuild/items/msbuildfileitem.h
diff --git a/src/plugins/generator/visualstudio/msbuild/items/msbuildfilter.cpp b/src/lib/msbuild/msbuild/items/msbuildfilter.cpp
index 0b9c2c86a..0b9c2c86a 100644
--- a/src/plugins/generator/visualstudio/msbuild/items/msbuildfilter.cpp
+++ b/src/lib/msbuild/msbuild/items/msbuildfilter.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/items/msbuildfilter.h b/src/lib/msbuild/msbuild/items/msbuildfilter.h
index fb977f1cc..fb977f1cc 100644
--- a/src/plugins/generator/visualstudio/msbuild/items/msbuildfilter.h
+++ b/src/lib/msbuild/msbuild/items/msbuildfilter.h
diff --git a/src/plugins/generator/visualstudio/msbuild/items/msbuildlink.cpp b/src/lib/msbuild/msbuild/items/msbuildlink.cpp
index cae1a63a3..cae1a63a3 100644
--- a/src/plugins/generator/visualstudio/msbuild/items/msbuildlink.cpp
+++ b/src/lib/msbuild/msbuild/items/msbuildlink.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/items/msbuildlink.h b/src/lib/msbuild/msbuild/items/msbuildlink.h
index 3d7a3ab44..3d7a3ab44 100644
--- a/src/plugins/generator/visualstudio/msbuild/items/msbuildlink.h
+++ b/src/lib/msbuild/msbuild/items/msbuildlink.h
diff --git a/src/plugins/generator/visualstudio/msbuild/items/msbuildnone.cpp b/src/lib/msbuild/msbuild/items/msbuildnone.cpp
index a590c6e9f..a590c6e9f 100644
--- a/src/plugins/generator/visualstudio/msbuild/items/msbuildnone.cpp
+++ b/src/lib/msbuild/msbuild/items/msbuildnone.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/items/msbuildnone.h b/src/lib/msbuild/msbuild/items/msbuildnone.h
index 3779da04f..3779da04f 100644
--- a/src/plugins/generator/visualstudio/msbuild/items/msbuildnone.h
+++ b/src/lib/msbuild/msbuild/items/msbuildnone.h
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuildimport.cpp b/src/lib/msbuild/msbuild/msbuildimport.cpp
index 000af4496..000af4496 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuildimport.cpp
+++ b/src/lib/msbuild/msbuild/msbuildimport.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuildimport.h b/src/lib/msbuild/msbuild/msbuildimport.h
index 65f9bc056..65f9bc056 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuildimport.h
+++ b/src/lib/msbuild/msbuild/msbuildimport.h
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuildimportgroup.cpp b/src/lib/msbuild/msbuild/msbuildimportgroup.cpp
index d84d81783..d84d81783 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuildimportgroup.cpp
+++ b/src/lib/msbuild/msbuild/msbuildimportgroup.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuildimportgroup.h b/src/lib/msbuild/msbuild/msbuildimportgroup.h
index a21cb5a54..a21cb5a54 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuildimportgroup.h
+++ b/src/lib/msbuild/msbuild/msbuildimportgroup.h
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuilditem.cpp b/src/lib/msbuild/msbuild/msbuilditem.cpp
index ed181a453..ed181a453 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuilditem.cpp
+++ b/src/lib/msbuild/msbuild/msbuilditem.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuilditem.h b/src/lib/msbuild/msbuild/msbuilditem.h
index d01a357a2..d01a357a2 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuilditem.h
+++ b/src/lib/msbuild/msbuild/msbuilditem.h
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuilditemdefinitiongroup.cpp b/src/lib/msbuild/msbuild/msbuilditemdefinitiongroup.cpp
index 1479577c5..1479577c5 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuilditemdefinitiongroup.cpp
+++ b/src/lib/msbuild/msbuild/msbuilditemdefinitiongroup.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuilditemdefinitiongroup.h b/src/lib/msbuild/msbuild/msbuilditemdefinitiongroup.h
index 3c324699d..3c324699d 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuilditemdefinitiongroup.h
+++ b/src/lib/msbuild/msbuild/msbuilditemdefinitiongroup.h
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuilditemgroup.cpp b/src/lib/msbuild/msbuild/msbuilditemgroup.cpp
index 48f919709..48f919709 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuilditemgroup.cpp
+++ b/src/lib/msbuild/msbuild/msbuilditemgroup.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuilditemgroup.h b/src/lib/msbuild/msbuild/msbuilditemgroup.h
index bbbdb0e69..bbbdb0e69 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuilditemgroup.h
+++ b/src/lib/msbuild/msbuild/msbuilditemgroup.h
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuilditemmetadata.cpp b/src/lib/msbuild/msbuild/msbuilditemmetadata.cpp
index daaa4c6b3..daaa4c6b3 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuilditemmetadata.cpp
+++ b/src/lib/msbuild/msbuild/msbuilditemmetadata.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuilditemmetadata.h b/src/lib/msbuild/msbuild/msbuilditemmetadata.h
index 09da2649c..09da2649c 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuilditemmetadata.h
+++ b/src/lib/msbuild/msbuild/msbuilditemmetadata.h
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuildproject.cpp b/src/lib/msbuild/msbuild/msbuildproject.cpp
index 11b5b81ea..11b5b81ea 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuildproject.cpp
+++ b/src/lib/msbuild/msbuild/msbuildproject.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuildproject.h b/src/lib/msbuild/msbuild/msbuildproject.h
index 5281f615d..5281f615d 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuildproject.h
+++ b/src/lib/msbuild/msbuild/msbuildproject.h
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuildproperty.cpp b/src/lib/msbuild/msbuild/msbuildproperty.cpp
index 410e2a694..410e2a694 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuildproperty.cpp
+++ b/src/lib/msbuild/msbuild/msbuildproperty.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuildproperty.h b/src/lib/msbuild/msbuild/msbuildproperty.h
index de2c52394..de2c52394 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuildproperty.h
+++ b/src/lib/msbuild/msbuild/msbuildproperty.h
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuildpropertygroup.cpp b/src/lib/msbuild/msbuild/msbuildpropertygroup.cpp
index 5acb73dad..5acb73dad 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuildpropertygroup.cpp
+++ b/src/lib/msbuild/msbuild/msbuildpropertygroup.cpp
diff --git a/src/plugins/generator/visualstudio/msbuild/msbuildpropertygroup.h b/src/lib/msbuild/msbuild/msbuildpropertygroup.h
index 60bdb008e..60bdb008e 100644
--- a/src/plugins/generator/visualstudio/msbuild/msbuildpropertygroup.h
+++ b/src/lib/msbuild/msbuild/msbuildpropertygroup.h
diff --git a/src/plugins/generator/visualstudio/solution/ivisualstudiosolutionproject.cpp b/src/lib/msbuild/solution/ivisualstudiosolutionproject.cpp
index 4623b5d4d..4623b5d4d 100644
--- a/src/plugins/generator/visualstudio/solution/ivisualstudiosolutionproject.cpp
+++ b/src/lib/msbuild/solution/ivisualstudiosolutionproject.cpp
diff --git a/src/plugins/generator/visualstudio/solution/ivisualstudiosolutionproject.h b/src/lib/msbuild/solution/ivisualstudiosolutionproject.h
index 6f8574aed..6f8574aed 100644
--- a/src/plugins/generator/visualstudio/solution/ivisualstudiosolutionproject.h
+++ b/src/lib/msbuild/solution/ivisualstudiosolutionproject.h
diff --git a/src/plugins/generator/visualstudio/solution/visualstudiosolution.cpp b/src/lib/msbuild/solution/visualstudiosolution.cpp
index 89b266647..89b266647 100644
--- a/src/plugins/generator/visualstudio/solution/visualstudiosolution.cpp
+++ b/src/lib/msbuild/solution/visualstudiosolution.cpp
diff --git a/src/plugins/generator/visualstudio/solution/visualstudiosolution.h b/src/lib/msbuild/solution/visualstudiosolution.h
index ba304c00c..ba304c00c 100644
--- a/src/plugins/generator/visualstudio/solution/visualstudiosolution.h
+++ b/src/lib/msbuild/solution/visualstudiosolution.h
diff --git a/src/plugins/generator/visualstudio/solution/visualstudiosolutionfileproject.cpp b/src/lib/msbuild/solution/visualstudiosolutionfileproject.cpp
index ab5db088d..ab5db088d 100644
--- a/src/plugins/generator/visualstudio/solution/visualstudiosolutionfileproject.cpp
+++ b/src/lib/msbuild/solution/visualstudiosolutionfileproject.cpp
diff --git a/src/plugins/generator/visualstudio/solution/visualstudiosolutionfileproject.h b/src/lib/msbuild/solution/visualstudiosolutionfileproject.h
index 2039146b6..2039146b6 100644
--- a/src/plugins/generator/visualstudio/solution/visualstudiosolutionfileproject.h
+++ b/src/lib/msbuild/solution/visualstudiosolutionfileproject.h
diff --git a/src/plugins/generator/visualstudio/solution/visualstudiosolutionfolderproject.cpp b/src/lib/msbuild/solution/visualstudiosolutionfolderproject.cpp
index d59d1e1ed..d59d1e1ed 100644
--- a/src/plugins/generator/visualstudio/solution/visualstudiosolutionfolderproject.cpp
+++ b/src/lib/msbuild/solution/visualstudiosolutionfolderproject.cpp
diff --git a/src/plugins/generator/visualstudio/solution/visualstudiosolutionfolderproject.h b/src/lib/msbuild/solution/visualstudiosolutionfolderproject.h
index a7fd180cc..a7fd180cc 100644
--- a/src/plugins/generator/visualstudio/solution/visualstudiosolutionfolderproject.h
+++ b/src/lib/msbuild/solution/visualstudiosolutionfolderproject.h
diff --git a/src/plugins/generator/visualstudio/solution/visualstudiosolutionglobalsection.cpp b/src/lib/msbuild/solution/visualstudiosolutionglobalsection.cpp
index 5cbb0cd61..5cbb0cd61 100644
--- a/src/plugins/generator/visualstudio/solution/visualstudiosolutionglobalsection.cpp
+++ b/src/lib/msbuild/solution/visualstudiosolutionglobalsection.cpp
diff --git a/src/plugins/generator/visualstudio/solution/visualstudiosolutionglobalsection.h b/src/lib/msbuild/solution/visualstudiosolutionglobalsection.h
index 6d383e7d4..6d383e7d4 100644
--- a/src/plugins/generator/visualstudio/solution/visualstudiosolutionglobalsection.h
+++ b/src/lib/msbuild/solution/visualstudiosolutionglobalsection.h
diff --git a/src/lib/msbuild/use_installed_msbuild.pri b/src/lib/msbuild/use_installed_msbuild.pri
new file mode 100644
index 000000000..af89b2550
--- /dev/null
+++ b/src/lib/msbuild/use_installed_msbuild.pri
@@ -0,0 +1,20 @@
+include(use_installed_corelib.pri)
+
+LIBNAME=qbsmsbuild
+
+unix:LIBS += -l$${LIBNAME}
+
+win32 {
+ CONFIG(debug, debug|release) {
+ QBSMSBUILDLIB = $${LIBNAME}d$${QBSCORELIBSUFFIX}
+ }
+ CONFIG(release, debug|release) {
+ QBSMSBUILDLIB = $${LIBNAME}$${QBSCORELIBSUFFIX}
+ }
+ msvc {
+ QBSMSBUILDLIB = $${QBSMSBUILDLIB}.lib
+ } else {
+ QBSMSBUILDLIB = lib$${QBSMSBUILDLIB}
+ }
+ LIBS += $${QBSMSBUILDLIB}
+}
diff --git a/src/lib/msbuild/use_msbuild.pri b/src/lib/msbuild/use_msbuild.pri
new file mode 100644
index 000000000..bb69968d5
--- /dev/null
+++ b/src/lib/msbuild/use_msbuild.pri
@@ -0,0 +1,38 @@
+include(../../library_dirname.pri)
+
+isEmpty(QBSLIBDIR) {
+ QBSLIBDIR = $${OUT_PWD}/../../../$${QBS_LIBRARY_DIRNAME}
+}
+
+LIBNAME=qbsmsbuild
+
+unix {
+ LIBS += -L$${QBSLIBDIR} -l$${LIBNAME}
+}
+
+win32 {
+ CONFIG(debug, debug|release) {
+ QBSMSBUILDLIB = $${LIBNAME}d
+ }
+ CONFIG(release, debug|release) {
+ QBSMSBUILDLIB = $${LIBNAME}
+ }
+ msvc {
+ LIBS += /LIBPATH:$$QBSLIBDIR
+ QBSMSBUILDLIB = $${QBSMSBUILDLIB}.lib
+ LIBS += Shell32.lib
+ } else {
+ LIBS += -L$${QBSLIBDIR}
+ QBSMSBUILDLIB = lib$${QBSMSBUILDLIB}
+ }
+ LIBS += $${QBSMSBUILDLIB}
+}
+
+INCLUDEPATH += \
+ $$PWD
+
+CONFIG += depend_includepath
+
+CONFIG(static, static|shared) {
+ DEFINES += QBS_STATIC_LIB
+}
diff --git a/src/lib/staticlibrary.pri b/src/lib/staticlibrary.pri
new file mode 100644
index 000000000..57f780b78
--- /dev/null
+++ b/src/lib/staticlibrary.pri
@@ -0,0 +1,4 @@
+include(library_base.pri)
+
+CONFIG += staticlib
+DEFINES += QBS_STATIC_LIB
diff --git a/src/plugins/generator/visualstudio/visualstudio.pro b/src/plugins/generator/visualstudio/visualstudio.pro
index 7d2398c8d..5231c01dc 100644
--- a/src/plugins/generator/visualstudio/visualstudio.pro
+++ b/src/plugins/generator/visualstudio/visualstudio.pro
@@ -1,6 +1,9 @@
include(visualstudio.pri)
include(../../plugins.pri)
include(../../../shared/json/json.pri)
+include(../../../lib/msbuild/use_msbuild.pri)
+
+INCLUDEPATH += ../../../lib/msbuild
QT = core
@@ -25,70 +28,3 @@ SOURCES += \
$$PWD/visualstudiogenerator.cpp \
$$PWD/visualstudiogeneratorplugin.cpp \
$$PWD/visualstudioguidpool.cpp
-
-HEADERS += \
- $$PWD/solution/ivisualstudiosolutionproject.h \
- $$PWD/solution/visualstudiosolutionfileproject.h \
- $$PWD/solution/visualstudiosolutionfolderproject.h \
- $$PWD/solution/visualstudiosolution.h \
- $$PWD/solution/visualstudiosolutionglobalsection.h \
-
-SOURCES += \
- $$PWD/solution/ivisualstudiosolutionproject.cpp \
- $$PWD/solution/visualstudiosolutionfileproject.cpp \
- $$PWD/solution/visualstudiosolutionfolderproject.cpp \
- $$PWD/solution/visualstudiosolution.cpp \
- $$PWD/solution/visualstudiosolutionglobalsection.cpp
-
-HEADERS += \
- $$PWD/msbuild/imsbuildgroup.h \
- $$PWD/msbuild/imsbuildnode.h \
- $$PWD/msbuild/imsbuildnodevisitor.h \
- $$PWD/msbuild/imsbuildproperty.h \
- $$PWD/msbuild/msbuildimport.h \
- $$PWD/msbuild/msbuildimportgroup.h \
- $$PWD/msbuild/msbuilditem.h \
- $$PWD/msbuild/msbuilditemdefinitiongroup.h \
- $$PWD/msbuild/msbuilditemgroup.h \
- $$PWD/msbuild/msbuilditemmetadata.h \
- $$PWD/msbuild/msbuildproject.h \
- $$PWD/msbuild/msbuildproperty.h \
- $$PWD/msbuild/msbuildpropertygroup.h
-
-SOURCES += \
- $$PWD/msbuild/imsbuildgroup.cpp \
- $$PWD/msbuild/imsbuildnode.cpp \
- $$PWD/msbuild/imsbuildproperty.cpp \
- $$PWD/msbuild/msbuildimport.cpp \
- $$PWD/msbuild/msbuildimportgroup.cpp \
- $$PWD/msbuild/msbuilditem.cpp \
- $$PWD/msbuild/msbuilditemdefinitiongroup.cpp \
- $$PWD/msbuild/msbuilditemgroup.cpp \
- $$PWD/msbuild/msbuilditemmetadata.cpp \
- $$PWD/msbuild/msbuildproject.cpp \
- $$PWD/msbuild/msbuildproperty.cpp \
- $$PWD/msbuild/msbuildpropertygroup.cpp
-
-HEADERS += \
- $$PWD/msbuild/items/msbuildclcompile.h \
- $$PWD/msbuild/items/msbuildclinclude.h \
- $$PWD/msbuild/items/msbuildfileitem.h \
- $$PWD/msbuild/items/msbuildfilter.h \
- $$PWD/msbuild/items/msbuildlink.h \
- $$PWD/msbuild/items/msbuildnone.h
-
-SOURCES += \
- $$PWD/msbuild/items/msbuildclcompile.cpp \
- $$PWD/msbuild/items/msbuildclinclude.cpp \
- $$PWD/msbuild/items/msbuildfileitem.cpp \
- $$PWD/msbuild/items/msbuildfilter.cpp \
- $$PWD/msbuild/items/msbuildlink.cpp \
- $$PWD/msbuild/items/msbuildnone.cpp
-
-HEADERS += \
- $$PWD/io/msbuildprojectwriter.h \
- $$PWD/io/visualstudiosolutionwriter.h
-
-SOURCES += \
- $$PWD/io/msbuildprojectwriter.cpp \
- $$PWD/io/visualstudiosolutionwriter.cpp
diff --git a/src/plugins/generator/visualstudio/visualstudio.qbs b/src/plugins/generator/visualstudio/visualstudio.qbs
index 41a620252..dcb165d55 100644
--- a/src/plugins/generator/visualstudio/visualstudio.qbs
+++ b/src/plugins/generator/visualstudio/visualstudio.qbs
@@ -3,6 +3,7 @@ import "../../qbsplugin.qbs" as QbsPlugin
QbsPlugin {
Depends { name: "qbsjson" }
+ Depends { name: "qbsmsbuild" }
name: "visualstudiogenerator"
@@ -30,79 +31,4 @@ QbsPlugin {
"visualstudioguidpool.h",
]
}
- Group {
- name: "Solution Object Model"
- prefix: "solution/"
- files: [
- "ivisualstudiosolutionproject.cpp",
- "ivisualstudiosolutionproject.h",
- "visualstudiosolutionfileproject.cpp",
- "visualstudiosolutionfileproject.h",
- "visualstudiosolutionfolderproject.cpp",
- "visualstudiosolutionfolderproject.h",
- "visualstudiosolution.cpp",
- "visualstudiosolution.h",
- "visualstudiosolutionglobalsection.cpp",
- "visualstudiosolutionglobalsection.h",
- ]
- }
- Group {
- name: "MSBuild Object Model"
- prefix: "msbuild/"
- files: [
- "imsbuildgroup.cpp",
- "imsbuildgroup.h",
- "imsbuildnode.cpp",
- "imsbuildnode.h",
- "imsbuildnodevisitor.h",
- "imsbuildproperty.cpp",
- "imsbuildproperty.h",
- "msbuildimport.cpp",
- "msbuildimport.h",
- "msbuildimportgroup.cpp",
- "msbuildimportgroup.h",
- "msbuilditem.cpp",
- "msbuilditem.h",
- "msbuilditemdefinitiongroup.cpp",
- "msbuilditemdefinitiongroup.h",
- "msbuilditemgroup.cpp",
- "msbuilditemgroup.h",
- "msbuilditemmetadata.cpp",
- "msbuilditemmetadata.h",
- "msbuildproject.cpp",
- "msbuildproject.h",
- "msbuildproperty.cpp",
- "msbuildproperty.h",
- "msbuildpropertygroup.cpp",
- "msbuildpropertygroup.h",
- ]
- }
- Group {
- name: "MSBuild Object Model Items"
- prefix: "msbuild/items/"
- files: [
- "msbuildclcompile.cpp",
- "msbuildclcompile.h",
- "msbuildclinclude.cpp",
- "msbuildclinclude.h",
- "msbuildfileitem.cpp",
- "msbuildfileitem.h",
- "msbuildfilter.cpp",
- "msbuildfilter.h",
- "msbuildlink.cpp",
- "msbuildlink.h",
- "msbuildnone.cpp",
- "msbuildnone.h",
- ]
- }
- Group {
- name: "Visual Studio Object Model I/O"
- prefix: "io/"
- files: [
- "msbuildprojectwriter.cpp",
- "msbuildprojectwriter.h",
- "visualstudiosolutionwriter.cpp",
- "visualstudiosolutionwriter.h",
- ]
- }
}