mirror of
https://github.com/pocoproject/poco.git
synced 2025-02-21 06:37:42 +01:00
commit
f0a79015f7
15
.gitignore
vendored
15
.gitignore
vendored
@ -16,6 +16,21 @@
|
||||
*.vsp
|
||||
*.psess
|
||||
|
||||
# Gradle #
|
||||
##########
|
||||
.gradle/
|
||||
gradle/
|
||||
|
||||
# NuGet #
|
||||
#########
|
||||
*.nupkg
|
||||
|
||||
# WiX #
|
||||
#######
|
||||
*.msi
|
||||
*.wixobj
|
||||
*.wixpdb
|
||||
|
||||
# Make #
|
||||
########
|
||||
config.build
|
||||
|
3
.gitmodules
vendored
3
.gitmodules
vendored
@ -1,3 +1,6 @@
|
||||
[submodule "openssl"]
|
||||
path = openssl
|
||||
url = https://github.com/pocoproject/openssl
|
||||
[submodule "gradle"]
|
||||
path = gradle
|
||||
url = https://github.com/pocoproject/gradle
|
||||
|
13
.travis.yml
13
.travis.yml
@ -85,19 +85,32 @@ matrix:
|
||||
# - export POCO_BASE=`pwd`
|
||||
# - sudo -E build/script/runtests.sh
|
||||
|
||||
# build documentation and release
|
||||
- env: TEST_NAME="documentation & release"
|
||||
compiler: gcc
|
||||
script:
|
||||
- $CXX --version
|
||||
- . env.sh && mkdoc all && mkrel all
|
||||
- find releases/poco*-all
|
||||
- find releases/poco*-all-doc
|
||||
|
||||
# QA jobs for code analytics and metrics
|
||||
# static code analysis with cppcheck (we can add --enable=all later)
|
||||
- env: TEST_NAME="cppcheck"
|
||||
script: cppcheck --force --quiet --inline-suppr -j2 -iData/SQLite/src/sqlite3.c .
|
||||
|
||||
# search for TODO within source tree
|
||||
- env: TEST_NAME="TODO"
|
||||
script: grep -r TODO *
|
||||
|
||||
# search for FIXME within source tree
|
||||
- env: TEST_NAME="FIXME"
|
||||
script: grep -r FIXME *
|
||||
|
||||
# search for HACK within source tree
|
||||
- env: TEST_NAME="HACK"
|
||||
script: grep -r HACK *
|
||||
|
||||
# some statistics about the code base
|
||||
- env: TEST_NAME="sloccount"
|
||||
script: sloccount .
|
||||
|
32
CppParser/build.gradle
Normal file
32
CppParser/build.gradle
Normal file
@ -0,0 +1,32 @@
|
||||
model {
|
||||
components {
|
||||
CppParser(NativeLibrarySpec) {
|
||||
sources {
|
||||
rc {
|
||||
source {
|
||||
srcDir '..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "CppParser_EXPORTS"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
52
CppParser/testsuite/build.gradle
Normal file
52
CppParser/testsuite/build.gradle
Normal file
@ -0,0 +1,52 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit'
|
||||
lib project: ':CppParser', library: 'CppParser'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
CppParserTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
||||
|
||||
|
33
CppUnit/WinTestRunner/build.gradle
Normal file
33
CppUnit/WinTestRunner/build.gradle
Normal file
@ -0,0 +1,33 @@
|
||||
project(":CppUnit/WinTestRunner") {
|
||||
model {
|
||||
components {
|
||||
PocoWinTestRunner(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'PocoCppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "WinTestRunner_EXPORTS"
|
||||
}
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'PocoCppUnit', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
35
CppUnit/build.gradle
Normal file
35
CppUnit/build.gradle
Normal file
@ -0,0 +1,35 @@
|
||||
model {
|
||||
components {
|
||||
CppUnit(NativeLibrarySpec) {
|
||||
sources {
|
||||
rc {
|
||||
source {
|
||||
srcDir '..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "CppUnit_EXPORTS"
|
||||
}
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
||||
|
45
Crypto/build.gradle
Normal file
45
Crypto/build.gradle
Normal file
@ -0,0 +1,45 @@
|
||||
model {
|
||||
components {
|
||||
Crypto(NativeLibrarySpec) {
|
||||
sources {
|
||||
rc {
|
||||
source {
|
||||
srcDir '..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib library: 'ssl'
|
||||
lib library: 'crypto'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
if (toolChain in VisualCpp) {
|
||||
linker.args "ws2_32.lib"
|
||||
linker.args "iphlpapi.lib"
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
linker.args "-lssl"
|
||||
linker.args "-lcrypto"
|
||||
}
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "Crypto_EXPORTS"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
27
Crypto/samples/build.gradle
Normal file
27
Crypto/samples/build.gradle
Normal file
@ -0,0 +1,27 @@
|
||||
model {
|
||||
components {
|
||||
genrsakey(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'genrsakey/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Crypto', library: 'Crypto'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
withType(NativeExecutableSpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
task sample { dependsOn "assemble" }
|
||||
|
||||
|
65
Crypto/testsuite/build.gradle
Normal file
65
Crypto/testsuite/build.gradle
Normal file
@ -0,0 +1,65 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit'
|
||||
lib project: ':Crypto', library: 'Crypto'
|
||||
lib library: 'ssl'
|
||||
lib library: 'crypto'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
CryptoTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
||||
|
104
Data/MySQL/build.gradle
Normal file
104
Data/MySQL/build.gradle
Normal file
@ -0,0 +1,104 @@
|
||||
model {
|
||||
repositories {
|
||||
libs(PrebuiltLibraries) {
|
||||
mysql {
|
||||
headers.srcDir "$mysql32Home/include"
|
||||
binaries.withType(StaticLibraryBinary) {
|
||||
def libName = "foobar"
|
||||
if (buildType == buildTypes.debug) {
|
||||
libName = 'libmysqld.lib'
|
||||
if (targetPlatform.name == 'win32') {
|
||||
staticLibraryFile = file("$mysql32Home/lib/$libName")
|
||||
} else
|
||||
if (targetPlatform.name == 'win64') {
|
||||
headers.srcDir "$mysql64Home/include"
|
||||
staticLibraryFile = file("$mysql64Home/lib/$libName")
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
libName = 'libmysql.lib'
|
||||
if (targetPlatform.name == 'win32') {
|
||||
headers.srcDir "$mysql32Home/include"
|
||||
staticLibraryFile = file("$mysql32Home/lib/$libName")
|
||||
} else
|
||||
if (targetPlatform.name == 'win64') {
|
||||
headers.srcDir "$mysql64Home/include"
|
||||
staticLibraryFile = file("$mysql64Home/lib/$libName")
|
||||
}
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
binaries.withType(SharedLibraryBinary) {
|
||||
def dllName
|
||||
def linkName
|
||||
if (buildType == buildTypes.debug) {
|
||||
dllName = 'libmysqld.dll'
|
||||
linkName = 'libmysqld.lib'
|
||||
if (targetPlatform.name == 'win32') {
|
||||
headers.srcDir "$mysql32Home/include"
|
||||
sharedLibraryFile = file("$mysql32Home/lib/$dllName")
|
||||
sharedLibraryLinkFile = file("$mysql32Home/lib/$linkName")
|
||||
} else
|
||||
if (targetPlatform.name == 'win64') {
|
||||
headers.srcDir "$mysql64Home/include"
|
||||
sharedLibraryFile = file("$mysql64Home/lib/$dllName")
|
||||
sharedLibraryLinkFile = file("$mysql64Home/lib/$linkName")
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
dllName = 'libmysql.dll'
|
||||
linkName = 'libmysql.lib'
|
||||
if (targetPlatform.name == 'win32') {
|
||||
headers.srcDir "$mysql32Home/include"
|
||||
sharedLibraryFile = file("$mysql32Home/lib/$dllName")
|
||||
sharedLibraryLinkFile = file("$mysql32Home/lib/$linkName")
|
||||
} else
|
||||
if (targetPlatform.name == 'win64') {
|
||||
headers.srcDir "$mysql64Home/include"
|
||||
sharedLibraryFile = file("$mysql64Home/lib/$dllName")
|
||||
sharedLibraryLinkFile = file("$mysql64Home/lib/$linkName")
|
||||
}
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
components {
|
||||
DataMySQL(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib library: 'mysql'
|
||||
lib project: ':Data', library: 'Data'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
cppCompiler.define "THREADSAFE"
|
||||
cppCompiler.define "__LCC__"
|
||||
cppCompiler.define "WINVER=0x0600"
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "MySQL_EXPORTS"
|
||||
}
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
||||
|
73
Data/MySQL/testsuite/build.gradle
Normal file
73
Data/MySQL/testsuite/build.gradle
Normal file
@ -0,0 +1,73 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
lib project: ':Data:MySQL', library: 'mysql', linkage: 'shared'
|
||||
lib project: ':Data:MySQL', library: 'DataMySQL', linkage: 'shared'
|
||||
lib project: ':Data', library: 'Data', linkage: 'shared'
|
||||
lib project: ':Util', library: 'Util'
|
||||
lib project: ':JSON', library: 'JSON'
|
||||
lib project: ':XML', library: 'XML'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
MySQLTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
cppCompiler.define "THREADSAFE"
|
||||
cppCompiler.define "__LCC__"
|
||||
cppCompiler.define "WINVER=0x0600"
|
||||
}
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
||||
|
46
Data/ODBC/build.gradle
Normal file
46
Data/ODBC/build.gradle
Normal file
@ -0,0 +1,46 @@
|
||||
model {
|
||||
components {
|
||||
DataODBC(NativeLibrarySpec) {
|
||||
sources {
|
||||
rc {
|
||||
source {
|
||||
srcDir '../..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude 'Unicode_WIN32.cpp'
|
||||
exclude 'Unicode_UNIXODBC.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Data', library: 'Data'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "THREADSAFE=1"
|
||||
}
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "ODBC_EXPORTS"
|
||||
linker.args 'odbc32.lib'
|
||||
linker.args 'odbccp32.lib'
|
||||
}
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
||||
|
69
Data/ODBC/testsuite/build.gradle
Normal file
69
Data/ODBC/testsuite/build.gradle
Normal file
@ -0,0 +1,69 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
lib project: ':Data:ODBC', library: 'DataODBC', linkage: 'shared'
|
||||
lib project: ':Data', library: 'Data', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
ODBCTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
if (toolChain in VisualCpp) {
|
||||
linker.args 'odbc32.lib'
|
||||
linker.args 'odbccp32.lib'
|
||||
}
|
||||
}
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
69
Data/SQLite/build.gradle
Normal file
69
Data/SQLite/build.gradle
Normal file
@ -0,0 +1,69 @@
|
||||
model {
|
||||
components {
|
||||
DataSQLite(NativeLibrarySpec) {
|
||||
sources {
|
||||
rc {
|
||||
source {
|
||||
srcDir '../..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
c {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.c'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Data', library: 'Data'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Data', library: 'Data'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
if (toolChain in VisualCpp) {
|
||||
cCompiler.define "SQLITE_THREADSAFE=1"
|
||||
cCompiler.define "SQLITE_ENABLE_FTS3"
|
||||
cCompiler.define "SQLITE_ENABLE_FTS3_PARENTHESIS"
|
||||
cCompiler.define "SQLITE_OMIT_UTF16"
|
||||
cCompiler.define "SQLITE_OMIT_PROGRESS_CALLBACK"
|
||||
cCompiler.define "SQLITE_OMIT_COMPLETE"
|
||||
cCompiler.define "SQLITE_OMIT_TCL_VARIABLE"
|
||||
cCompiler.define "SQLITE_OMIT_DEPRECATED"
|
||||
|
||||
cppCompiler.define "SQLITE_THREADSAFE=1"
|
||||
cppCompiler.define "SQLITE_ENABLE_FTS3"
|
||||
cppCompiler.define "SQLITE_ENABLE_FTS3_PARENTHESIS"
|
||||
cppCompiler.define "SQLITE_OMIT_UTF16"
|
||||
cppCompiler.define "SQLITE_OMIT_PROGRESS_CALLBACK"
|
||||
cppCompiler.define "SQLITE_OMIT_COMPLETE"
|
||||
cppCompiler.define "SQLITE_OMIT_TCL_VARIABLE"
|
||||
cppCompiler.define "SQLITE_OMIT_DEPRECATED"
|
||||
}
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "SQLite_EXPORTS"
|
||||
}
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
||||
|
64
Data/SQLite/testsuite/build.gradle
Normal file
64
Data/SQLite/testsuite/build.gradle
Normal file
@ -0,0 +1,64 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
lib project: ':Data:SQLite', library: 'DataSQLite', linkage: 'shared'
|
||||
lib project: ':Data', library: 'Data', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
SQLiteTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
||||
|
35
Data/build.gradle
Normal file
35
Data/build.gradle
Normal file
@ -0,0 +1,35 @@
|
||||
model {
|
||||
components {
|
||||
Data(NativeLibrarySpec) {
|
||||
sources {
|
||||
rc {
|
||||
source {
|
||||
srcDir '..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "Data_EXPORTS"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
69
Data/samples/build.gradle
Normal file
69
Data/samples/build.gradle
Normal file
@ -0,0 +1,69 @@
|
||||
model {
|
||||
components {
|
||||
Binding(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'Binding/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Data', library: 'Data'
|
||||
cpp.lib project: ':Data:SQLite', library: 'DataSQLite'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
RecordSet(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'RecordSet/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Data', library: 'Data'
|
||||
cpp.lib project: ':Data:SQLite', library: 'DataSQLite'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
RowFormatter(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'RowFormatter/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Data', library: 'Data'
|
||||
cpp.lib project: ':Data:SQLite', library: 'DataSQLite'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
Tuple(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'Tuple/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Data', library: 'Data'
|
||||
cpp.lib project: ':Data:SQLite', library: 'DataSQLite'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
TypeHandler(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'TypeHandler/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Data', library: 'Data'
|
||||
cpp.lib project: ':Data:SQLite', library: 'DataSQLite'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
WebNotifier(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'WebNotifier/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Data', library: 'Data'
|
||||
cpp.lib project: ':Data:SQLite', library: 'DataSQLite'
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
withType(NativeExecutableSpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
task samples { dependsOn "assemble" }
|
||||
|
||||
|
65
Data/testsuite/build.gradle
Normal file
65
Data/testsuite/build.gradle
Normal file
@ -0,0 +1,65 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
exclude 'StatementImpl.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
lib project: ':Data', library: 'Data', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
DataTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
||||
|
||||
|
115
Foundation/build.gradle
Normal file
115
Foundation/build.gradle
Normal file
@ -0,0 +1,115 @@
|
||||
model {
|
||||
components {
|
||||
Foundation(NativeLibrarySpec) { m ->
|
||||
sources {
|
||||
//
|
||||
// mc {
|
||||
// source {
|
||||
// srcDir 'src'
|
||||
// include '**/*.mc'
|
||||
// }
|
||||
// }
|
||||
rc {
|
||||
source {
|
||||
srcDir '..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
c {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.c'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude 'ByteOrder.cpp'
|
||||
exclude 'String.cpp'
|
||||
exclude 'SignalHandler.cpp'
|
||||
exclude 'Environment_*.cpp'
|
||||
exclude 'FPEnvironment_*.cpp'
|
||||
exclude 'Timezone_*.cpp'
|
||||
exclude 'DirectoryIterator_*.cpp'
|
||||
exclude 'File_*.cpp'
|
||||
exclude 'FileStream_*.cpp'
|
||||
exclude 'Path_*.cpp'
|
||||
exclude 'LogFile_*.cpp'
|
||||
exclude 'NamedEvent_*.cpp'
|
||||
exclude 'NamedMutex_*.cpp'
|
||||
exclude 'PipeImpl_*.cpp'
|
||||
exclude 'Process_*.cpp'
|
||||
exclude 'SharedMemory_*.cpp'
|
||||
exclude 'SharedLibrary_*.cpp'
|
||||
exclude 'Event_*.cpp'
|
||||
exclude 'Mutex_*.cpp'
|
||||
exclude 'RWLock_*.cpp'
|
||||
exclude 'Semaphore_*.cpp'
|
||||
exclude 'Thread_*.cpp'
|
||||
|
||||
exclude 'EventLogChannel.cpp'
|
||||
exclude 'UnWindows.cpp'
|
||||
exclude 'WindowsConsoleChannel.cpp'
|
||||
exclude 'OpcomChannel.cpp'
|
||||
exclude 'AndroidLogChannel.cpp'
|
||||
exclude 'SyslogChannel.cpp'
|
||||
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries.all {
|
||||
sources {
|
||||
if (targetPlatform.operatingSystem.windows) {
|
||||
platformWindows(CppSourceSet) {
|
||||
lib m.sources.cpp
|
||||
source {
|
||||
srcDir 'src'
|
||||
include 'EventLogChannel.cpp'
|
||||
include 'UnWindows.cpp'
|
||||
include 'WindowsConsoleChannel.cpp'
|
||||
}
|
||||
}
|
||||
} else
|
||||
if (targetPlatform.operatingSystem.macOsX || targetPlatform.operatingSystem.linux) {
|
||||
platformNix(CppSourceSet) {
|
||||
lib m.sources.cpp
|
||||
source {
|
||||
srcDir 'src'
|
||||
include 'SignalHandler.cpp'
|
||||
include 'SyslogChannel.cpp'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
if (toolChain in VisualCpp) {
|
||||
linker.args "ws2_32.lib"
|
||||
linker.args "iphlpapi.lib"
|
||||
}
|
||||
}
|
||||
withType(NativeExecutableSpec) {
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
// addCompilerDefine "Foundation_EXPORTS" ""
|
||||
cCompiler.define "Foundation_EXPORTS"
|
||||
cppCompiler.define "Foundation_EXPORTS"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
@ -100,6 +100,24 @@ public:
|
||||
/// - Dx mark development releases,
|
||||
/// - Ax mark alpha releases, and
|
||||
/// - Bx mark beta releases.
|
||||
|
||||
static Poco::Int32 os();
|
||||
/// Return the operating system as defined
|
||||
/// in the include Foundation/Platform.h (POCO_OS)
|
||||
|
||||
static Poco::Int32 cpu();
|
||||
/// Return the underlying cpu that runs this operating system
|
||||
/// as defined in Foundation/Platform (POCO_ARCH)
|
||||
|
||||
static bool osFamilyUnix();
|
||||
/// Return true if the operating system belongs to the Linux family
|
||||
|
||||
static bool osFamilyWindows();
|
||||
/// Return true if the operating system belongs to the Windows family
|
||||
|
||||
static bool osFamilyVms();
|
||||
/// Return true if the operating system belongs to the VMS family
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
146
Foundation/samples/build.gradle
Normal file
146
Foundation/samples/build.gradle
Normal file
@ -0,0 +1,146 @@
|
||||
model {
|
||||
components {
|
||||
ActiveMethod(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'ActiveMethod/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
Activity(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'ActiveMethod/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
base64decode(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'base64decode/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
base64encode(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'base64encode/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
Benchmark(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'Benchmark/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
BinaryReaderWriter(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'BinaryReaderWriter/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
DateTime(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'DateTime/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
deflate(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'deflate/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
dir(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'dir/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
grep(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'grep/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
hmacmd5(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'hmacmd5/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
inflate(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'inflate/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
LineEndingConverter(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'LineEndingConverter/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
Logger(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'Logger/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
LogRotation(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'LogRotation/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
md5(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'md5/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
NotificationQueue(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'NotificationQueue/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
StringTokenizer(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'StringTokenizer/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
Timer(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'Timer/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
URI(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'URI/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
uuidgen(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'uuidgen/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
withType(NativeExecutableSpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
task samples { dependsOn "assemble" }
|
||||
|
||||
|
@ -24,15 +24,13 @@
|
||||
#include "Environment_VX.cpp"
|
||||
#elif defined(POCO_OS_FAMILY_UNIX)
|
||||
#include "Environment_UNIX.cpp"
|
||||
#elif defined(POCO_OS_FAMILY_WINDOWS) && defined(POCO_WIN32_UTF8)
|
||||
#elif defined(POCO_OS_FAMILY_WINDOWS)
|
||||
#if defined(_WIN32_WCE)
|
||||
#include "Environment_WINCE.cpp"
|
||||
#else
|
||||
#include "Environment_WIN32U.cpp"
|
||||
#endif
|
||||
#elif defined(POCO_OS_FAMILY_WINDOWS)
|
||||
#include "Environment_WIN32.cpp"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
namespace Poco {
|
||||
@ -128,5 +126,41 @@ Poco::UInt32 Environment::libraryVersion()
|
||||
return POCO_VERSION;
|
||||
}
|
||||
|
||||
Poco::Int32 Environment::os()
|
||||
{
|
||||
return POCO_OS;
|
||||
}
|
||||
|
||||
Poco::Int32 Environment::cpu()
|
||||
{
|
||||
return POCO_ARCH;
|
||||
}
|
||||
|
||||
bool Environment::osFamilyUnix()
|
||||
{
|
||||
#if defined(POCO_OS_FAMILY_UNIX)
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool Environment::osFamilyWindows()
|
||||
{
|
||||
#if defined(POCO_OS_FAMILY_WINDOWS)
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
bool Environment::osFamilyVms()
|
||||
{
|
||||
#if defined(POCO_OS_FAMILY_VMS)
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
} // namespace Poco
|
||||
|
92
Foundation/testsuite/build.gradle
Normal file
92
Foundation/testsuite/build.gradle
Normal file
@ -0,0 +1,92 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestLib(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include 'TestLibrary.cpp'
|
||||
include 'TestPlugin.cpp'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
TestApp(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include 'TestApp.cpp'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
lib library: 'TestLib', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
exclude '*_WINCE.cpp'
|
||||
exclude 'TestApp*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
FoundationTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
||||
|
||||
|
48
JSON/build.gradle
Normal file
48
JSON/build.gradle
Normal file
@ -0,0 +1,48 @@
|
||||
model {
|
||||
components {
|
||||
JSON(NativeLibrarySpec) {
|
||||
sources {
|
||||
rc {
|
||||
source {
|
||||
srcDir '..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
c {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.c'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
if (toolChain in VisualCpp) {
|
||||
cCompiler.args "/TP"
|
||||
}
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "JSON_EXPORTS"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
27
JSON/samples/build.gradle
Normal file
27
JSON/samples/build.gradle
Normal file
@ -0,0 +1,27 @@
|
||||
model {
|
||||
components {
|
||||
Benchmark(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'Benchmark/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':JSON', library: 'JSON'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
withType(NativeExecutableSpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
task samples { dependsOn "assemble" }
|
||||
|
||||
|
63
JSON/testsuite/build.gradle
Normal file
63
JSON/testsuite/build.gradle
Normal file
@ -0,0 +1,63 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
lib project: ':JSON', library: 'JSON', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
JSONTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
||||
|
37
MongoDB/build.gradle
Normal file
37
MongoDB/build.gradle
Normal file
@ -0,0 +1,37 @@
|
||||
model {
|
||||
components {
|
||||
MongoDB(NativeLibrarySpec) {
|
||||
sources {
|
||||
rc {
|
||||
source {
|
||||
srcDir '..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Net', library: 'Net'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "MongoDB_EXPORTS"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
||||
|
28
MongoDB/samples/build.gradle
Normal file
28
MongoDB/samples/build.gradle
Normal file
@ -0,0 +1,28 @@
|
||||
model {
|
||||
components {
|
||||
SQLToMongo(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'SQLToMongo/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':MongoDB', library: 'MongoDB'
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
withType(NativeExecutableSpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
task samples { dependsOn "assemble" }
|
||||
|
||||
|
63
MongoDB/testsuite/build.gradle
Normal file
63
MongoDB/testsuite/build.gradle
Normal file
@ -0,0 +1,63 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
lib project: ':MongoDB', library: 'MongoDB', linkage: 'shared'
|
||||
lib project: ':Net', library: 'Net', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
MongoDBTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
40
Net/build.gradle
Normal file
40
Net/build.gradle
Normal file
@ -0,0 +1,40 @@
|
||||
model {
|
||||
components {
|
||||
Net(NativeLibrarySpec) {
|
||||
sources {
|
||||
rc {
|
||||
source {
|
||||
srcDir '..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
if (targetPlatform.operatingSystem.windows) {
|
||||
linker.args "ws2_32.lib"
|
||||
linker.args "iphlpapi.lib"
|
||||
}
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "Net_EXPORTS"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
||||
|
118
Net/samples/build.gradle
Normal file
118
Net/samples/build.gradle
Normal file
@ -0,0 +1,118 @@
|
||||
model {
|
||||
components {
|
||||
dict(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'dict/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
download(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'download/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
EchoServer(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'EchoServer/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
HTTPFormServer(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'HTTPFormServer/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
httpget(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'httpget/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
HTTPLoadTest(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'HTTPLoadTest/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
HTTPTimeServer(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'HTTPTimeServer/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
ifconfig(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'ifconfig/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
Mail(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'Mail/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
Ping(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'Ping/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
SMTPLogger(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'SMTPLogger/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
TimeServer(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'TimeServer/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
WebSocketServer(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'WebSocketServer/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
withType(NativeExecutableSpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
task samples { dependsOn "assemble" }
|
||||
|
||||
|
69
Net/testsuite/build.gradle
Normal file
69
Net/testsuite/build.gradle
Normal file
@ -0,0 +1,69 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
lib project: ':Net', library: 'Net', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
NetTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
if (targetPlatform.operatingSystem.windows) {
|
||||
linker.args "ws2_32.lib"
|
||||
linker.args "iphlpapi.lib"
|
||||
}
|
||||
}
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
||||
|
41
NetSSL_OpenSSL/build.gradle
Normal file
41
NetSSL_OpenSSL/build.gradle
Normal file
@ -0,0 +1,41 @@
|
||||
model {
|
||||
components {
|
||||
NetSSL(NativeLibrarySpec) {
|
||||
sources {
|
||||
rc {
|
||||
source {
|
||||
srcDir '..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib library: 'ssl'
|
||||
lib library: 'crypto'
|
||||
lib project: ':Crypto', library: 'Crypto'
|
||||
lib project: ':Net', library: 'Net'
|
||||
lib project: ':Util', library: 'Util'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "NetSSL_EXPORTS"
|
||||
}
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
||||
|
68
NetSSL_OpenSSL/samples/build.gradle
Normal file
68
NetSSL_OpenSSL/samples/build.gradle
Normal file
@ -0,0 +1,68 @@
|
||||
model {
|
||||
components {
|
||||
download(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'download/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':NetSSL_OpenSSL', library: 'NetSSL'
|
||||
cpp.lib project: ':Crypto', library: 'Crypto'
|
||||
cpp.lib library: 'crypto'
|
||||
cpp.lib library: 'ssl'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
HTTPSTimeServer(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'EchoServer/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':NetSSL_OpenSSL', library: 'NetSSL'
|
||||
cpp.lib project: ':Crypto', library: 'Crypto'
|
||||
cpp.lib library: 'crypto'
|
||||
cpp.lib library: 'ssl'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
Mail(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'HTTPFormServer/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':NetSSL_OpenSSL', library: 'NetSSL'
|
||||
cpp.lib project: ':Crypto', library: 'Crypto'
|
||||
cpp.lib library: 'crypto'
|
||||
cpp.lib library: 'ssl'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
TwitterClient(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'httpget/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':NetSSL_OpenSSL', library: 'NetSSL'
|
||||
cpp.lib project: ':Crypto', library: 'Crypto'
|
||||
cpp.lib library: 'crypto'
|
||||
cpp.lib library: 'ssl'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
withType(NativeExecutableSpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
task samples { dependsOn "assemble" }
|
||||
|
||||
|
74
NetSSL_OpenSSL/testsuite/build.gradle
Normal file
74
NetSSL_OpenSSL/testsuite/build.gradle
Normal file
@ -0,0 +1,74 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit'
|
||||
lib library: 'crypto'
|
||||
lib library: 'ssl'
|
||||
lib project: ':Crypto', library: 'Crypto'
|
||||
lib project: ':Net', library: 'Net'
|
||||
lib project: ':NetSSL_OpenSSL', library: 'NetSSL'
|
||||
lib project: ':Util', library: 'Util'
|
||||
lib project: ':JSON', library: 'JSON'
|
||||
lib project: ':XML', library: 'XML'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
binaries.all {
|
||||
if (targetPlatform.operatingSystem.windows) {
|
||||
lib library: 'WS2_32', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
NetSSLTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
46
NetSSL_Win/build.gradle
Normal file
46
NetSSL_Win/build.gradle
Normal file
@ -0,0 +1,46 @@
|
||||
model {
|
||||
components {
|
||||
NetSSLWin(NativeLibrarySpec) {
|
||||
binaries.all {
|
||||
if (targetPlatform.operatingSystem.windows) {
|
||||
sources {
|
||||
rc(WindowsResourceSet) {
|
||||
source {
|
||||
srcDir '..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
cpp(CppSourceSet) {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Crypto', library: 'Crypto'
|
||||
lib project: ':Net', library: 'Net'
|
||||
lib project: ':Util', library: 'Util'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
if (toolChain in VisualCpp) {
|
||||
linker.args "Crypt32.lib"
|
||||
linker.args 'ws2_32.lib'
|
||||
linker.args 'iphlpapi.lib'
|
||||
}
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "NetSSL_Win_EXPORTS"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
56
NetSSL_Win/samples/build.gradle
Normal file
56
NetSSL_Win/samples/build.gradle
Normal file
@ -0,0 +1,56 @@
|
||||
model {
|
||||
components {
|
||||
download(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'dict/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':NetSSL_OpenSSL', library: 'NetSSL'
|
||||
cpp.lib project: ':Crypto', library: 'Crypto'
|
||||
cpp.lib library: 'crypto'
|
||||
cpp.lib library: 'ssl'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
HTTPSTimeServer(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'download/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':NetSSL_OpenSSL', library: 'NetSSL'
|
||||
cpp.lib project: ':Crypto', library: 'Crypto'
|
||||
cpp.lib library: 'crypto'
|
||||
cpp.lib library: 'ssl'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
Mail(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'EchoServer/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':NetSSL_OpenSSL', library: 'NetSSL'
|
||||
cpp.lib project: ':Crypto', library: 'Crypto'
|
||||
cpp.lib library: 'crypto'
|
||||
cpp.lib library: 'ssl'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
withType(NativeExecutableSpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
task samples { dependsOn "assemble" }
|
||||
|
||||
|
70
NetSSL_Win/testsuite/build.gradle
Normal file
70
NetSSL_Win/testsuite/build.gradle
Normal file
@ -0,0 +1,70 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit'
|
||||
lib library: 'crypto'
|
||||
lib library: 'ssl'
|
||||
lib project: ':Crypto', library: 'Crypto'
|
||||
lib project: ':Net', library: 'Net'
|
||||
lib project: ':NetSSL_OpenSSL', library: 'NetSSL'
|
||||
lib project: ':Util', library: 'Util'
|
||||
lib project: ':JSON', library: 'JSON'
|
||||
lib project: ':XML', library: 'XML'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
lib library: 'WS2_32', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
NetSSLTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
39
PDF/build.gradle
Normal file
39
PDF/build.gradle
Normal file
@ -0,0 +1,39 @@
|
||||
project(":PDF") {
|
||||
model {
|
||||
components {
|
||||
PDF(NativeLibrarySpec) {
|
||||
sources {
|
||||
c {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.c'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDirs 'include', 'include/Poco/PDF'
|
||||
}
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDirs 'include', 'include/Poco/PDF'
|
||||
}
|
||||
lib project: ':Util', library: 'Util'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "PDF_EXPORTS"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
34
PDF/samples/build.gradle
Normal file
34
PDF/samples/build.gradle
Normal file
@ -0,0 +1,34 @@
|
||||
model {
|
||||
components {
|
||||
Image(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'Image/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':PDF', library: 'PDF'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
Text(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'Image/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':PDF', library: 'PDF'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
withType(NativeExecutableSpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
task samples { dependsOn "assemble" }
|
||||
|
||||
|
61
PDF/testsuite/build.gradle
Normal file
61
PDF/testsuite/build.gradle
Normal file
@ -0,0 +1,61 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
PDFTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
29
PageCompiler/File2Page/build.gradle
Normal file
29
PageCompiler/File2Page/build.gradle
Normal file
@ -0,0 +1,29 @@
|
||||
project(":PageCompiler:File2Page") {
|
||||
model {
|
||||
components {
|
||||
File2page(NativeExecutableSpec) {
|
||||
baseName 'f2pc'
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Net', library: 'Net'
|
||||
lib project: ':Util', library: 'Util'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
binaries.withType(NativeExecutableSpec) {
|
||||
lib project: ':Net', library: 'Net', linkage: 'shared'
|
||||
lib project: ':Util', library: 'Util', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
41
PageCompiler/build.gradle
Normal file
41
PageCompiler/build.gradle
Normal file
@ -0,0 +1,41 @@
|
||||
model {
|
||||
components {
|
||||
cpspc(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Net', library: 'Net', linkage: 'shared'
|
||||
lib project: ':Util', library: 'Util', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(NativeExecutableBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
||||
|
28
PageCompiler/samples/build.gradle
Normal file
28
PageCompiler/samples/build.gradle
Normal file
@ -0,0 +1,28 @@
|
||||
model {
|
||||
components {
|
||||
HTTPTimeServer(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'HTTPTimeServer/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Net', library: 'Net'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
withType(NativeExecutableSpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
task samples { dependsOn "assemble" }
|
||||
|
||||
|
44
PocoDoc/build.gradle
Normal file
44
PocoDoc/build.gradle
Normal file
@ -0,0 +1,44 @@
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
PocoDoc(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':CppParser', library: 'CppParser'
|
||||
lib project: ':Util', library: 'Util'
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(NativeExecutableSpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,13 @@
|
||||
expat*.h,
|
||||
zconf.h,
|
||||
zlib.h,
|
||||
Alignment.h,
|
||||
QName.h,
|
||||
CppUnitException.h,
|
||||
Constants.h,
|
||||
inffast.h,
|
||||
PDF/include/*.h,
|
||||
CppParser/include/*.h
|
||||
</exclude>
|
||||
</files>
|
||||
<pages>
|
||||
@ -28,21 +35,41 @@
|
||||
${PocoBuild}/*/doc/images
|
||||
</resources>
|
||||
<compiler>
|
||||
<exec>clang++</exec>
|
||||
<options>
|
||||
${Includes},
|
||||
-I/usr/local/mysql/include,
|
||||
-I/usr/include/mysql,
|
||||
-D_DEBUG,
|
||||
-E,
|
||||
-C,
|
||||
-DPOCO_NO_GCC_API_ATTRIBUTE,
|
||||
-xc++
|
||||
-std=c++11,
|
||||
-stdlib=libc++
|
||||
</options>
|
||||
<path></path>
|
||||
<usePipe>true</usePipe>
|
||||
<windows>
|
||||
<exec>cl.exe</exec>
|
||||
<options>
|
||||
${Includes},
|
||||
/I${PocoBase}/openssl/include
|
||||
/I${VC}/include,
|
||||
/I${WDK}/shared
|
||||
/I${WDK}/um
|
||||
/I${WDK}/ucrt
|
||||
/nologo,
|
||||
/D_DEBUG,
|
||||
/E,
|
||||
/C,
|
||||
/DPOCO_NO_GCC_API_ATTRIBUTE
|
||||
/DPOCO_NO_WINDOWS_H
|
||||
</options>
|
||||
<path>${VC}/bin</path>
|
||||
<usePipe>true</usePipe>
|
||||
</windows>
|
||||
<unix>
|
||||
<exec>${CXX} ${CXXFLAGS}</exec>
|
||||
<options>
|
||||
${Includes},
|
||||
-I/usr/local/mysql/include,
|
||||
-I/usr/include/mysql,
|
||||
-I/usr/include/postgresql,
|
||||
-D_DEBUG,
|
||||
-E,
|
||||
-C,
|
||||
-DPOCO_NO_GCC_API_ATTRIBUTE
|
||||
-DPOCO_NO_WINDOWS_H
|
||||
</options>
|
||||
<path></path>
|
||||
<usePipe>true</usePipe>
|
||||
</unix>
|
||||
</compiler>
|
||||
<language>EN</language>
|
||||
<charset>utf-8</charset>
|
||||
|
@ -13,7 +13,9 @@
|
||||
expat*.h,
|
||||
zconf.h,
|
||||
zlib.h,
|
||||
${PocoBuild}/Util/include/Poco/Util/Units.h
|
||||
XMLStreamParser.h,
|
||||
CppUnitException.h,
|
||||
RepeatedTest.h,
|
||||
</exclude>
|
||||
</files>
|
||||
<pages>
|
||||
@ -29,15 +31,23 @@
|
||||
${PocoBuild}/*/doc/images
|
||||
</resources>
|
||||
<compiler>
|
||||
<exec>g++</exec>
|
||||
<exec>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\cl.exe</exec>
|
||||
<options>
|
||||
${Includes},
|
||||
-I/usr/local/mysql/include,
|
||||
-I/usr/include/mysql,
|
||||
-I/usr/include/postgresql,
|
||||
/I${PocoBase}/openssl/include
|
||||
/IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include,
|
||||
/IC:\Program Files (x86)\Windows Kits\8.1\Include\shared,
|
||||
/IC:\Program Files (x86)\Windows Kits\8.1\Include\um,
|
||||
/IC:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\ucrt,
|
||||
/nologo,
|
||||
-D_DEBUG,
|
||||
-E,
|
||||
-C,
|
||||
-DPOCO_NO_GCC_API_ATTRIBUTE
|
||||
-DPOCO_NO_WINDOWS_H
|
||||
</options>
|
||||
<path></path>
|
||||
<usePipe>true</usePipe>
|
||||
@ -94,7 +104,7 @@
|
||||
<loggers>
|
||||
<root>
|
||||
<channel>c1</channel>
|
||||
<level>warning</level>
|
||||
<level>information</level>
|
||||
</root>
|
||||
</loggers>
|
||||
<channels>
|
||||
|
@ -60,6 +60,7 @@ using Poco::Util::OptionCallback;
|
||||
using Poco::Util::HelpFormatter;
|
||||
using Poco::Util::AbstractConfiguration;
|
||||
|
||||
static std::string osName = Environment::osName();
|
||||
|
||||
class Preprocessor
|
||||
{
|
||||
@ -219,11 +220,16 @@ protected:
|
||||
{
|
||||
Path pp(file);
|
||||
pp.setExtension("i");
|
||||
std::string comp = "PocoDoc.compiler";
|
||||
if (Environment::osFamilyWindows())
|
||||
comp += ".windows";
|
||||
else
|
||||
comp += ".unix";
|
||||
std::string exec = config().getString(comp + ".exec");
|
||||
std::string opts = config().getString(comp + ".options");
|
||||
std::string path = config().getString(comp + ".path", "");
|
||||
bool usePipe = config().getBool(comp + ".usePipe", false);
|
||||
|
||||
std::string exec = config().getString("PocoDoc.compiler.exec");
|
||||
std::string opts = config().getString("PocoDoc.compiler.options");
|
||||
std::string path = config().getString("PocoDoc.compiler.path", "");
|
||||
bool usePipe = config().getBool("PocoDoc.compiler.usePipe", false);
|
||||
std::string popts;
|
||||
for (std::string::const_iterator it = opts.begin(); it != opts.end(); ++it)
|
||||
{
|
||||
|
26
SevenZip/samples/build.gradle
Normal file
26
SevenZip/samples/build.gradle
Normal file
@ -0,0 +1,26 @@
|
||||
model {
|
||||
components {
|
||||
un7zip(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'dict/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
withType(NativeExecutableSpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
task samples { dependsOn "assemble" }
|
||||
|
||||
|
60
Util/build.gradle
Normal file
60
Util/build.gradle
Normal file
@ -0,0 +1,60 @@
|
||||
model {
|
||||
components {
|
||||
Util(NativeLibrarySpec) { m ->
|
||||
sources {
|
||||
rc {
|
||||
source {
|
||||
srcDir '..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
c {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.c'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '**/Win*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
lib project: ':XML', library: 'XML'
|
||||
lib project: ':JSON', library: 'JSON'
|
||||
}
|
||||
}
|
||||
binaries.all {
|
||||
if (targetPlatform.operatingSystem.windows) {
|
||||
sources {
|
||||
platformWindows(CppSourceSet) {
|
||||
lib m.sources.cpp
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/Win*.cpp'
|
||||
}
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
lib project: ':XML', library: 'XML'
|
||||
lib project: ':JSON', library: 'JSON'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "Util_EXPORTS"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
48
Util/samples/build.gradle
Normal file
48
Util/samples/build.gradle
Normal file
@ -0,0 +1,48 @@
|
||||
model {
|
||||
components {
|
||||
pkill(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'pkill/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
SampleApp(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'SampleApp/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
SampleServer(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'SampleServer/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
Units(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'Units/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
withType(NativeExecutableSpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
task samples { dependsOn "assemble" }
|
||||
|
||||
|
86
Util/testsuite/build.gradle
Normal file
86
Util/testsuite/build.gradle
Normal file
@ -0,0 +1,86 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) { m ->
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude 'Win*.cpp'
|
||||
exclude 'Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
lib project: ':JSON', library: 'JSON', linkage: 'shared'
|
||||
lib project: ':XML', library: 'XML', linkage: 'shared'
|
||||
lib project: ':Util', library: 'Util', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
binaries.all {
|
||||
if (targetPlatform.operatingSystem.windows) {
|
||||
sources {
|
||||
platformWindows(CppSourceSet) {
|
||||
lib m.sources.cpp
|
||||
source {
|
||||
srcDir 'src'
|
||||
include 'Win*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
lib project: ':Util', library: 'Util', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
UtilTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
||||
|
57
XML/build.gradle
Normal file
57
XML/build.gradle
Normal file
@ -0,0 +1,57 @@
|
||||
model {
|
||||
components {
|
||||
XML(NativeLibrarySpec) {
|
||||
sources {
|
||||
rc {
|
||||
source {
|
||||
srcDir '..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
c {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.c'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
cCompiler.define "XML_STATIC"
|
||||
cCompiler.define "XML_NS"
|
||||
cCompiler.define "XML_DTD"
|
||||
cCompiler.define "HAVE_EXPAT_CONFIG_H"
|
||||
|
||||
cppCompiler.define "XML_STATIC"
|
||||
cppCompiler.define "XML_NS"
|
||||
cppCompiler.define "XML_DTD"
|
||||
cppCompiler.define "HAVE_EXPAT_CONFIG_H"
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cCompiler.define "XML_EXPORTS"
|
||||
cppCompiler.define "XML_EXPORTS"
|
||||
}
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
49
XML/samples/build.gradle
Normal file
49
XML/samples/build.gradle
Normal file
@ -0,0 +1,49 @@
|
||||
model {
|
||||
components {
|
||||
data(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'data/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':XML', library: 'XML', linkage: 'shared'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
DOMParser(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'DOMParser/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':XML', library: 'XML', linkage: 'shared'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
DOMWriter(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'DOMWriter/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':XML', library: 'XML', linkage: 'shared'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
PrettyPrint(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'PrettyPrint/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':XML', library: 'XML', linkage: 'shared'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
// RoundTrip(NativeExecutableSpec) {
|
||||
// sources {
|
||||
// cpp.source { srcDir 'RoundTrip/src' include '**/*.cpp' }
|
||||
// cpp.lib project: ':XML', library: 'XML', linkage: 'shared'
|
||||
// cpp.lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
// }
|
||||
// }
|
||||
SAXParser(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'SAXParser/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':XML', library: 'XML', linkage: 'shared'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task samples { dependsOn "assemble" }
|
||||
|
||||
|
62
XML/testsuite/build.gradle
Normal file
62
XML/testsuite/build.gradle
Normal file
@ -0,0 +1,62 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
lib project: ':XML', library: 'XML', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
XMLTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
38
Zip/build.gradle
Normal file
38
Zip/build.gradle
Normal file
@ -0,0 +1,38 @@
|
||||
model {
|
||||
components {
|
||||
Zip(NativeLibrarySpec) {
|
||||
sources {
|
||||
rc {
|
||||
source {
|
||||
srcDir '..'
|
||||
include 'DLLVersion.rc'
|
||||
}
|
||||
}
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'include'
|
||||
}
|
||||
lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cppCompiler.define "Zip_EXPORTS"
|
||||
}
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
}
|
||||
}
|
||||
}
|
||||
task poco { dependsOn "assemble" }
|
||||
|
||||
|
36
Zip/samples/build.gradle
Normal file
36
Zip/samples/build.gradle
Normal file
@ -0,0 +1,36 @@
|
||||
model {
|
||||
components {
|
||||
zip(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'zip/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Zip', library: 'Zip'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
unzip(NativeExecutableSpec) {
|
||||
sources {
|
||||
cpp.source { srcDir 'unzip/src' include '**/*.cpp' }
|
||||
cpp.lib project: ':Zip', library: 'Zip'
|
||||
cpp.lib project: ':Util', library: 'Util'
|
||||
cpp.lib project: ':Foundation', library: 'Foundation'
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
all {
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
withType(NativeExecutableSpec) {
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'static'
|
||||
}
|
||||
}
|
||||
}
|
||||
task samples { dependsOn "assemble" }
|
||||
|
||||
|
62
Zip/testsuite/build.gradle
Normal file
62
Zip/testsuite/build.gradle
Normal file
@ -0,0 +1,62 @@
|
||||
import org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec
|
||||
|
||||
model {
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
TestSuite(NativeLibrarySpec) {
|
||||
sources {
|
||||
cpp {
|
||||
source {
|
||||
srcDir 'src'
|
||||
include '**/*.cpp'
|
||||
exclude '*Driver.cpp'
|
||||
}
|
||||
exportedHeaders {
|
||||
srcDir 'src'
|
||||
}
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
lib project: ':Zip', library: 'Zip', linkage: 'shared'
|
||||
lib project: ':Foundation', library: 'Foundation', linkage: 'shared'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
testSuites {
|
||||
ZipTestSuite(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteSpec) {
|
||||
testing $.components.TestSuite
|
||||
}
|
||||
}
|
||||
binaries {
|
||||
withType(org.gradle.nativeplatform.test.cppunit.CppUnitTestSuiteBinarySpec) {
|
||||
lib project: ':CppUnit', library: 'CppUnit', linkage: 'shared'
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
task testsuite { dependsOn "assemble" }
|
950
build.gradle
Normal file
950
build.gradle
Normal file
@ -0,0 +1,950 @@
|
||||
buildscript {
|
||||
}
|
||||
|
||||
/*
|
||||
dependencies {
|
||||
testCompile group: 'org.jvnet.hudson.plugins', name: 'cppunit', version: '1.10'
|
||||
}
|
||||
*/
|
||||
/*
|
||||
dependencies {
|
||||
classpath group: 'org.pocoproject', name: 'cppunit-test-suite', version:'1.0.0'
|
||||
classpath group: 'org.pocoproject', name: 'windows-message-compiler', version:'1.0.0'
|
||||
}
|
||||
*/
|
||||
|
||||
apply plugin: 'base'
|
||||
|
||||
def os = org.gradle.internal.os.OperatingSystem.current()
|
||||
def String version = file("VERSION").text.replaceAll("[\n\r]", "")
|
||||
|
||||
File appendDebugSuffix(File binaryFile) {
|
||||
String name = binaryFile.getName()
|
||||
File parent = binaryFile.getParentFile()
|
||||
int extensionSeparatorIndex = name.lastIndexOf('.')
|
||||
if (extensionSeparatorIndex == -1) {
|
||||
return new File(parent, name + "d")
|
||||
}
|
||||
return new File(parent, name.substring(0, extensionSeparatorIndex) + "d" + name.substring(extensionSeparatorIndex))
|
||||
}
|
||||
|
||||
File appendStaticSuffix(File binaryFile) {
|
||||
def os = org.gradle.internal.os.OperatingSystem.current()
|
||||
if (!os.windows) {
|
||||
return binaryFile
|
||||
}
|
||||
String name = binaryFile.getName()
|
||||
File parent = binaryFile.getParentFile()
|
||||
int extensionSeparatorIndex = name.lastIndexOf('.')
|
||||
if (extensionSeparatorIndex == -1) {
|
||||
return new File(parent, name + "MT")
|
||||
}
|
||||
return new File(parent, name.substring(0, extensionSeparatorIndex) + "MT" + name.substring(extensionSeparatorIndex))
|
||||
}
|
||||
File appendSemiStaticSuffix(File binaryFile) {
|
||||
String name = binaryFile.getName()
|
||||
File parent = binaryFile.getParentFile()
|
||||
int extensionSeparatorIndex = name.lastIndexOf('.')
|
||||
if (extensionSeparatorIndex == -1) {
|
||||
return new File(parent, name + "MD")
|
||||
}
|
||||
return new File(parent, name.substring(0, extensionSeparatorIndex) + "MD" + name.substring(extensionSeparatorIndex))
|
||||
}
|
||||
File prefixByPoco(File binaryFile) {
|
||||
String name = binaryFile.getName()
|
||||
String prefix = ''
|
||||
if (name.startsWith('lib')) {
|
||||
prefix = 'lib'
|
||||
name = name.substring(3)
|
||||
}
|
||||
File parent = binaryFile.getParentFile()
|
||||
return new File(parent, prefix + "Poco" + name);
|
||||
}
|
||||
File suffixByArch(File binaryFile, Platform platform) {
|
||||
if (!platform.operatingSystem.windows) {
|
||||
return binaryFile
|
||||
}
|
||||
String name = binaryFile.getName()
|
||||
String suffix = ''
|
||||
if (platform.architecture.name == 'x86') {
|
||||
suffix = ''
|
||||
} else
|
||||
if (platform.architecture.name == 'x86-64') {
|
||||
suffix = '64'
|
||||
} else {
|
||||
throw new GradleException("Unknown architecture: " + platform.architecture.name)
|
||||
}
|
||||
int extensionSeparatorIndex = name.lastIndexOf('.')
|
||||
if (extensionSeparatorIndex == -1) {
|
||||
return new File(parent, name + suffix)
|
||||
}
|
||||
File parent = binaryFile.getParentFile()
|
||||
return new File(parent, name.substring(0, extensionSeparatorIndex) + suffix + name.substring(extensionSeparatorIndex));
|
||||
}
|
||||
File toLocalBin(File binaryFile, Platform platform) {
|
||||
String name = binaryFile.getName()
|
||||
String target
|
||||
if (platform.architecture.name == 'x86') {
|
||||
target = 'bin'
|
||||
} else
|
||||
if (platform.architecture.name == 'x86-64') {
|
||||
target = 'bin64'
|
||||
} else {
|
||||
throw new GradleException("Unknown architecture: " + platform.architecture.name)
|
||||
}
|
||||
File parent = new File(target)
|
||||
return new File(parent, name);
|
||||
}
|
||||
File toBin(File sharedFile, Platform platform) {
|
||||
File parent = sharedFile.parentFile
|
||||
if (parent.canonicalPath.contains("testsuite"))
|
||||
return sharedFile;
|
||||
if (parent.canonicalPath.contains("sample"))
|
||||
return sharedFile;
|
||||
|
||||
if (platform.operatingSystem.linux) {
|
||||
return toLib(sharedFile, platform)
|
||||
}
|
||||
|
||||
String name = sharedFile.getName()
|
||||
String target
|
||||
if (platform.architecture.name == 'x86') {
|
||||
target = 'bin'
|
||||
} else
|
||||
if (platform.architecture.name == 'x86-64') {
|
||||
target = 'bin64'
|
||||
} else {
|
||||
throw new GradleException("Unknown architecture: " + platform.architecture.name)
|
||||
}
|
||||
File newParent = new File(rootDir, target)
|
||||
return new File(newParent, name);
|
||||
}
|
||||
File toLib(File linkFile, Platform platform) {
|
||||
File parent = linkFile.parentFile
|
||||
if (parent.canonicalPath.contains("testsuite"))
|
||||
return linkFile;
|
||||
if (parent.canonicalPath.contains("sample"))
|
||||
return linkFile;
|
||||
|
||||
// On macOS, it creates a dylib file which is the shared and import library
|
||||
if (platform.operatingSystem.macOsX) {
|
||||
return toBin(linkFile, platform)
|
||||
}
|
||||
|
||||
String name = linkFile.getName()
|
||||
String target
|
||||
if (platform.architecture.name == 'x86') {
|
||||
target = 'lib'
|
||||
} else
|
||||
if (platform.architecture.name == 'x86-64') {
|
||||
target = 'lib64'
|
||||
} else {
|
||||
throw new GradleException("Unknown architecture: " + platform.architecture.name)
|
||||
}
|
||||
File newParent = new File(rootDir, target )
|
||||
return new File(newParent, name);
|
||||
}
|
||||
File toStatic(File staticFile, Platform platform) {
|
||||
String name = staticFile.getName()
|
||||
String target
|
||||
if (platform.architecture.name == 'x86') {
|
||||
target = 'lib'
|
||||
} else
|
||||
if (platform.architecture.name == 'x86-64') {
|
||||
target = 'lib64'
|
||||
} else {
|
||||
throw new GradleException("Unknown architecture: " + platform.architecture.name)
|
||||
}
|
||||
File parent = new File(rootDir, target)
|
||||
return new File(parent, name);
|
||||
}
|
||||
File toPDB(File binaryFile) {
|
||||
String name = binaryFile.getName()
|
||||
File parent = binaryFile.getParentFile()
|
||||
int extensionSeparatorIndex = name.lastIndexOf('.')
|
||||
return new File(parent, name.substring(0, extensionSeparatorIndex) + ".pdb")
|
||||
}
|
||||
|
||||
|
||||
allprojects {
|
||||
buildDir = new File("root") // DO NOT REMOVE OR CHANGE to 'build'
|
||||
file('bin').mkdirs()
|
||||
file('bin64').mkdirs()
|
||||
file('lib').mkdirs()
|
||||
file('lib64').mkdirs()
|
||||
/*
|
||||
clean.doFirst {
|
||||
file(projectDir, 'bin').delete()
|
||||
file(projectDir, 'bin64').delete()
|
||||
file(projectDir, 'lib').delete()
|
||||
file(projectDir, 'lib64').delete()
|
||||
}
|
||||
*/
|
||||
}
|
||||
subprojects {
|
||||
apply plugin: 'c'
|
||||
apply plugin: 'cpp'
|
||||
apply plugin: 'cppunit-test-suite'
|
||||
apply plugin: 'windows-resources'
|
||||
apply plugin: 'windows-messages'
|
||||
|
||||
buildDir = new File("gradle")
|
||||
|
||||
|
||||
model {
|
||||
buildTypes {
|
||||
release
|
||||
debug
|
||||
}
|
||||
|
||||
/*
|
||||
toolChains {
|
||||
visualCpp(VisualCpp) {
|
||||
// Specify the installDir if Visual Studio cannot be located
|
||||
// installDir "C:/Apps/Microsoft Visual Studio 10.0"
|
||||
}
|
||||
gcc(Gcc) {
|
||||
// Uncomment to use a GCC install that is not in the PATH
|
||||
// path "/usr/bin/gcc"
|
||||
}
|
||||
clang(Clang)
|
||||
}
|
||||
*/
|
||||
platforms {
|
||||
win32 {
|
||||
operatingSystem "windows"
|
||||
architecture 'x86'
|
||||
}
|
||||
win64 {
|
||||
operatingSystem "windows"
|
||||
architecture 'x64'
|
||||
}
|
||||
linux32 {
|
||||
operatingSystem "linux"
|
||||
architecture 'x86'
|
||||
}
|
||||
linux64 {
|
||||
operatingSystem "linux"
|
||||
architecture 'x64'
|
||||
}
|
||||
macos {
|
||||
operatingSystem "macosx"
|
||||
architecture 'x64'
|
||||
}
|
||||
}
|
||||
|
||||
flavors {
|
||||
bundled
|
||||
// unbundled
|
||||
}
|
||||
repositories {
|
||||
libs(PrebuiltLibraries) {
|
||||
WS2_32 {
|
||||
headers.srcDir 'C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0/um'
|
||||
binaries.withType(StaticLibraryBinary) {
|
||||
if (targetPlatform.operatingSystem.windows) {
|
||||
staticLibraryFile = file('C:/Program Files (x86)/Windows Kits/10/Lib/10.0.15063.0/um/x86/WS2_32.lib')
|
||||
}
|
||||
}
|
||||
}
|
||||
def opensslHome = new File(rootDir, "openssl/VS_120")
|
||||
def opensslBrewHome = new File('/usr/local/opt/openssl')
|
||||
def opensslLinuxHome = new File('/usr/lib/x86_64-linux-gnu')
|
||||
crypto {
|
||||
headers.srcDir "$opensslHome/include"
|
||||
|
||||
binaries.withType(StaticLibraryBinary) {
|
||||
def libName = "foobar"
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (targetPlatform.name == 'win32') {
|
||||
libName = 'libcrypto.lib'
|
||||
staticLibraryFile = file("$opensslHome/win32/lib/debug/$libName")
|
||||
} else if (targetPlatform.name == 'win64') {
|
||||
libName = 'libcrypto.lib'
|
||||
staticLibraryFile = file("$opensslHome/win64/lib/debug/$libName")
|
||||
} else if (targetPlatform.operatingSystem.macOsX) {
|
||||
libName = 'libcrypto.a'
|
||||
staticLibraryFile = file("$opensslBrewHome/lib/$libName")
|
||||
} else if (targetPlatform.operatingSystem.linux) {
|
||||
libName = 'libcrypto.a'
|
||||
staticLibraryFile = file("$opensslLinuxHome/$libName")
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (targetPlatform.name == 'win32') {
|
||||
libName = 'libcrypto.lib'
|
||||
staticLibraryFile = file("$opensslHome/win32/lib/release/$libName")
|
||||
} else if (targetPlatform.name == 'win64') {
|
||||
libName = 'libcrypto.lib'
|
||||
staticLibraryFile = file("$opensslHome/win64/lib/release/$libName")
|
||||
} else if (targetPlatform.operatingSystem.macOsX) {
|
||||
libName = 'libcrypto.a'
|
||||
staticLibraryFile = file("$opensslBrewHome/lib/$libName")
|
||||
} else if (targetPlatform.operatingSystem.linux) {
|
||||
libName = 'libcrypto.a'
|
||||
staticLibraryFile = file("$opensslLinuxHome/$libName")
|
||||
}
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
binaries.withType(SharedLibraryBinary) {
|
||||
def dllName
|
||||
def linkName
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (targetPlatform.name == 'win32') {
|
||||
dllName = 'libcrypto.dll'
|
||||
linkName = 'libcrypto.lib'
|
||||
sharedLibraryFile = file("$opensslHome/win32/bin/debug/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslHome/win32/bin/debug/$linkName")
|
||||
} else if (targetPlatform.name == 'win64') {
|
||||
dllName = 'libcrypto.dll'
|
||||
linkName = 'libcrypto.lib'
|
||||
sharedLibraryFile = file("$opensslHome/win64/bin/debug/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslHome/win64/bin/debug/$linkName")
|
||||
} else if (targetPlatform.operatingSystem.macOsX) {
|
||||
dllName = 'libcrypto.dylib'
|
||||
linkName = 'libcrypto.dylib'
|
||||
sharedLibraryFile = file("$opensslBrewHome/lib/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslBrewHome/lib/$linkName")
|
||||
} else if (targetPlatform.operatingSystem.linux) {
|
||||
dllName = 'libcrypto.so'
|
||||
linkName = 'libcrypto.so'
|
||||
sharedLibraryFile = file("$opensslLinuxHome/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslLinuxHome/$linkName")
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (targetPlatform.name == 'win32') {
|
||||
dllName = 'libcrypto.dll'
|
||||
linkName = 'libcrypto.lib'
|
||||
sharedLibraryFile = file("$opensslHome/win32/bin/release/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslHome/win32/bin/release/$linkName")
|
||||
} else if (targetPlatform.name == 'win64') {
|
||||
dllName = 'libcrypto.dll'
|
||||
linkName = 'libcrypto.lib'
|
||||
sharedLibraryFile = file("$opensslHome/win64/bin/release/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslHome/win64/bin/release/$linkName")
|
||||
} else if (targetPlatform.operatingSystem.macOsX) {
|
||||
dllName = 'libcrypto.dylib'
|
||||
linkName = 'libcrypto.dylib'
|
||||
sharedLibraryFile = file("$opensslBrewHome/lib/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslBrewHome/lib/$linkName")
|
||||
} else if (targetPlatform.operatingSystem.linux) {
|
||||
dllName = 'libcrypto.so'
|
||||
linkName = 'libcrypto.so'
|
||||
sharedLibraryFile = file("$opensslLinuxHome/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslLinuxHome/$linkName")
|
||||
}
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
}
|
||||
ssl {
|
||||
headers.srcDir "$opensslHome/include"
|
||||
|
||||
binaries.withType(StaticLibraryBinary) {
|
||||
def libName
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (targetPlatform.name == 'win32') {
|
||||
libName = 'libssl.lib'
|
||||
staticLibraryFile = file("$opensslHome/win32/lib/debug/$libName")
|
||||
} else if (targetPlatform.name == 'win64') {
|
||||
libName = 'libssl.lib'
|
||||
staticLibraryFile = file("$opensslHome/win64/lib/debug/$libName")
|
||||
} else if (targetPlatform.operatingSystem.macOsX) {
|
||||
libName = 'libssl.a'
|
||||
staticLibraryFile = file("$opensslBrewHome/lib/$libName")
|
||||
} else if (targetPlatform.operatingSystem.linux) {
|
||||
libName = 'libssl.a'
|
||||
staticLibraryFile = file("$opensslLinuxHome/$libName")
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (targetPlatform.name == 'win32') {
|
||||
libName = 'libssl.lib'
|
||||
staticLibraryFile = file("$opensslHome/win32/lib/release/$libName")
|
||||
} else if (targetPlatform.name == 'win64') {
|
||||
libName = 'libssl.lib'
|
||||
staticLibraryFile = file("$opensslHome/win64/lib/release/$libName")
|
||||
} else if (targetPlatform.operatingSystem.macOsX) {
|
||||
libName = 'libssl.a'
|
||||
staticLibraryFile = file("$opensslBrewHome/lib/$libName")
|
||||
} else if (targetPlatform.operatingSystem.linux) {
|
||||
libName = 'libssl.a'
|
||||
staticLibraryFile = file("$opensslLinuxHome/$libName")
|
||||
}
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
binaries.withType(SharedLibraryBinary) {
|
||||
def dllName
|
||||
def linkName
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (targetPlatform.name == 'win32') {
|
||||
dllName = 'libssl.dll'
|
||||
linkName = 'libssl.lib'
|
||||
sharedLibraryFile = file("$opensslHome/win32/bin/debug/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslHome/win32/bin/debug/$linkName")
|
||||
} else if (targetPlatform.name == 'win64') {
|
||||
dllName = 'libssl.dll'
|
||||
linkName = 'libssl.lib'
|
||||
sharedLibraryFile = file("$opensslHome/win64/bin/debug/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslHome/win64/bin/debug/$linkName")
|
||||
} else if (targetPlatform.operatingSystem.macOsX) {
|
||||
dllName = 'libssl.dylib'
|
||||
linkName = 'libssl.dylib'
|
||||
sharedLibraryFile = file("$opensslBrewHome/lib/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslBrewHome/lib/$linkName")
|
||||
} else if (targetPlatform.operatingSystem.linux) {
|
||||
dllName = 'libssl.so'
|
||||
linkName = 'libssl.so'
|
||||
sharedLibraryFile = file("$opensslLinuxHome/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslLinuxHome/$linkName")
|
||||
}
|
||||
} else if (buildType == buildTypes.release) {
|
||||
if (targetPlatform.name == 'win32') {
|
||||
dllName = 'libssl.dll'
|
||||
linkName = 'libssl.lib'
|
||||
sharedLibraryFile = file("$opensslHome/win32/bin/release/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslHome/win32/bin/release/$linkName")
|
||||
} else if (targetPlatform.name == 'win64') {
|
||||
dllName = 'libssl.dll'
|
||||
linkName = 'libssl.lib'
|
||||
sharedLibraryFile = file("$opensslHome/win64/bin/release/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslHome/win64/bin/release/$linkName")
|
||||
} else if (targetPlatform.operatingSystem.macOsX) {
|
||||
dllName = 'libssl.dylib'
|
||||
linkName = 'libssl.dylib'
|
||||
sharedLibraryFile = file("$opensslBrewHome/lib/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslBrewHome/lib/$linkName")
|
||||
} else if (targetPlatform.operatingSystem.linux) {
|
||||
dllName = 'libssl.so'
|
||||
linkName = 'libssl.so'
|
||||
sharedLibraryFile = file("$opensslLinuxHome/$dllName")
|
||||
sharedLibraryLinkFile = file("$opensslLinuxHome/$linkName")
|
||||
}
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
components {
|
||||
withType(NativeComponentSpec) {
|
||||
targetPlatform "win32"
|
||||
targetPlatform "win64"
|
||||
targetPlatform "linux32"
|
||||
targetPlatform "linux64"
|
||||
targetPlatform "macos"
|
||||
|
||||
binaries.withType(NativeTestSuiteBinarySpec) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toLocalBin(executable.file, targetPlatform)
|
||||
}
|
||||
}
|
||||
}
|
||||
binaries.withType(NativeBinarySpec) {
|
||||
|
||||
if (toolChain in Clang) {
|
||||
cppCompiler.args "-std=c++11"
|
||||
}
|
||||
if (buildType == buildTypes.debug) {
|
||||
if (it instanceof SharedLibraryBinarySpec) {
|
||||
sharedLibraryFile = toBin(prefixByPoco(appendDebugSuffix(suffixByArch(sharedLibraryFile, targetPlatform))), targetPlatform)
|
||||
sharedLibraryLinkFile = toLib(prefixByPoco(appendDebugSuffix(sharedLibraryLinkFile)), targetPlatform)
|
||||
|
||||
if (targetPlatform.operatingSystem.windows) {
|
||||
// WINDOWS ONLY
|
||||
linker.args "/implib:${sharedLibraryLinkFile}" // For MSVC only
|
||||
// use the following for MinGW
|
||||
// linker.args "-Wl,--out-implib,${sharedLibraryLinkFile}"
|
||||
// This next part is simply to ensure the directory is created as the compiler (tested on MSVC only) won't create it
|
||||
def binary = it // Simply to expose the binary in the `doFirst`
|
||||
tasks.withType(LinkSharedLibrary) {
|
||||
doFirst {
|
||||
binary.sharedLibraryLinkFile.parentFile.mkdirs()
|
||||
}
|
||||
}
|
||||
}
|
||||
} else
|
||||
if (it instanceof StaticLibraryBinarySpec) {
|
||||
staticLibraryFile = toStatic(prefixByPoco(appendDebugSuffix(appendStaticSuffix(staticLibraryFile))), targetPlatform)
|
||||
def binary = it
|
||||
tasks.withType(CreateStaticLibrary) {
|
||||
doFirst {
|
||||
binary.staticLibraryFile.parentFile.mkdirs()
|
||||
}
|
||||
}
|
||||
} else
|
||||
if (it instanceof SemiStaticLibraryBinarySpec) {
|
||||
semiStaticLibraryFile = toStatic(prefixByPoco(appendDebugSuffix(appendSemiStaticSuffix(semiStaticLibraryFile))), targetPlatform)
|
||||
} else
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toBin(appendDebugSuffix(executable.file), targetPlatform)
|
||||
} else {
|
||||
throw new GradleException("Unknown native library binary")
|
||||
}
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
if (it instanceof SharedLibraryBinarySpec) {
|
||||
sharedLibraryFile = toBin(prefixByPoco(suffixByArch(sharedLibraryFile, targetPlatform)), targetPlatform)
|
||||
sharedLibraryLinkFile = toLib(prefixByPoco(sharedLibraryLinkFile), targetPlatform)
|
||||
|
||||
if (targetPlatform.operatingSystem.windows) {
|
||||
// WINDOWS ONLY
|
||||
linker.args "/implib:${sharedLibraryLinkFile}" // For MSVC only
|
||||
// use the following for MinGW
|
||||
// linker.args "-Wl,--out-implib,${sharedLibraryLinkFile}"
|
||||
// This next part is simply to ensure the directory is created as the compiler (tested on MSVC only) won't create it
|
||||
def binary = it // Simply to expose the binary in the `doFirst`
|
||||
tasks.withType(LinkSharedLibrary) {
|
||||
doFirst {
|
||||
binary.sharedLibraryLinkFile.parentFile.mkdirs()
|
||||
}
|
||||
}
|
||||
}
|
||||
} else
|
||||
if (it instanceof StaticLibraryBinarySpec) {
|
||||
staticLibraryFile = toStatic(prefixByPoco(appendStaticSuffix(staticLibraryFile)), targetPlatform)
|
||||
def binary = it
|
||||
tasks.withType(CreateStaticLibrary) {
|
||||
doFirst {
|
||||
binary.staticLibraryFile.parentFile.mkdirs()
|
||||
}
|
||||
}
|
||||
} else
|
||||
if (it instanceof SemiStaticLibraryBinarySpec) {
|
||||
semiStaticLibraryFile = toStatic(prefixByPoco(appendSemiStaticSuffix(semiStaticLibraryFile)), targetPlatform)
|
||||
def binary = it
|
||||
tasks.withType(CreateSemiStaticLibrary) {
|
||||
doFirst {
|
||||
binary.semiStaticLibraryFile.parentFile.mkdirs()
|
||||
}
|
||||
}
|
||||
} else
|
||||
if (it instanceof NativeExecutableBinarySpec) {
|
||||
executable.file = toBin(executable.file, targetPlatform)
|
||||
} else {
|
||||
throw new GradleException("Unknown native library binary")
|
||||
}
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
binaries {
|
||||
all {
|
||||
if (flavor != flavors.bundled) {
|
||||
cCompiler.define 'POCO_UNBUNDLED'
|
||||
cppCompiler.define 'POCO_UNBUNDLED'
|
||||
}
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.define '_DEBUG'
|
||||
cppCompiler.define '_DEBUG'
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.define 'NDEBUG'
|
||||
cppCompiler.define 'NDEBUG'
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
|
||||
if (toolChain in Gcc) {
|
||||
cppCompiler.define "_XOPEN_SOURCE=600"
|
||||
cppCompiler.define "_REENTRANT"
|
||||
cppCompiler.define "_THREAD_SAFE"
|
||||
cppCompiler.define "_FILE_OFFSET_BITS=64"
|
||||
cppCompiler.define "_LARGEFILE64_SOURCE"
|
||||
cppCompiler.define "POCO_HAVE_FD_EPOLL"
|
||||
cppCompiler.define "POCO_HAVE_ADDRINFO"
|
||||
cppCompiler.define "POCO_HAVE_LIBRESOLV"
|
||||
cppCompiler.args "-std=c++11"
|
||||
cppCompiler.args "-fPIC"
|
||||
|
||||
linker.args "-lrt"
|
||||
linker.args "-ldl"
|
||||
linker.args "-lpthread"
|
||||
}
|
||||
if (toolChain in VisualCpp) {
|
||||
if (targetPlatform == platforms.win64) {
|
||||
linker.args '/MACHINE:X64'
|
||||
} else {
|
||||
linker.args '/MACHINE:X86'
|
||||
}
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args '/Zi'
|
||||
cppCompiler.args '/Zi'
|
||||
linker.args '/DEBUG'
|
||||
}
|
||||
cCompiler.args '/RTC1'
|
||||
cCompiler.args '/FS'
|
||||
cCompiler.args '/Zc:wchar_t'
|
||||
cCompiler.args '/Zc:inline'
|
||||
cCompiler.args '/Zc:forScope'
|
||||
cCompiler.args '/GR'
|
||||
cCompiler.args '/GF'
|
||||
cCompiler.args '/EHsc'
|
||||
cCompiler.args '/bigobj'
|
||||
cCompiler.define 'WIN32'
|
||||
cCompiler.define '_WIN32'
|
||||
cCompiler.define '_WINDOWS'
|
||||
cCompiler.define '_MBCS'
|
||||
|
||||
cppCompiler.args '/RTC1'
|
||||
cppCompiler.args '/FS'
|
||||
cppCompiler.args '/Zc:wchar_t'
|
||||
cppCompiler.args '/Zc:inline'
|
||||
cppCompiler.args '/Zc:forScope'
|
||||
cppCompiler.args '/GR'
|
||||
cppCompiler.args '/GF'
|
||||
cppCompiler.args '/EHsc'
|
||||
cppCompiler.args '/bigobj'
|
||||
cppCompiler.define 'WIN32'
|
||||
cppCompiler.define '_WIN32'
|
||||
cppCompiler.define '_WINDOWS'
|
||||
cppCompiler.define '_MBCS'
|
||||
|
||||
linker.args 'kernel32.lib'
|
||||
linker.args 'user32.lib'
|
||||
linker.args 'gdi32.lib'
|
||||
linker.args 'winspool.lib'
|
||||
linker.args 'comdlg32.lib'
|
||||
linker.args 'advapi32.lib'
|
||||
linker.args 'shell32.lib'
|
||||
linker.args 'ole32.lib'
|
||||
linker.args 'oleaut32.lib'
|
||||
linker.args 'uuid.lib'
|
||||
|
||||
linker.args '/NXCOMPAT'
|
||||
linker.args '/OPT:REF'
|
||||
linker.args '/INCREMENTAL:NO'
|
||||
// linker.args '/MANIFEST'
|
||||
// linker.args '/MANIFESTUAC:"level='asInvoker' uiAccess='false'"'
|
||||
linker.args '/OPT:ICF'
|
||||
linker.args '/NOLOGO'
|
||||
linker.args '/SUBSYSTEM:CONSOLE'
|
||||
}
|
||||
}
|
||||
withType(SharedLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cCompiler.define '_USRDLL'
|
||||
cCompiler.define '_WINDLL'
|
||||
cppCompiler.define '_USRDLL'
|
||||
cppCompiler.define '_WINDLL'
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
linker.args "-Wl,-rpath,$rootDir/lib64" //FIXME
|
||||
}
|
||||
}
|
||||
withType(StaticLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cCompiler.define '_LIB'
|
||||
cCompiler.define 'POCO_STATIC'
|
||||
cppCompiler.define '_LIB'
|
||||
cppCompiler.define 'POCO_STATIC'
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MTd"
|
||||
cCompiler.args "/Fd" + toStatic(toPDB(staticLibraryFile), targetPlatform)
|
||||
cppCompiler.args "/MTd"
|
||||
cppCompiler.args "/Fd" + toStatic(toPDB(staticLibraryFile), targetPlatform)
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MT"
|
||||
cppCompiler.args "/MT"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
withType(SemiStaticLibraryBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
cCompiler.define '_LIB'
|
||||
cCompiler.define 'POCO_STATIC'
|
||||
cppCompiler.define '_LIB'
|
||||
cppCompiler.define 'POCO_STATIC'
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cCompiler.args "/Fd" + toStatic(toPDB(semiStaticLibraryFile), targetPlatform)
|
||||
cppCompiler.args "/MDd"
|
||||
cppCompiler.args "/Fd" + toStatic(toPDB(semiStaticLibraryFile), targetPlatform)
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
withType(NativeExecutableBinarySpec) {
|
||||
if (toolChain in VisualCpp) {
|
||||
if (buildType == buildTypes.debug) {
|
||||
cCompiler.args "/MDd"
|
||||
cppCompiler.args "/MDd"
|
||||
} else
|
||||
if (buildType == buildTypes.release) {
|
||||
cCompiler.args "/MD"
|
||||
cppCompiler.args "/MD"
|
||||
} else {
|
||||
throw new GradleException("Unknown buildType" + buildType)
|
||||
}
|
||||
}
|
||||
if (toolChain in Gcc) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
tasks.withType(RunTestExecutable) {
|
||||
args test
|
||||
}
|
||||
task showCompilerOutput {
|
||||
doLast {
|
||||
FileTree tree = fileTree('gradle').include('**/output.txt')
|
||||
// Iterate over the contents of a tree
|
||||
tree.each {File file ->
|
||||
println 'Content of file ' + file + ':\n'
|
||||
println file.text
|
||||
}
|
||||
}
|
||||
}
|
||||
/*
|
||||
tasks.withType(CppCompile) {
|
||||
finalizedBy showCompilerOutput
|
||||
}
|
||||
*/
|
||||
}
|
||||
task pocos() {
|
||||
def Set<Task> tts = project.getTasksByName('poco', true)
|
||||
setDependsOn(tts)
|
||||
}
|
||||
task PocoDocIni {
|
||||
def file = new File("$rootDir/PocoDoc/PocoDoc.ini")
|
||||
file.createNewFile()
|
||||
file.text = """
|
||||
PocoBuild=$rootDir
|
||||
PocoBase=$rootDir
|
||||
PocoDoc.output=releases/poco-${version}-all-doc
|
||||
PocoDoc.version=${version}-all
|
||||
"""
|
||||
if (os.windows) {
|
||||
file.text += """
|
||||
Includes=-I${postgres32Home}/include,-I${mysql32Home}/include,-ICppParser/include,-ICppUnit/include,-ICrypto/include,-IData/include,-IData/MySQL/include,-IData/ODBC/include,-IData/PostgreSQL/include,-IData/SQLite/include, -IData/SQLite/src,-IFoundation/include,-IJSON/include,-IMongoDB/include,-INet/include,-INetSSL_OpenSSL/include,-INetSSL_Win/include,-IRedis/include,-IUtil/include,-IXML/include,-IZip/include,-ISevenZip/include,-IPDF/include
|
||||
VC=${VCHome}
|
||||
WDK=${WDKHome}
|
||||
"""
|
||||
} else {
|
||||
}
|
||||
}
|
||||
task pocoDoc(type: Exec) {
|
||||
dependsOn ':PocoDoc::assemble'
|
||||
dependsOn PocoDocIni
|
||||
if (os.windows) {
|
||||
environment "Path", "$rootDir\\bin;$Path"
|
||||
executable "PocoDoc/bin/PocoDoc.exe"
|
||||
args "/config=$rootDir/PocoDoc/cfg/mkdoc-poco.xml"
|
||||
args "/config=$rootDir/PocoDoc/PocoDoc.ini"
|
||||
}
|
||||
if (os.linux) {
|
||||
environment "LD_LIBRARY_PATH", "$rootDir/lib64:$LD_LIBRARY_PATH"
|
||||
executable "PocoDoc/bin64/PocoDoc"
|
||||
args "-config=$rootDir/PocoDoc/cfg/mkdoc-poco.xml"
|
||||
args "-config=$rootDir/PocoDoc/PocoDoc.ini"
|
||||
}
|
||||
if (os.macOsX) {
|
||||
//FIXME environment "LD_LIBRARY_PATH", "$rootDir/bin:$LD_LIBRARY_PATH"
|
||||
args "-config=$rootDir/PocoDoc/cfg/mkdoc-poco.xml"
|
||||
args "-config=$rootDir/PocoDoc/PocoDoc.ini"
|
||||
}
|
||||
// inputs.files(tasks.getByPath(':production').outputs.files)
|
||||
// inputs.files(executable)
|
||||
inputs.files(fileTree("doc").filter { it.isFile() })
|
||||
inputs.files(new File("$rootDir/PocoDoc/cfg/mkdoc-poco.xml"))
|
||||
outputs.files(new File("releases/$version-all-doc/index.html"))
|
||||
}
|
||||
task zipDoc(type: Zip) {
|
||||
from "releases/poco-${version}-all-doc/"
|
||||
include '*'
|
||||
include '*/*'
|
||||
archiveName "poco-${version}-all-doc.zip"
|
||||
destinationDir(file('releases'))
|
||||
inputs.files(new File("releases/$version-all-doc/index.html"))
|
||||
outputs.files(new File("releases/poco-${version}-all-doc.zip"))
|
||||
// dependsOn pocoDoc
|
||||
}
|
||||
|
||||
def candle(VSYEAR, VERSION, target, os) {
|
||||
return tasks.create("Candle-${VSYEAR}-${VERSION}-${target}", Exec) {
|
||||
dependsOn ':pocos'
|
||||
dependsOn ':pocoDoc'
|
||||
executable "${WiXHome}/bin/Candle.exe"
|
||||
workingDir "packaging/Windows/WiX"
|
||||
args "-arch", "${target}"
|
||||
args "-dVSYEAR=${VSYEAR}"
|
||||
args "-dVERSION=${VERSION}"
|
||||
args "-dPOCO=${rootDir}"
|
||||
args "-dPlatform=${target}"
|
||||
args "-ext", "${WiXHome}/bin/WixUIExtension.dll"
|
||||
args "-out", "${VSYEAR}/${VSYEAR}-Poco-$VERSION-${target}.wixobj"
|
||||
args "Poco-${VERSION}.wxs"
|
||||
inputs.files(new File(workingDir, "Poco-${VERSION}.wxs"))
|
||||
// inputs.files(tasks.getByPath(':poco').outputs.files)
|
||||
outputs.files(new File(workingDir,"${VSYEAR}/${VSYEAR}-Poco-$VERSION-${target}.wixobj"))
|
||||
onlyIf(new Spec<Exec>() {
|
||||
boolean isSatisfiedBy(Exec task) {
|
||||
return os.windows;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
def light(VSYEAR, VERSION, target, os) {
|
||||
return tasks.create("Light-${VSYEAR}-${VERSION}-${target}", Exec) {
|
||||
dependsOn candle(VSYEAR, VERSION, target, os)
|
||||
executable "${WiXHome}/bin/Light.exe"
|
||||
workingDir "packaging/Windows/WiX"
|
||||
args "-cultures:null"
|
||||
args "-ext", "${WiXHome}/bin/WixUIExtension.dll"
|
||||
args "-out"
|
||||
args "${VSYEAR}/${VSYEAR}-Poco-$VERSION-${target}.msi"
|
||||
args "${VSYEAR}/${VSYEAR}-Poco-$VERSION-${target}.wixobj"
|
||||
inputs.files(new File(workingDir, "${VSYEAR}/${VSYEAR}-Poco-$VERSION-${target}.wixobj"))
|
||||
outputs.files(new File(workingDir, "${VSYEAR}/${VSYEAR}-Poco-$VERSION-${target}.msi"))
|
||||
onlyIf(new Spec<Exec>() {
|
||||
boolean isSatisfiedBy(Exec task) {
|
||||
return os.windows;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
task wix() {
|
||||
dependsOn light('VS2015', version, 'x86', os)
|
||||
dependsOn light('VS2015', version, 'x64', os)
|
||||
onlyIf(new Spec<Task>() {
|
||||
boolean isSatisfiedBy(Task task) {
|
||||
return os.windows;
|
||||
}
|
||||
});
|
||||
}
|
||||
task nuget(type: Exec) {
|
||||
dependsOn ':pocos'
|
||||
executable "${NuGetHome}/NuGet.exe"
|
||||
workingDir "packaging/Windows/NuGet"
|
||||
args "pack"
|
||||
args "-BasePath", "$rootDir"
|
||||
args "-Version", version
|
||||
args "-Symbols"
|
||||
args "-NonInteractive"
|
||||
args "Pocoproject.Poco.vs140.nuspec"
|
||||
inputs.files(new File(workingDir, "Pocoproject.Poco.vs140.nuspec"))
|
||||
// inputs.files(tasks.getByPath(':poco').outputs.files)
|
||||
outputs.files(new File(workingDir,"Pocoproject.Poco.vs140.${version}.nupkg"))
|
||||
onlyIf(new Spec<Exec>() {
|
||||
boolean isSatisfiedBy(Exec task) {
|
||||
return os.windows;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
task packaging() {
|
||||
if (os.windows) {
|
||||
dependsOn nuget
|
||||
dependsOn wix
|
||||
}
|
||||
}
|
||||
task all() {
|
||||
//doLast {
|
||||
// def files = fileTree("src").filter { it.isFile() }.files.name;
|
||||
// println files;
|
||||
// println "------------------------------------"
|
||||
// println project.tasks.matching { Task task -> task.name.contains("assemble") }
|
||||
// println "------------------------------------"
|
||||
// def Set<Project> projects = project.subprojects
|
||||
// println projects
|
||||
// println "------------------------------------"
|
||||
// def Set<Task> tts = project.getTasksByName('poco', true)
|
||||
// println tts
|
||||
// setDependsOn(tts)
|
||||
// println project.subprojects.tasks.matching { Task task -> task.name.contains("poco") }
|
||||
// println "------------------------------------"
|
||||
// def c = subprojects.tasks.findAll { it.findByName(":poco") }
|
||||
// println c
|
||||
|
||||
// CppCompile task = tasks.getByPath(':compileHelloSharedLibraryHelloCpp');
|
||||
// println task;
|
||||
/*
|
||||
FileCollection incs = task.includes;
|
||||
incs.each { dir -> fileTree(dir).files.each { file -> inputs.files(file) }};
|
||||
inputs.files.each { file -> println file.path }
|
||||
*/
|
||||
//}
|
||||
}
|
||||
def get() {
|
||||
def foo = subprojects.tasks.findAll { it.name.contains('poco') }
|
||||
return foo
|
||||
}
|
||||
task includes() {
|
||||
doLast {
|
||||
TaskContainer tc;
|
||||
// Task t = tasks.getByPath(':poco');
|
||||
// TaskDependency td = t.taskDependencies;
|
||||
// td.values.each { task -> println task }
|
||||
def ts = subprojects.tasks //.matching { task -> task.name.contains("poco") }
|
||||
// println ts.each { it.matching { task -> task.name.contains("poco") } }
|
||||
def foo = binaries.findAll { it.buildable }
|
||||
println foo
|
||||
/*
|
||||
def compileTasks = tasks.withType(CppCompile).matching { Task task ->
|
||||
String path = task.path;
|
||||
String name = task.name;
|
||||
name.contains("Shared") && name.contains("Release") && name.contains("Win32") && !path.contains("test") && !path.contains("sample")
|
||||
}
|
||||
println compileTasks
|
||||
*/
|
||||
}
|
||||
}
|
||||
/*
|
||||
tasks { t ->
|
||||
$.components.main.binaries.each { binary ->
|
||||
def stripTask = binary.tasks.taskName("strip")
|
||||
t.create(stripTask) {
|
||||
dependsOn binary.tasks.link
|
||||
doFirst {
|
||||
if (binary.toolChain in Gcc) {
|
||||
["strip", binary.tasks.link.outputFile].execute().waitForOrKill(1000)
|
||||
}
|
||||
}
|
||||
}
|
||||
binary.tasks.build.dependsOn stripTask
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
33
gradle.properties
Normal file
33
gradle.properties
Normal file
@ -0,0 +1,33 @@
|
||||
# https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19-win32.zip
|
||||
mysql32Home=C:/mysql-5.6.37-win32
|
||||
|
||||
|
||||
# https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.19-winx64.zip
|
||||
mysql64Home=C:/mysql-5.6.37-winx64
|
||||
|
||||
|
||||
# https://get.enterprisedb.com/postgresql/postgresql-9.6.3-2-windows-binaries.zip
|
||||
postgres32Home=C:/postgresql-9.6.3-2-win32/pgsql
|
||||
|
||||
|
||||
# https://get.enterprisedb.com/postgresql/postgresql-9.6.3-2-windows-x64-binaries.zip
|
||||
postgres64Home=C:/postgresql-9.6.3-2-win64/pgsql
|
||||
|
||||
|
||||
# Windows Development Kit
|
||||
WDKHome=C:/Program Files (x86)/Windows Kits/10/Include/10.0.15063.0
|
||||
|
||||
# VisualStudio 2015
|
||||
VCHome=C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC
|
||||
|
||||
|
||||
# https://github.com/wixtoolset/wix3/releases/download/wix311rtm/wix311.exe
|
||||
WiXHome=C:/Progra~2/WIXTOO~1.11
|
||||
|
||||
|
||||
# https://dist.nuget.org/win-x86-commandline/v4.3.0/nuget.exe
|
||||
NuGetHome=C:/Program Files (x86)/NuGet
|
||||
|
||||
|
||||
test=-print
|
||||
LD_LIBRARY_PATH=
|
34
packaging/Boost License.rtf
Normal file
34
packaging/Boost License.rtf
Normal file
@ -0,0 +1,34 @@
|
||||
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Courier New;}}
|
||||
{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\lang1036\f0\fs22 Boost Software License - Version 1.0 - August 17th, 2003\par
|
||||
\par
|
||||
Permission is hereby granted, free of charge, to any person or organization\par
|
||||
obtaining a copy of the software and accompanying documentation covered by\par
|
||||
this license (the "Software") to use, reproduce, display, distribute,\par
|
||||
execute, and transmit the Software, and to prepare derivative works of the\par
|
||||
Software, and to permit third-parties to whom the Software is furnished to\par
|
||||
do so, all subject to the following:\par
|
||||
\par
|
||||
The copyright notices in the Software and this entire statement, including\par
|
||||
the above license grant, this restriction and the following disclaimer,\par
|
||||
must be included in all copies of the Software, in whole or in part, and\par
|
||||
all derivative works of the Software, unless such copies or derivative\par
|
||||
works are solely in the form of machine-executable object code generated by\par
|
||||
a source language processor.\par
|
||||
\par
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\par
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\par
|
||||
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT\par
|
||||
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE\par
|
||||
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,\par
|
||||
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER\par
|
||||
DEALINGS IN THE SOFTWARE.\par
|
||||
\par
|
||||
---------------------------------------------------------------------------\par
|
||||
Note:\par
|
||||
Individual files contain the following tag instead of the full license text.\par
|
||||
\par
|
||||
SPDX-License-Identifier: BSL-1.0\par
|
||||
\par
|
||||
This enables machine processing of license information based on the SPDX\par
|
||||
License Identifiers that are here available: http://spdx.org/licenses/\par
|
||||
}
|
2604
packaging/CHANGELOG
Normal file
2604
packaging/CHANGELOG
Normal file
File diff suppressed because it is too large
Load Diff
0
packaging/Linux/Fedora/.gitignore
vendored
Normal file
0
packaging/Linux/Fedora/.gitignore
vendored
Normal file
0
packaging/Linux/Ubuntu/debian/.gitignore
vendored
Normal file
0
packaging/Linux/Ubuntu/debian/.gitignore
vendored
Normal file
0
packaging/Other/.gitignore
vendored
Normal file
0
packaging/Other/.gitignore
vendored
Normal file
0
packaging/Other/VMS/.gitignore
vendored
Normal file
0
packaging/Other/VMS/.gitignore
vendored
Normal file
111
packaging/README.md
Normal file
111
packaging/README.md
Normal file
@ -0,0 +1,111 @@
|
||||
POCO C++ Distribution
|
||||
=====================
|
||||
|
||||
This repository contains packaged Poco releases for various platforms and
|
||||
successive versions of Poco starting from release Poco-1.6.1.
|
||||
|
||||
CHANGELOG contains all changes for the following releases
|
||||
|
||||
- Release 1.7.8p4 (2017-08-11)
|
||||
- Release 1.7.8p3 (2017-06-22)
|
||||
- Release 1.7.8p2 (2017-04-18)
|
||||
- Release 1.7.7 (2016-12-31)
|
||||
- Release 1.7.6 (2016-10-18)
|
||||
- Release 1.7.5 (2016-08-29)
|
||||
- Release 1.7.4 (2016-07-20)
|
||||
- Release 1.7.3 (2016-05-02)
|
||||
- Release 1.7.2 (2016-03-21)
|
||||
- Release 1.7.1 (2016-03-14)
|
||||
- Release 1.7.0 (2016-03-07)
|
||||
- Release 1.6.1 (2015-08-03)
|
||||
- Release 1.6.0 (2014-12-22)
|
||||
- Release 1.5.4 (2014-10-14)
|
||||
- Release 1.5.3 (2014-06-30)
|
||||
- Release 1.5.2 (2013-09-16)
|
||||
- Release 1.5.1 (2013-01-11)
|
||||
- Release 1.5.0 (2012-10-14)
|
||||
- Release 1.4.7p1 (2014-11-25)
|
||||
- Release 1.4.7 (2014-10-06)
|
||||
- Release 1.4.6p4 (2014-04-18)
|
||||
- Release 1.4.6p3 (2014-04-02)
|
||||
- Release 1.4.6p2 (2013-09-16)
|
||||
- Release 1.4.6p1 (2013-03-06)
|
||||
- Release 1.4.6 (2013-01-10)
|
||||
- Release 1.4.5 (2012-11-19)
|
||||
- Release 1.4.4 (2012-09-03)
|
||||
- Release 1.4.3p1 (2012-01-23)
|
||||
- Release 1.4.3 (2012-01-16)
|
||||
- Release 1.4.2p1 (2011-09-24)
|
||||
- Release 1.4.2 (2011-08-28)
|
||||
- Release 1.4.1p1 (2011-02-08)
|
||||
- Release 1.4.1 (2011-01-29)
|
||||
- Release 1.4.0 (2010-12-14)
|
||||
- Release 1.3.6p2 (2010-01-15)
|
||||
- Release 1.3.6p1 (2009-12-21)
|
||||
- Release 1.3.6 (2009-11-24)
|
||||
- Release 1.3.5 (2009-05-11)
|
||||
- Release 1.3.4 (2009-04-21)
|
||||
- Release 1.3.3p1 (2008-10-09)
|
||||
- Release 1.3.3 (2008-10-07)
|
||||
- Release 1.3.2 (2008-02-04)
|
||||
- Release 1.3.1 (2007-08-08)
|
||||
- Release 1.3.0 (2007-05-07)
|
||||
- Release 1.2.9 (2007-02-26)
|
||||
- Release 1.2.8 (2007-01-04)
|
||||
- Release 1.2.7 (2006-12-07)
|
||||
- Release 1.2.6 (2006-11-19)
|
||||
- Release 1.2.5 (2006-10-23)
|
||||
- Release 1.2.4 (2006-10-02)
|
||||
- Release 1.2.3 (2006-09-14)
|
||||
- Release 1.2.2 (2006-09-01)
|
||||
- Release 1.2.1 (2006-08-29)
|
||||
- Release 1.2.0 (2006-08-29)
|
||||
- Release 1.1.2 (2006-07-07)
|
||||
- Release 1.1.1 (2006-04-03)
|
||||
- Release 1.1.0 (2006-03-23)
|
||||
- Release 1.1b2 (2006-03-04)
|
||||
- Release 1.1b1 (2006-03-03)
|
||||
- Release 1.0.0 (2006-01-19)
|
||||
- Release 1.0b2 (2006-01-16)
|
||||
- Release 1.0b1 (2006-01-09)
|
||||
- Release 1.0a1 (2006-01-03) [internal]
|
||||
- Release 0.96.1 (2005-12-28)
|
||||
- Release 0.95.4 (2005-11-07)
|
||||
- Release 0.95.3 (2005-10-28) [internal]
|
||||
- Release 0.95.2 (2005-10-22) [internal]
|
||||
- Release 0.94.1 (2005-09-30) [internal]
|
||||
- Release 0.93.1 (2005-08-01)
|
||||
- Release 0.92.1 (2005-05-09)
|
||||
- Release 0.91.4 (2005-04-11)
|
||||
- Release 0.91.3 (2005-03-19)
|
||||
- Release 0.91.2 (2005-02-27)
|
||||
- Release 0.91.1 (2005-02-21)
|
||||
|
||||
|
||||
POCO C++ Libraries
|
||||
==================
|
||||
|
||||
POrtable COmponents C++ Libraries are:
|
||||
--------------------------------------
|
||||
- A collection of C++ class libraries, conceptually similar to the Java Class Library, the .NET Framework or Apple’s Cocoa.
|
||||
- Focused on solutions to frequently-encountered practical problems.
|
||||
- Focused on ‘internet-age’ network-centric applications.
|
||||
- Written in efficient, modern, 100% ANSI/ISO Standard C++.
|
||||
- Based on and complementing the C++ Standard Library/STL.
|
||||
- Highly portable and available on many different platforms.
|
||||
- Open Source, licensed under the [Boost Software License](https://spdx.org/licenses/BSL-1.0).
|
||||
|
||||
----
|
||||
To start using POCO, see the [Guided Tour](http://pocoproject.org/docs-1.5.3/00100-GuidedTour.html) and [Getting Started](http://pocoproject.org/docs-1.5.3/00200-GettingStarted.html) documents.
|
||||
|
||||
----
|
||||
POCO has an active user and contributing community, please visit our [web site](http://pocoproject.org), [forum](http://pocoproject.org/forum) and [blog](http://pocoproject.org/blog).
|
||||
Answers to POCO-related questions can also be found on [Stack Overflow](http://stackoverflow.com/questions/tagged/poco-libraries).
|
||||
|
||||
----
|
||||
In regards to Boost, in spite of some functional overlapping,
|
||||
POCO is best thought of as a Boost complement (rather than replacement).
|
||||
Side-by-side use of Boost and POCO is a very common occurrence.
|
||||
|
||||
|
||||
|
24
packaging/README.txt
Normal file
24
packaging/README.txt
Normal file
@ -0,0 +1,24 @@
|
||||
POCO C++ Libraries
|
||||
==================
|
||||
|
||||
POrtable COmponents C++ Libraries are:
|
||||
--------------------------------------
|
||||
- A collection of C++ class libraries, conceptually similar to the Java Class Library, the .NET Framework or Apple’s Cocoa.
|
||||
- Focused on solutions to frequently-encountered practical problems.
|
||||
- Focused on ‘internet-age’ network-centric applications.
|
||||
- Written in efficient, modern, 100% ANSI/ISO Standard C++.
|
||||
- Based on and complementing the C++ Standard Library/STL.
|
||||
- Highly portable and available on many different platforms.
|
||||
- Open Source, licensed under the [Boost Software License](https://spdx.org/licenses/BSL-1.0).
|
||||
|
||||
----
|
||||
To start using POCO, see the [Guided Tour](http://pocoproject.org/docs-1.5.3/00100-GuidedTour.html) and [Getting Started](http://pocoproject.org/docs-1.5.3/00200-GettingStarted.html) documents.
|
||||
|
||||
----
|
||||
POCO has an active user and contributing community, please visit our [web site](http://pocoproject.org), [forum](http://pocoproject.org/forum) and [blog](http://pocoproject.org/blog).
|
||||
Answers to POCO-related questions can also be found on [Stack Overflow](http://stackoverflow.com/questions/tagged/poco-libraries).
|
||||
|
||||
----
|
||||
In regards to Boost, in spite of some functional overlapping,
|
||||
POCO is best thought of as a Boost complement (rather than replacement).
|
||||
Side-by-side use of Boost and POCO is a very common occurrence.
|
0
packaging/Unix/.gitignore
vendored
Normal file
0
packaging/Unix/.gitignore
vendored
Normal file
0
packaging/Unix/HP/.gitignore
vendored
Normal file
0
packaging/Unix/HP/.gitignore
vendored
Normal file
0
packaging/Unix/Sun/.gitignore
vendored
Normal file
0
packaging/Unix/Sun/.gitignore
vendored
Normal file
44
packaging/Windows/NuGet/Pocoproject.Poco.vs140.nuspec
Normal file
44
packaging/Windows/NuGet/Pocoproject.Poco.vs140.nuspec
Normal file
@ -0,0 +1,44 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<package xmlns='http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd'>
|
||||
<metadata>
|
||||
<id>Pocoproject.Poco.vs140</id>
|
||||
<version>$version$</version>
|
||||
<title>Poco $version$</title>
|
||||
<authors> Applied Informatics & Contributors</authors>
|
||||
<owners>Günter Obiltschnig & Aleksandar Fabijanic</owners>
|
||||
<licenseUrl>https://pocoproject.org/license.html</licenseUrl>
|
||||
<projectUrl>https://pocoproject.org/</projectUrl>
|
||||
<iconUrl>https://avatars1.githubusercontent.com/u/201918?v=4&s=200</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>Modern, powerful open source C++ class libraries for building network- and internet-based applications that run on desktop, server, mobile and embedded systems.</description>
|
||||
<releaseNotes>
|
||||
</releaseNotes>
|
||||
<copyright>Copyright 2017</copyright>
|
||||
<tags>string filesystem thread date log event regex uri uuid cache native nativepackage sockets mime http ftp mail pop3 smtp html sax sax2 dom xml</tags>
|
||||
<dependencies>
|
||||
<dependency id='openssl' version='1.0.2' />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src='packaging\Windows\NuGet\Pocoproject.Poco.vs140.targets' target='build\native'/>
|
||||
<file src='bin\*' target='build\native\bin' exclude='bin\PocoCppParser*'/>
|
||||
<file src='lib\*' target='build\native\lib' exclude='lib\PocoCppParser*'/>
|
||||
<file src='bin64\*' target='build\native\bin64' exclude='bin64\PocoCppParser*'/>
|
||||
<file src='lib64\*' target='build\native\lib64' exclude='lib64\PocoCppParser*'/>
|
||||
<file src='CppUnit\include\**' target='build\native\inc' />
|
||||
<file src='Crypto\include\**' target='build\native\inc' />
|
||||
<file src='Data\MySQL\include\**' target='build\native\inc' />
|
||||
<file src='Data\ODBC\include\**' target='build\native\inc' />
|
||||
<file src='Data\SQLite\include\**' target='build\native\inc' />
|
||||
<file src='Foundation\include\**' target='build\native\inc' />
|
||||
<file src='JSON\include\**' target='build\native\inc' />
|
||||
<file src='MongoDB\include\**' target='build\native\inc' />
|
||||
<file src='Net\include\**' target='build\native\inc' />
|
||||
<file src='NetSSL_OpenSSL\include\**' target='build\native\inc' />
|
||||
<file src='NetSSL_Win\include\**' target='build\native\inc' />
|
||||
<file src='PDF\include\**' target='build\native\inc' />
|
||||
<file src='Util\include\**' target='build\native\inc' />
|
||||
<file src='XML\include\**' target='build\native\inc' />
|
||||
<file src='Zip\include\**' target='build\native\inc' />
|
||||
</files>
|
||||
</package>
|
@ -0,0 +1,25 @@
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<package xmlns='http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd'>
|
||||
<metadata>
|
||||
<id>Pocoproject.Poco.vs140</id>
|
||||
<version>$version$</version>
|
||||
<title>Poco $version$</title>
|
||||
<authors> Applied Informatics & Contributors</authors>
|
||||
<owners>Günter Obiltschnig & Aleksandar Fabijanic</owners>
|
||||
<licenseUrl>https://pocoproject.org/license.html</licenseUrl>
|
||||
<projectUrl>https://pocoproject.org/</projectUrl>
|
||||
<iconUrl>https://avatars1.githubusercontent.com/u/201918?v=4&s=200</iconUrl>
|
||||
<requireLicenseAcceptance>false</requireLicenseAcceptance>
|
||||
<description>Modern, powerful open source C++ class libraries for building network- and internet-based applications that run on desktop, server, mobile and embedded systems.</description>
|
||||
<releaseNotes>
|
||||
</releaseNotes>
|
||||
<copyright>Copyright 2017</copyright>
|
||||
<tags>string filesystem thread date log event regex uri uuid cache native nativepackage sockets mime http ftp mail pop3 smtp html sax sax2 dom xml</tags>
|
||||
</metadata>
|
||||
<files>
|
||||
<file src='bin\*.pdb' target='build\native\bin' exclude='..\bin\PocoCppParser*'/>
|
||||
<file src='bin\*.dll' target='build\native\bin' exclude='..\bin\PocoCppParser*/>
|
||||
<file src='bin64\*.pdb' target='build\native\bin64' exclude='..\bin64\PocoCppParser*'/>
|
||||
<file src='bin64\*.dll' target='build\native\bin64' exclude='..\bin64\PocoCppParser*'/>
|
||||
</files>
|
||||
</package>
|
13
packaging/Windows/NuGet/Pocoproject.Poco.vs140.targets
Normal file
13
packaging/Windows/NuGet/Pocoproject.Poco.vs140.targets
Normal file
@ -0,0 +1,13 @@
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemDefinitionGroup>
|
||||
<ClCompile>
|
||||
<AdditionalIncludeDirectories>$(MSBuildThisFileDirectory)inc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link Condition="'$(Platform)'=='Win32'">
|
||||
<AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
<Link Condition="'$(Platform)'=='x64'">
|
||||
<AdditionalLibraryDirectories>$(MSBuildThisFileDirectory)lib64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
</Project>
|
1
packaging/Windows/NuGet/api.key
Normal file
1
packaging/Windows/NuGet/api.key
Normal file
@ -0,0 +1 @@
|
||||
e5709aaf-9638-45e8-a8b9-0de8a7cec41e
|
BIN
packaging/Windows/WiX/Poco 128x410.bmp
Normal file
BIN
packaging/Windows/WiX/Poco 128x410.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 154 KiB |
BIN
packaging/Windows/WiX/Poco 312x312.jpg
Normal file
BIN
packaging/Windows/WiX/Poco 312x312.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 20 KiB |
BIN
packaging/Windows/WiX/Poco 64x64.ico
Normal file
BIN
packaging/Windows/WiX/Poco 64x64.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 97 KiB |
BIN
packaging/Windows/WiX/Poco Layers.bmp
Normal file
BIN
packaging/Windows/WiX/Poco Layers.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 191 KiB |
BIN
packaging/Windows/WiX/Poco Layers.png
Normal file
BIN
packaging/Windows/WiX/Poco Layers.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 7.9 KiB |
3627
packaging/Windows/WiX/Poco-1.6.1.wxs
Normal file
3627
packaging/Windows/WiX/Poco-1.6.1.wxs
Normal file
File diff suppressed because it is too large
Load Diff
3618
packaging/Windows/WiX/Poco-1.7.3.wxs
Normal file
3618
packaging/Windows/WiX/Poco-1.7.3.wxs
Normal file
File diff suppressed because it is too large
Load Diff
3576
packaging/Windows/WiX/Poco-1.7.8.4.wxs
Normal file
3576
packaging/Windows/WiX/Poco-1.7.8.4.wxs
Normal file
File diff suppressed because it is too large
Load Diff
3573
packaging/Windows/WiX/Poco-1.7.8.wxs
Normal file
3573
packaging/Windows/WiX/Poco-1.7.8.wxs
Normal file
File diff suppressed because it is too large
Load Diff
3540
packaging/Windows/WiX/Poco-1.8.0.wxs
Normal file
3540
packaging/Windows/WiX/Poco-1.8.0.wxs
Normal file
File diff suppressed because it is too large
Load Diff
3561
packaging/Windows/WiX/Poco-2.0.0.wxs
Normal file
3561
packaging/Windows/WiX/Poco-2.0.0.wxs
Normal file
File diff suppressed because it is too large
Load Diff
0
packaging/Windows/WiX/VS2013/.gitignore
vendored
Normal file
0
packaging/Windows/WiX/VS2013/.gitignore
vendored
Normal file
0
packaging/Windows/WiX/VS2015/.gitignore
vendored
Normal file
0
packaging/Windows/WiX/VS2015/.gitignore
vendored
Normal file
@ -1,4 +1,4 @@
|
||||
#! /bin/sh
|
||||
#! /bin/bash
|
||||
#
|
||||
# mkdoc
|
||||
#
|
||||
@ -12,6 +12,11 @@
|
||||
# usage: mkdoc [-l <perforce-label>] [<specfile>]
|
||||
#
|
||||
|
||||
if [ "$POCO_BASE" = "" ] ; then
|
||||
echo "Error: POCO_BASE not set."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
osname=`uname -s | tr ' ' '_'`
|
||||
osarch=`uname -m | tr ' ' '_'`
|
||||
|
||||
@ -19,14 +24,14 @@ if [ ${osname:0:6} = "CYGWIN" ] ; then
|
||||
osname="CYGWIN"
|
||||
fi
|
||||
|
||||
if [ "$POCO_BASE" = "" ] ; then
|
||||
echo "Error: POCO_BASE not set."
|
||||
exit 1
|
||||
if [ $osname = "Darwin" ] ; then
|
||||
archpath=`dirname stage/tools/PocoDoc/bin/Darwin/*/PocoDoc`
|
||||
osarch=`basename $archpath`
|
||||
fi
|
||||
|
||||
spec=""
|
||||
docConfig=$POCO_BASE/PocoDoc/cfg/mkdoc-poco.xml
|
||||
while [ "$1" != "" ] ;
|
||||
while [ "$1" != "" ] ;
|
||||
do
|
||||
if [ "$1" = "-C" ] ; then
|
||||
shift
|
||||
@ -88,18 +93,13 @@ cd $tools
|
||||
make -s -j8
|
||||
|
||||
if [ $osname = "CYGWIN" ] ; then
|
||||
find $tools -type f -name "*.$libversion.dll" > $TMP/dlls
|
||||
find $tools -type f -name "cyg*$libversion.dll" > $TMP/dlls
|
||||
rebase -O -T $TMP/dlls
|
||||
rm $TMP/dlls
|
||||
fi
|
||||
|
||||
cd $POCO_BASE
|
||||
|
||||
if [ $osname = "Darwin" ] ; then
|
||||
archpath=`dirname stage/tools/PocoDoc/bin/Darwin/*/PocoDoc`
|
||||
osarch=`basename $archpath`
|
||||
fi
|
||||
|
||||
if [ $osname = "CYGWIN" ] ; then
|
||||
# Poco dlls must be on PATH for Cygwin
|
||||
export PATH=$tools/lib/$osname/$osarch:$PATH
|
||||
|
@ -41,7 +41,7 @@ specfile=""
|
||||
tag=""
|
||||
config=""
|
||||
|
||||
while [ "$1" != "" ] ;
|
||||
while [ "$1" != "" ] ;
|
||||
do
|
||||
if [ "$1" = "-f" ] ; then
|
||||
shift
|
||||
@ -117,6 +117,13 @@ for inc in `find $build -name include -print` ; do
|
||||
includes="$includes,-I$inc"
|
||||
done
|
||||
|
||||
: ${CC:=gcc}
|
||||
: ${CXX:=g++}
|
||||
: ${CXXFLAGS:=-std=c++11}
|
||||
|
||||
echo "CC=$CC" >>$build/PocoDoc.ini
|
||||
echo "CXX=$CXX" >>$build/PocoDoc.ini
|
||||
echo "CXXFLAGS=$CXXFLAGS" >>$build/PocoDoc.ini
|
||||
echo "PocoBuild=$build" >>$build/PocoDoc.ini
|
||||
echo "PocoBase=$POCO_BASE" >>$build/PocoDoc.ini
|
||||
echo "PocoDoc.output=$docPath" >>$build/PocoDoc.ini
|
||||
|
@ -34,7 +34,7 @@ esac
|
||||
label=""
|
||||
spec=""
|
||||
lineEndConv=""
|
||||
while [ "$1" != "" ] ;
|
||||
while [ "$1" != "" ] ;
|
||||
do
|
||||
if [ "$1" = "-l" ] ; then
|
||||
shift
|
||||
|
@ -25,7 +25,7 @@ output=""
|
||||
lineEndConv=""
|
||||
licensingDep=""
|
||||
|
||||
while [ "$1" != "" ] ;
|
||||
while [ "$1" != "" ] ;
|
||||
do
|
||||
if [ "$1" = "-i" ] ; then
|
||||
shift
|
||||
@ -107,11 +107,9 @@ cp ${POCO_BASE}/CMakeLists.txt ${target}
|
||||
mkdir -p ${target}/build/config
|
||||
mkdir -p ${target}/build/rules
|
||||
mkdir -p ${target}/build/script
|
||||
mkdir -p ${target}/build/vxconfig
|
||||
|
||||
cp ${POCO_BASE}/build/config/* ${target}/build/config
|
||||
cp ${POCO_BASE}/build/rules/* ${target}/build/rules
|
||||
cp ${POCO_BASE}/build/vxconfig/* ${target}/build/vxconfig
|
||||
cp ${POCO_BASE}/build/script/* ${target}/build/script
|
||||
cp ${POCO_BASE}/buildwin.cmd ${target}
|
||||
cp ${POCO_BASE}/configure ${target}
|
||||
|
71
settings.gradle
Normal file
71
settings.gradle
Normal file
@ -0,0 +1,71 @@
|
||||
def os = org.gradle.internal.os.OperatingSystem.current()
|
||||
rootProject.name = 'Poco'
|
||||
|
||||
include ':CppUnit'
|
||||
include ':Foundation'
|
||||
include ':XML'
|
||||
include ':JSON'
|
||||
include ':Util'
|
||||
include ':Net'
|
||||
include ':Crypto'
|
||||
include ':NetSSL_OpenSSL'
|
||||
if (os.windows) {
|
||||
include ':NetSSL_Win'
|
||||
}
|
||||
include ':Data'
|
||||
if (os.windows) {
|
||||
include ':Data:ODBC'
|
||||
include ':Data:SQLite'
|
||||
include ':Data:MySQL'
|
||||
include ':Data:PostgreSQL'
|
||||
}
|
||||
include ':Zip'
|
||||
include ':PageCompiler'
|
||||
include ':PageCompiler:File2Page'
|
||||
include ':PDF'
|
||||
include ':CppParser'
|
||||
include ':MongoDB'
|
||||
include ':Redis'
|
||||
include ':PocoDoc'
|
||||
include ':ProGen'
|
||||
|
||||
include ':Foundation:testsuite'
|
||||
include ':XML:testsuite'
|
||||
include ':JSON:testsuite'
|
||||
include ':Util:testsuite'
|
||||
include ':Net:testsuite'
|
||||
include ':Crypto:testsuite'
|
||||
include ':NetSSL_OpenSSL:testsuite'
|
||||
if (os.windows) {
|
||||
include ':NetSSL_Win:testsuite'
|
||||
}
|
||||
include ':Data:testsuite'
|
||||
if (os.windows) {
|
||||
include ':Data:ODBC:testsuite'
|
||||
include ':Data:SQLite:testsuite'
|
||||
include ':Data:MySQL:testsuite'
|
||||
include ':Data:PostgreSQL:testsuite'
|
||||
}
|
||||
//include ':MongoDB:testsuite'
|
||||
include ':Redis:testsuite'
|
||||
include ':CppParser:testsuite'
|
||||
include ':Zip:testsuite'
|
||||
|
||||
include ':Foundation:samples'
|
||||
if (os.windows) {
|
||||
include ':Data:samples'
|
||||
}
|
||||
include ':NetSSL_OpenSSL:samples'
|
||||
if (os.windows) {
|
||||
include ':NetSSL_Win:samples'
|
||||
}
|
||||
include ':JSON:samples'
|
||||
include ':MongoDB:samples'
|
||||
include ':Net:samples'
|
||||
include ':PageCompiler:samples'
|
||||
include ':PDF:samples'
|
||||
include ':Util:samples'
|
||||
include ':XML:samples'
|
||||
include ':SevenZip:samples'
|
||||
include ':Zip:samples'
|
||||
|
Loading…
x
Reference in New Issue
Block a user