build-api-tests 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #!/usr/bin/perl -w
  2. # Copyright (C) 2010 Apple Inc. All rights reserved.
  3. #
  4. # Redistribution and use in source and binary forms, with or without
  5. # modification, are permitted provided that the following conditions
  6. # are met:
  7. # 1. Redistributions of source code must retain the above copyright
  8. # notice, this list of conditions and the following disclaimer.
  9. # 2. Redistributions in binary form must reproduce the above copyright
  10. # notice, this list of conditions and the following disclaimer in the
  11. # documentation and/or other materials provided with the distribution.
  12. #
  13. # THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
  14. # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
  15. # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  16. # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
  17. # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  18. # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  19. # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  20. # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  21. # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  22. # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  23. # THE POSSIBILITY OF SUCH DAMAGE.
  24. use strict;
  25. use File::Basename;
  26. use FindBin;
  27. use Getopt::Long qw(:config pass_through);
  28. use lib $FindBin::Bin;
  29. use webkitdirs;
  30. use POSIX;
  31. my $showHelp = 0;
  32. my $clean = 0;
  33. my $programName = basename($0);
  34. my $usage = <<EOF;
  35. Usage: $programName [options] [options to pass to build system]
  36. --help Show this help message
  37. --clean Clean up the build directory
  38. EOF
  39. GetOptions(
  40. 'help' => \$showHelp,
  41. 'clean' => \$clean,
  42. );
  43. if ($showHelp) {
  44. print STDERR $usage;
  45. exit 1;
  46. }
  47. checkRequiredSystemConfig();
  48. setConfiguration();
  49. chdirWebKit();
  50. # Build
  51. my $result;
  52. if (isAppleMacWebKit()) {
  53. chdir "Source/ThirdParty/gtest";
  54. buildXCodeProject("xcode/gtest", $clean, XcodeOptions(), @ARGV);
  55. chdir "../../../Tools/TestWebKitAPI" or die;
  56. $result = buildXCodeProject("TestWebKitAPI", $clean, XcodeOptions(), @ARGV);
  57. } elsif (isAppleWinWebKit()) {
  58. chdir "Tools/TestWebKitAPI" or die;
  59. my $solutionPath = "TestWebKitAPI.vcxproj/TestWebKitAPI.sln";
  60. $result = buildVisualStudioProject($solutionPath, $clean);
  61. } else {
  62. die "TestWebKitAPI is not supported on this platform.\n";
  63. }
  64. exit exitStatus($result);