summaryrefslogtreecommitdiff
path: root/deps/gyp/test/library_dirs/subdir/test-win.gyp
blob: 033b6f7fdd03c6652d11c95fa9afa3056bd97ed9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# Copyright (c) 2013 Google Inc. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

{
  'targets': [
    {
      # This creates a static library and puts it in a nonstandard location for
      # libraries-search-path-test.
      'target_name': 'mylib',
      'type': 'static_library',
      'standalone_static_library': 1,
      # This directory is NOT in the default library search locations. It also
      # MUST be passed in on the gyp command line:
      #
      #  -D abs_path_to_secret_library_location=/some_absolute_path
      #
      # The gyptest itself (../gyptest-library-dirs.py) provides this.
      'product_dir': '<(abs_path_to_secret_library_location)',
      'sources': [
        'mylib.cc',
      ],
    },
    {
      'target_name': 'libraries-search-path-test-lib-suffix',
      'type': 'executable',
      'dependencies': [
        # It is important to NOT list the mylib as a dependency here, because
        # some build systems will track it down based on its product_dir,
        # such that the link succeeds even without the library_dirs below.
        #
        # The point of this weird structuring is to ensure that 'library_dirs'
        # works as advertised, such that just '-lmylib' (or its equivalent)
        # works based on the directories that library_dirs puts in the library
        # link path.
        #
        # If 'mylib' was listed as a proper dependency here, the build system
        # would find it and link with its path on disk.
        #
        # Note that this implies 'mylib' must already be built when building
        # 'libraries-search-path-test' (see ../gyptest-library-dirs.py).
        #
        #'mylib',
      ],
      'sources': [
        'hello.cc',
      ],
      # Note that without this, the mylib library would not be found and
      # successfully linked.
      'library_dirs': [
        '<(abs_path_to_secret_library_location)',
      ],
      'link_settings': {
        'libraries': [
          '-lmylib.lib',
        ],
      },
    },
  ],
}