poco/Foundation/build.gradle
2018-05-03 18:04:59 +02:00

114 lines
2.4 KiB
Groovy

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 '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) {
cCompiler.define "Foundation_EXPORTS"
cppCompiler.define "Foundation_EXPORTS"
}
}
}
}
task poco { dependsOn "assemble" }