Home | History | Annotate | Download | only in subdirectory
      1 #!/usr/bin/env python
      2 
      3 # Copyright (c) 2009 Google Inc. All rights reserved.
      4 # Use of this source code is governed by a BSD-style license that can be
      5 # found in the LICENSE file.
      6 
      7 """
      8 Verifies building a target and a subsidiary dependent target from a
      9 .gyp file in a subdirectory, without specifying an explicit output build
     10 directory, and using the generated solution or project file at the top
     11 of the tree as the entry point.
     12 
     13 There is a difference here in the default behavior of the underlying
     14 build tools.  Specifically, when building the entire "solution", Xcode
     15 puts the output of each project relative to the .xcodeproj directory,
     16 while Visual Studio (and our implementation of Make) put it
     17 in a build directory relative to the "solution"--that is, the entry-point
     18 from which you built the entire tree.
     19 """
     20 
     21 import TestGyp
     22 
     23 test = TestGyp.TestGyp()
     24 
     25 test.run_gyp('prog1.gyp', chdir='src')
     26 
     27 test.relocate('src', 'relocate/src')
     28 
     29 test.build('prog1.gyp', test.ALL, chdir='relocate/src')
     30 
     31 test.run_built_executable('prog1',
     32                           stdout="Hello from prog1.c\n",
     33                           chdir='relocate/src')
     34 
     35 if test.format == 'xcode':
     36   chdir = 'relocate/src/subdir'
     37 else:
     38   chdir = 'relocate/src'
     39 test.run_built_executable('prog2',
     40                           chdir=chdir,
     41                           stdout="Hello from prog2.c\n")
     42 
     43 test.pass_test()
     44