mirror of https://github.com/CGAL/cgal
Add a new script to detect bad macros naming.
This commit is contained in:
parent
a9813aa1ef
commit
c11d7f52f8
|
|
@ -3078,6 +3078,7 @@ STL_Extension/test/STL_Extension/test_type_traits.cpp -text
|
||||||
Scripts/developer_scripts/autotest_cgal_with_cmake -text
|
Scripts/developer_scripts/autotest_cgal_with_cmake -text
|
||||||
Scripts/developer_scripts/cgal_build -text
|
Scripts/developer_scripts/cgal_build -text
|
||||||
Scripts/developer_scripts/cgal_test_with_cmake eol=lf
|
Scripts/developer_scripts/cgal_test_with_cmake eol=lf
|
||||||
|
Scripts/developer_scripts/check_macro_names -text
|
||||||
Scripts/developer_scripts/check_no_CGAL_USE_without_includes_before -text
|
Scripts/developer_scripts/check_no_CGAL_USE_without_includes_before -text
|
||||||
Scripts/developer_scripts/check_svn_keywords -text
|
Scripts/developer_scripts/check_svn_keywords -text
|
||||||
Scripts/developer_scripts/common_impl.rb -text
|
Scripts/developer_scripts/common_impl.rb -text
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,73 @@
|
||||||
|
#!/usr/bin/env perl
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
check_macro_names [options] [file...]
|
||||||
|
|
||||||
|
Options:
|
||||||
|
--help help message
|
||||||
|
--debug debug mode
|
||||||
|
|
||||||
|
=head1 OPTIONS
|
||||||
|
|
||||||
|
=over 8
|
||||||
|
|
||||||
|
=item B<-d, --debug>
|
||||||
|
|
||||||
|
Print to standard error output all macros names that are defined in the
|
||||||
|
file.
|
||||||
|
|
||||||
|
=item B<-l, --list>
|
||||||
|
|
||||||
|
Print to standard output the names of all macros defined in the file that
|
||||||
|
do not follow the naming rules, preceded by the file name.
|
||||||
|
|
||||||
|
=Head1 DESCRIPTION
|
||||||
|
|
||||||
|
This script reads a file whose name is specify in command line options, and
|
||||||
|
return 1 if a macro defined in the file does not follow the naming
|
||||||
|
rules. The script can process several files simultaneously.
|
||||||
|
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use Getopt::Long qw(:config permute);
|
||||||
|
use Pod::Usage;
|
||||||
|
|
||||||
|
my $help;
|
||||||
|
my $debug;
|
||||||
|
my $global_errcode = 0;
|
||||||
|
my $listmacros;
|
||||||
|
|
||||||
|
GetOptions('help' => \$help,
|
||||||
|
'list|l' => \$listmacros,
|
||||||
|
'debug|d' => \$debug,
|
||||||
|
'<>' => \&process) or pod2usage(2);
|
||||||
|
|
||||||
|
pod2usage(1) if $help;
|
||||||
|
|
||||||
|
sub process() {
|
||||||
|
my $filename = shift;
|
||||||
|
my $errcode=1;
|
||||||
|
my $FILE;
|
||||||
|
|
||||||
|
open(FILE, $filename) or die "Cannot read file $filename";
|
||||||
|
|
||||||
|
while (<FILE>) {
|
||||||
|
my $macro;
|
||||||
|
if( ($macro) = ($_ =~ /# *define +([^[:space:]]+)/) ) {
|
||||||
|
print STDERR "$filename: $macro\n" if $debug;
|
||||||
|
if( $macro !~ /^CGAL/ ) {
|
||||||
|
$global_errcode = 1;
|
||||||
|
if( $listmacros && ! $debug ) {
|
||||||
|
print STDOUT "$filename: $macro\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exit $global_errcode;
|
||||||
Loading…
Reference in New Issue