5 my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
\r
10 my $Version = get_version();
\r
11 print "Make libcds-$Version distributive\n";
\r
13 my $DistrDir = get_distrib_dir();
\r
14 print "Distrib dir: $DistrDir\n";
\r
17 my $GitBranch = 'master';
\r
18 my $GitRepo = get_git_repo();
\r
19 print "Clone git: repo=$GitRepo, branch=$GitBranch\n";
\r
20 `git clone -b $GitBranch $GitRepo $DistrDir`; # or die "Error cloning branch $GitBranch to $DistrDir\n";
\r
21 print "Remove $DistrDir/.git directory\n";
\r
22 `rm -fr $DistrDir/.git`;
\r
23 `rm -f $DistrDir/.gitignore $DistrDir/tools/brush_cds.pl $DistrDir/tools/make_distrib.pl $DistrDir/tools/make_distrib.bat $DistrDir/doxygen/images.odp`;
\r
25 print "patch files...\n";
\r
26 patch_file("$DistrDir/CMakeList.txt", 'PROJECT_VERSION \d+\.\d+\.\d+', "PROJECT_VERSION $Version" );
\r
27 patch_file("$DistrDir/doxygen/cds.doxy", 'PROJECT_NUMBER\s*=\s*\d+\.\d+\.\d+', "PROJECT_NUMBER = $Version" ) ;
\r
29 print "Make docs\n";
\r
30 `cd $DistrDir/tools && make_docs.bat && rm doxygen.log && cd $curDir`;
\r
32 print "make zip...\n" ;
\r
33 `rm -f $DistrDir/../cds-$Version.zip` ;
\r
34 `cd $DistrDir/.. && 7za a cds-$Version.zip cds-$Version` ;
\r
43 open( my $fh, 'cds/version.h' ) or die "ERROR: Cannot find ../cds/version.h file";
\r
47 if ( /CDS_VERSION_STRING.+(\d+\.\d+\.\d+)/ ) {
\r
53 die "ERROR: cannot find version in ../cds/version.h" unless $version ;
\r
56 sub get_distrib_dir()
\r
58 my $dir = "../cds-distrib/cds-$Version";
\r
59 `rm -fr $dir` if -d $dir;
\r
66 return 'https://github.com/khizmax/libcds.git';
\r
74 if ( open( my $fh, $file )) {
\r
78 $str .= $_ while <$fh> ;
\r
81 $str =~ s/$seek/$repl/g ;
\r
83 if ( open( my $fh, ">$file" )) {
\r