Skip to content

Commit fdc79e6

Browse files
get git version into SConstrcut and fix some deployements
- set versionned binaries (missing link during install)
1 parent c89f5bc commit fdc79e6

File tree

3 files changed

+54
-29
lines changed

3 files changed

+54
-29
lines changed

SConstruct

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,23 @@ import ConfigParser
77
mymode = ARGUMENTS.get('mode', 'release')
88

99
if not (mymode in ['debug', 'release']):
10-
print "Error: expected 'debug' or 'release', found: " + mymode
11-
Exit(1)
10+
raise Exception("Can't select build mode ['debug', 'release']")
11+
12+
avTranscoderVersion = ARGUMENTS.get('version', None)
13+
14+
if not avTranscoderVersion:
15+
import git
16+
# Get version from last tag of git repository
17+
repo = git.Repo( "." )
18+
tags = repo.tags
19+
if tags:
20+
lastTag = tags[-1]
21+
avTranscoderVersion = lastTag.name[1:]
22+
else:
23+
raise Exception( "Can't get last version of AvTranscoder." )
24+
25+
if not avTranscoderVersion:
26+
raise Exception( "Can't get last version of AvTranscoder." )
1227

1328
config = ConfigParser.RawConfigParser()
1429

@@ -191,6 +206,7 @@ Export( "envJava" )
191206
Export( "envPy" )
192207
Export( "resampleLibraryName" )
193208
Export( "mymode" )
209+
Export( "avTranscoderVersion" )
194210

195211
VariantDir( 'build/'+mymode+'/src', 'src', duplicate = 0 )
196212
VariantDir( 'build/'+mymode+'/app', 'app', duplicate = 0 )

app/cpp/SConscript

Lines changed: 35 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,8 @@ import platform
33

44
Import( 'AvTranscoder' )
55
Import( 'sAvTranscoder' )
6-
#Import( 'AvTranscoder_jar' )
7-
Import( "resampleLibraryName" )
8-
9-
env = Environment().Clone()
10-
6+
Import( 'resampleLibraryName' )
7+
Import( 'avTranscoderVersion' )
118
Import( 'env' )
129

1310
avinfo = env.Program(
@@ -24,7 +21,7 @@ avinfo = env.Program(
2421
)
2522

2623
avmeta = env.Program(
27-
'avmeta',
24+
'avmeta-' + avTranscoderVersion,
2825
Glob( 'avMeta/*.cpp' ),
2926
LIBS = [
3027
sAvTranscoder,
@@ -37,7 +34,7 @@ avmeta = env.Program(
3734
)
3835

3936
avtransform = env.Program(
40-
'av++',
37+
'av++-' + avTranscoderVersion,
4138
Glob( 'avTranscoder/*.cpp' ),
4239
LIBS = [
4340
sAvTranscoder,
@@ -50,7 +47,7 @@ avtransform = env.Program(
5047
)
5148

5249
avprocessor = env.Program(
53-
'avprocessor',
50+
'avprocessor-' + avTranscoderVersion,
5451
Glob( 'genericProcessor/*.cpp' ),
5552
LIBS = [
5653
sAvTranscoder,
@@ -67,7 +64,7 @@ avprocessor = env.Program(
6764

6865
if platform.system() != 'Windows':
6966
avplayer = env.Program(
70-
'avplayer',
67+
'avplayer-' + avTranscoderVersion,
7168
Glob( 'avplay/*.cpp' ),
7269
LIBS = [
7370
sAvTranscoder,
@@ -82,7 +79,7 @@ if platform.system() != 'Windows':
8279
)
8380

8481
avprofiles = env.Program(
85-
'avprofiles',
82+
'avprofiles-' + avTranscoderVersion,
8683
Glob( 'presetChecker/*.cpp' ),
8784
LIBS = [
8885
sAvTranscoder,
@@ -97,8 +94,8 @@ if platform.system() != 'Windows':
9794
],
9895
)
9996

100-
avprofiles = env.Program(
101-
'avoptions',
97+
avoptions = env.Program(
98+
'avoptions-' + avTranscoderVersion,
10299
Glob( 'optionChecker/*.cpp' ),
103100
LIBS = [
104101
sAvTranscoder,
@@ -115,6 +112,29 @@ if platform.system() != 'Windows':
115112

116113
env.Depends( avmeta, sAvTranscoder )
117114

118-
env.Alias( "install", env.Install("bin", avmeta ) )
119-
env.Alias( "install", env.Install("bin", avprocessor ) )
120-
env.Alias( "install", env.Install("bin", avtransform ) )
115+
env.Alias( "install", env.Install("bin", avinfo) )
116+
env.Alias( "install", env.Install("bin", avmeta) )
117+
env.Alias( "install", env.Install("bin", avprocessor) )
118+
env.Alias( "install", env.Install("share/man/man1", File("avInfo/avinfo.man") ) )
119+
env.Alias( "install", env.Install("share/man/man1", File("avMeta/avmeta.man") ) )
120+
env.Alias( "install", env.Install("share/man/man1", File("genericProcessor/avprocessor.man") ) )
121+
if platform.system() != 'Windows':
122+
env.Alias( "install", env.Install("bin", avplayer) )
123+
env.Alias( "install", env.Install("bin", avprofiles) )
124+
env.Alias( "install", env.Install("share/man/man1", File("avplay/avplayer.man") ) )
125+
env.Alias( "install", env.Install("share/man/man1", File("presetChecker/avprofiles.man") ) )
126+
127+
def SymLink(target, source, env):
128+
os.symlink(os.path.basename(str(source[0])), str(target[0]))
129+
130+
avinfolink = env.Command( 'avinfo', avinfo, SymLink )
131+
avmetalink = env.Command( 'avmeta', avmeta, SymLink )
132+
avprocessorlink = env.Command( 'avprocessor', avprocessor, SymLink )
133+
avplayerlink = env.Command( 'avplayer', avplayer, SymLink )
134+
avprofileslink = env.Command( 'avprofiles', avprofiles, SymLink )
135+
136+
env.Alias( "install", env.Install("bin", avinfolink) )
137+
env.Alias( "install", env.Install("bin", avmetalink) )
138+
env.Alias( "install", env.Install("bin", avprocessorlink) )
139+
env.Alias( "install", env.Install("bin", avplayerlink) )
140+
env.Alias( "install", env.Install("bin", avprofileslink) )

src/SConscript

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,12 @@
11
import glob, re
22
import os
33
import sys
4-
import git
54

65
Import( "env" )
76
Import( "envJava" )
87
Import( "envPy" )
98
Import( "resampleLibraryName" )
10-
11-
# Get version from last tag of git repository
12-
repo = git.Repo( "." )
13-
tags = repo.tags
14-
if tags:
15-
lastTag = tags[-1]
16-
avTranscoderVersion = lastTag.name[1:]
17-
else:
18-
raise Exception( "Can't get last version of AvTranscoder." )
9+
Import( "avTranscoderVersion" )
1910

2011
env.Append(
2112
SHLIBVERSION = avTranscoderVersion
@@ -91,8 +82,6 @@ pythonAvTranscoder = envPy.SharedLibrary(
9182
initFile = envPy.Command( os.path.join( 'AvTranscoder/__init__.py' ), '', Touch('$TARGET') )
9283
envPy.Requires( pythonAvTranscoder, initFile )
9384

94-
Touch('AvTranscoder/__init__.py')
95-
9685
javaAvTranscoder_class = env.Java(
9786
target = 'jAvTranscoderClass',
9887
source = Glob( envJava['JARCHDIR'] )

0 commit comments

Comments
 (0)