-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathroot.xpybuild.py
More file actions
executable file
·61 lines (50 loc) · 2.1 KB
/
root.xpybuild.py
File metadata and controls
executable file
·61 lines (50 loc) · 2.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# xpyBuild build file. For inclusion by the root build file.
#
# $Copyright(c) 2013 Progress Software Corporation (PSC). All rights reserved.$
# $Copyright (c) 2013,2015-2017 Software AG, Darmstadt, Germany and/or Software AG USA Inc., Reston, VA, USA, and/or its subsidiaries and/or its affiliates and/or their licensors.$
# Use, reproduction, transfer, publication or disclosure is prohibited except as specifically provided for in your License Agreement with Software AG
#
# $Id: root.xpybuild.py 392689 2021-06-29 12:50:26Z sgol $
#
from xpybuild.propertysupport import *
from xpybuild.buildcommon import *
from xpybuild.pathsets import *
from xpybuild.targets.symlink import SymLink
from xpybuild.targets.native import Cpp, Link, C, objectname, libname, exename, staticlibname, Ar
from xpybuild.targets.archive import Zip
from doxygen import Doxygen
include('config.xpybuild.py')
src = [ 'src/JAPI.cpp' ]
objects = [
Cpp(objectname('${BUILD_WORK_DIR}/'+basename(x.replace('.cpp', ''))), x,
includes=[
'${LIB_BOOST_INCLUDE}',
'${LIB_JNI_INCLUDE}',
'${LIB_JNI_INCLUDE}/${LIB_JNI_PLATFORM}',
'include/',
], flags=[
'${CXX_WARNINGS_AS_ERRORS_FLAGS}',
'-DJAPI_CLIENT_BUILD',
],
) for x in src]
Link(libname('${LIB_DIR}/japicxx${DEBUGSUFFIX}')+'${LIBRARY_EXTENSION}',
objects,
libpaths=[],
libs=[],
flags=[] if isWindows() else ['-Wl,-soname='+basename(libname('${LIB_DIR}/japicxx${DEBUGSUFFIX}'))+'${LIBRARY_EXTENSION}'],
dependencies=[],
options={
'visualstudio.pdboutput':'${BUILD_WORK_DIR}/japicxx${DEBUGSUFFIX}.dll.pdb',
'visualstudio.liboutput':staticlibname('${LIB_DIR}/japicxx${DEBUGSUFFIX}'),
},
shared=True)
if not isWindows():
SymLink(libname('${LIB_DIR}/japicxx'), libname('${LIB_DIR}/japicxx')+'${LIBRARY_EXTENSION}')
Doxygen('${DOC_DIR}/', source=[FindPaths('include/')], config='doxygen.conf', internal=False, failOnWarnings=False)
Zip('${OUTPUT_DIR}/japicxx_${VERSION}.zip', [
FindPaths('./', includes=['*.py']),
'release.properties',
AddDestPrefix('include/', FindPaths('include/')),
AddDestPrefix('tests/', FindPaths('tests/')),
AddDestPrefix('src/', FindPaths('src/')),
])