forked from emqx/qmqtt
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Psy-Kai
committed
Jan 23, 2017
1 parent
73b374f
commit b9fc71a
Showing
14 changed files
with
348 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
*.pro.user* | ||
*.qbs.user* | ||
debug | ||
release | ||
*.autosave |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import qbs | ||
|
||
Project { | ||
name: "Examples" | ||
|
||
references: [ | ||
"mqtt" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
import qbs | ||
|
||
QtApplication { | ||
name: "Client" | ||
targetName: "qmqtt_example" | ||
|
||
files: [ | ||
"example.cpp" | ||
] | ||
|
||
Depends { | ||
name: "Qt" | ||
submodules: [ | ||
"core", | ||
"network", | ||
] | ||
} | ||
|
||
Depends { | ||
name: "qmqtt" | ||
} | ||
|
||
Group { | ||
fileTagsFilter: "application" | ||
qbs.install: true | ||
qbs.installDir: "bin" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import qbs | ||
|
||
Project { | ||
name: "mqtt" | ||
|
||
references: [ | ||
"client" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
import qbs | ||
|
||
Project { | ||
name: "QMQTT" | ||
|
||
references: [ | ||
"examples", | ||
"src", | ||
"tests", | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
import qbs | ||
import qbs.TextFile | ||
|
||
Product { | ||
name: "qmqtt" | ||
type: [ | ||
libraryType, | ||
"mqttmodule", | ||
] | ||
property string libraryType: "dynamiclibrary" | ||
targetName: "qmqtt" | ||
|
||
cpp.defines: [ | ||
"QT_BUILD_MQTT_LIB", | ||
"QT_NO_CAST_TO_ASCII", | ||
"QT_NO_CAST_FROM_ASCII", | ||
] | ||
|
||
cpp.includePaths: sourceDirectory | ||
|
||
files: [ | ||
"*.cpp", | ||
"*_p.h", | ||
] | ||
|
||
Group { | ||
name: "Public Headers" | ||
fileTags: [ | ||
"hpp", | ||
"public_headers" | ||
] | ||
files: [ | ||
"*.h" | ||
] | ||
excludeFiles: parent.files | ||
} | ||
|
||
Group { | ||
name: "mqtt Module Template" | ||
fileTags: [ | ||
"mqttmoduletemplate" | ||
] | ||
files: "mqttModule.qbs" | ||
} | ||
|
||
Group { | ||
fileTagsFilter: libraryType | ||
qbs.install: true | ||
qbs.installDir: "lib" | ||
} | ||
|
||
Group { | ||
fileTagsFilter: "public_headers" | ||
qbs.install: true | ||
qbs.installDir: "include/"+product.name | ||
} | ||
|
||
Rule { | ||
/* TODO: copy mqtt-module in module directory */ | ||
inputs: "mqttmoduletemplate" | ||
Artifact { | ||
filePath: "mqtt/"+input.fileName | ||
fileTags: "mqttmodule" | ||
} | ||
prepare: { | ||
var cmd = new JavaScriptCommand(); | ||
cmd.description = "Create Mqtt Module"; | ||
cmd.highlight = "codegen"; | ||
cmd.sourceCode = function() { | ||
var file = new TextFile(input.filePath); | ||
var content = file.readAll(); | ||
file.close() | ||
content = content.replace(/dummyIncludePath/g, '"'+input.moduleProperty("qbs", "installRoot")+'/include/'+product.targetName+'"'); | ||
content = content.replace(/dummyLibraryPath/g, '"'+input.moduleProperty("qbs", "installRoot")+'/lib"'); | ||
content = content.replace(/dummyLibrary/g, product.libraryType === "dynamiclibrary" ? "dynamicLibraries" : "staticLibraries"); | ||
file = new TextFile(output.filePath, TextFile.WriteOnly); | ||
file.write(content); | ||
file.close(); | ||
} | ||
return cmd; | ||
} | ||
} | ||
|
||
Depends { | ||
name: "cpp" | ||
} | ||
|
||
Depends { | ||
name: "Qt" | ||
submodules: [ | ||
"core", | ||
"network", | ||
] | ||
} | ||
|
||
Export { | ||
Depends { | ||
name: "cpp" | ||
} | ||
|
||
Depends { | ||
name: "Qt" | ||
submodules: [ | ||
"core", | ||
"network", | ||
] | ||
} | ||
|
||
cpp.includePaths: product.sourceDirectory | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
import qbs | ||
|
||
Module { | ||
Depends { | ||
name: "cpp" | ||
} | ||
|
||
Depends { | ||
name: "Qt" | ||
submodules: [ | ||
"core", | ||
"network", | ||
] | ||
} | ||
|
||
cpp.includePaths: dummyIncludePath | ||
cpp.libraryPaths: dummyLibraryPath | ||
cpp.dummyLibrary: "mqtt" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import qbs | ||
|
||
Project { | ||
name: "Sources" | ||
|
||
references: [ | ||
"mqtt/mqtt.qbs" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
import qbs | ||
|
||
Project { | ||
name: "Auto" | ||
|
||
references: [ | ||
"cmake" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
import qbs | ||
|
||
/* TODO: add cmake test */ | ||
Product { | ||
name: "CMake" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
import qbs | ||
|
||
Project { | ||
name: "GTest" | ||
property bool runUnitTests: true | ||
|
||
references: [ | ||
"gtest", | ||
"tests", | ||
] | ||
|
||
AutotestRunner { | ||
condition: runUnitTests && qbs.targetOS.contains("unix") | ||
|
||
Properties { | ||
condition: qbs.targetOS.contains("macx") | ||
|
||
/* TODO: if needed, add "install_name_tool" usage */ | ||
} | ||
|
||
Depends { | ||
name: "Google-Test" | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
import qbs | ||
|
||
DynamicLibrary { | ||
name: "Google-Test" | ||
targetName: "gtest" | ||
|
||
cpp.defines: [ | ||
"GTEST_LIBRARY" | ||
] | ||
|
||
files: [ | ||
"googletest/googletest/src/gtest-all.cc", | ||
"googletest/googlemock/src/gmock-all.cc", | ||
] | ||
|
||
cpp.includePaths: [ | ||
"googletest/googletest/include", | ||
"googletest/googletest", | ||
"googletest/googlemock/include", | ||
"googletest/googlemock", | ||
] | ||
|
||
Depends { | ||
name: "Qt" | ||
submodules: [ | ||
"core" | ||
] | ||
} | ||
|
||
Export { | ||
Depends { | ||
name: "cpp" | ||
} | ||
|
||
cpp.includePaths: [ | ||
"googletest/googletest/include", | ||
"googletest/googlemock/include", | ||
] | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
import qbs | ||
import qbs.Process | ||
|
||
Product { | ||
name: "Tests" | ||
type: [ | ||
"application", | ||
] | ||
targetName: "qmqtt_tests" | ||
|
||
cpp.defines: [ | ||
"QMQTT_LIBRARY_TESTS" | ||
] | ||
|
||
files: [ | ||
"clienttest.cpp", | ||
"tcpserver.cpp", | ||
"main.cpp", | ||
"customprinter.cpp", | ||
"networktest.cpp", | ||
"messagetest.cpp", | ||
"frametest.cpp", | ||
"sockettest.cpp", | ||
"tcpserver.h", | ||
"customprinter.h", | ||
"networkmock.h", | ||
"socketmock.h", | ||
"timermock.h", | ||
"iodevicemock.h", | ||
] | ||
|
||
Depends { | ||
name: "Qt" | ||
submodules: [ | ||
"core", | ||
"network", | ||
"testlib", | ||
] | ||
} | ||
|
||
Depends { | ||
name: "Google-Test" | ||
} | ||
|
||
Depends { | ||
name: "qmqtt" | ||
} | ||
|
||
Depends { | ||
/* TODO: if needed, create mqtt-private */ | ||
name: "mqtt-private" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
import qbs | ||
|
||
Project { | ||
name: "Tests" | ||
/* NOTE: to change this just add "Tests.buildUnitTests:false" or "Tests.buildUnitTests:true" to qbs call */ | ||
property bool buildUnitTests: true | ||
|
||
references: [ | ||
"auto" | ||
] | ||
|
||
SubProject { | ||
filePath: "gtest/gtest.qbs" | ||
Properties { | ||
condition: qbs.targetOS.contains("unix") && buildUnitTests | ||
} | ||
} | ||
} |