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', 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