OXIESEC PANEL
- Current Dir:
/
/
usr
/
local
/
doc
/
cmake
/
html
/
policy
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
π
..
-
04/04/2023 07:10:48 PM
rwxr-xr-x
π
CMP0000.html
8.63 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0001.html
7.29 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0002.html
8.46 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0003.html
10.45 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0004.html
7.51 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0005.html
7.27 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0006.html
8.92 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0007.html
6.73 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0008.html
8.31 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0009.html
7.48 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0010.html
7.22 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0011.html
9.6 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0012.html
9.02 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0013.html
6.83 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0014.html
7.62 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0015.html
8.16 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0016.html
7 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0017.html
7.97 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0018.html
9.32 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0019.html
6.89 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0020.html
7.98 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0021.html
7.99 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0022.html
11.2 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0023.html
9.39 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0024.html
8.56 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0025.html
9.3 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0026.html
9.29 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0027.html
9.4 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0028.html
8.37 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0029.html
6.99 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0030.html
7.02 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0031.html
7.62 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0032.html
7.23 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0033.html
7.85 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0034.html
7.62 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0035.html
7.23 KB
04/04/2023 07:05:19 PM
rw-r--r--
π
CMP0036.html
7.68 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0037.html
9.96 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0038.html
6.96 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0039.html
6.99 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0040.html
7.81 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0041.html
8.02 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0042.html
8.15 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0043.html
12.8 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0044.html
7.83 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0045.html
7.22 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0046.html
7.19 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0047.html
9.3 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0048.html
9.28 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0049.html
6.78 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0050.html
7.29 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0051.html
9.13 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0052.html
8.3 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0053.html
11.29 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0054.html
8.67 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0055.html
7.48 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0056.html
9.7 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0057.html
6.79 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0058.html
17.05 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0059.html
7.69 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0060.html
12.6 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0061.html
8.35 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0062.html
9.54 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0063.html
8.3 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0064.html
7.64 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0065.html
8.45 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0066.html
9.09 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0067.html
11.14 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0068.html
11.92 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0069.html
14.59 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0070.html
7.75 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0071.html
12.97 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0072.html
8.42 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0073.html
8.02 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0074.html
8.58 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0075.html
8.48 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0076.html
8.54 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0077.html
11.81 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0078.html
7.67 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0079.html
11.49 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0080.html
8.55 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0081.html
8.83 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0082.html
8.5 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0083.html
13 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0084.html
9.98 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0085.html
7.68 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0086.html
7.96 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0087.html
10.71 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0088.html
8.91 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0089.html
9.61 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0090.html
9.89 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0091.html
11.54 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0092.html
10.31 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0093.html
8.72 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0094.html
9.03 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0095.html
9.26 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0096.html
8.43 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0097.html
7.87 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0098.html
9.1 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0099.html
8.05 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0100.html
13.12 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0101.html
9.79 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0102.html
8.67 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0103.html
8.32 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0104.html
13.67 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0105.html
7.31 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0106.html
7.62 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0107.html
6.87 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0108.html
6.89 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0109.html
7.79 KB
04/04/2023 07:05:20 PM
rw-r--r--
π
CMP0110.html
7.55 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0111.html
8.03 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0112.html
8.66 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0113.html
9.78 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0114.html
16.76 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0115.html
7.62 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0116.html
11.39 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0117.html
10.71 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0118.html
7.18 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0119.html
9.09 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0120.html
10.02 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0121.html
7.84 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0122.html
7 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0123.html
9.33 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0124.html
6.96 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0125.html
9.97 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0126.html
10.24 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0127.html
8.53 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0128.html
15.49 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0129.html
10.84 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0130.html
8.62 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0131.html
10.42 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0132.html
7.68 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0133.html
10.18 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0134.html
11.78 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0135.html
8.35 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0136.html
11.55 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0137.html
9.34 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0138.html
9.9 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0139.html
7 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0140.html
6.78 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0141.html
11.87 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0142.html
7.81 KB
04/04/2023 07:05:21 PM
rw-r--r--
π
CMP0143.html
8.47 KB
04/04/2023 07:05:21 PM
rw-r--r--
Editing: CMP0003.html
Close
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" /> <title>CMP0003 — CMake 3.26.3 Documentation</title> <link rel="stylesheet" type="text/css" href="../_static/pygments.css" /> <link rel="stylesheet" type="text/css" href="../_static/cmake.css" /> <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script> <script src="../_static/jquery.js"></script> <script src="../_static/underscore.js"></script> <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script> <script src="../_static/doctools.js"></script> <link rel="shortcut icon" href="../_static/cmake-favicon.ico"/> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="CMP0002" href="CMP0002.html" /> <link rel="prev" title="CMP0004" href="CMP0004.html" /> </head><body> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" accesskey="I">index</a></li> <li class="right" > <a href="CMP0002.html" title="CMP0002" accesskey="N">next</a> |</li> <li class="right" > <a href="CMP0004.html" title="CMP0004" accesskey="P">previous</a> |</li> <li> <img src="../_static/cmake-logo-16.png" alt="" style="vertical-align: middle; margin-top: -2px" /> </li> <li> <a href="https://cmake.org/">CMake</a> » </li> <li> <a href="../index.html">3.26.3 Documentation</a> » </li> <li class="nav-item nav-item-1"><a href="../manual/cmake-policies.7.html" accesskey="U">cmake-policies(7)</a> »</li> <li class="nav-item nav-item-this"><a href="">CMP0003</a></li> </ul> </div> <div class="document"> <div class="documentwrapper"> <div class="bodywrapper"> <div class="body" role="main"> <section id="cmp0003"> <span id="policy:CMP0003"></span><h1>CMP0003<a class="headerlink" href="#cmp0003" title="Permalink to this heading">ΒΆ</a></h1> <p>Libraries linked via full path no longer produce linker search paths.</p> <p>This policy affects how libraries whose full paths are NOT known are found at link time, but was created due to a change in how CMake deals with libraries whose full paths are known. Consider the code</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>target_link_libraries(myexe /path/to/libA.so) </pre></div> </div> <p>CMake 2.4 and below implemented linking to libraries whose full paths are known by splitting them on the link line into separate components consisting of the linker search path and the library name. The example code might have produced something like</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>... -L/path/to -lA ... </pre></div> </div> <p>in order to link to library A. An analysis was performed to order multiple link directories such that the linker would find library A in the desired location, but there are cases in which this does not work. CMake versions 2.6 and above use the more reliable approach of passing the full path to libraries directly to the linker in most cases. The example code now produces something like</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>... /path/to/libA.so .... </pre></div> </div> <p>Unfortunately this change can break code like</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>target_link_libraries(myexe /path/to/libA.so B) </pre></div> </div> <p>where <code class="docutils literal notranslate"><span class="pre">B</span></code> is meant to find <code class="docutils literal notranslate"><span class="pre">/path/to/libB.so</span></code>. This code is wrong because the user is asking the linker to find library B but has not provided a linker search path (which may be added with the link_directories command). However, with the old linking implementation the code would work accidentally because the linker search path added for library A allowed library B to be found.</p> <p>In order to support projects depending on linker search paths added by linking to libraries with known full paths, the <code class="docutils literal notranslate"><span class="pre">OLD</span></code> behavior for this policy will add the linker search paths even though they are not needed for their own libraries. When this policy is set to <code class="docutils literal notranslate"><span class="pre">OLD</span></code>, CMake will produce a link line such as</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>... -L/path/to /path/to/libA.so -lB ... </pre></div> </div> <p>which will allow library B to be found as it was previously. When this policy is set to NEW, CMake will produce a link line such as</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>... /path/to/libA.so -lB ... </pre></div> </div> <p>which more accurately matches what the project specified.</p> <p>The setting for this policy used when generating the link line is that in effect when the target is created by an add_executable or add_library command. For the example described above, the code</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>cmake_policy(SET CMP0003 OLD) # or cmake_policy(VERSION 2.4) add_executable(myexe myexe.c) target_link_libraries(myexe /path/to/libA.so B) </pre></div> </div> <p>will work and suppress the warning for this policy. It may also be updated to work with the corrected linking approach:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>cmake_policy(SET CMP0003 NEW) # or cmake_policy(VERSION 2.6) link_directories(/path/to) # needed to find library B add_executable(myexe myexe.c) target_link_libraries(myexe /path/to/libA.so B) </pre></div> </div> <p>Even better, library B may be specified with a full path:</p> <div class="highlight-none notranslate"><div class="highlight"><pre><span></span>add_executable(myexe myexe.c) target_link_libraries(myexe /path/to/libA.so /path/to/libB.so) </pre></div> </div> <p>When all items on the link line have known paths CMake does not check this policy so it has no effect.</p> <p>Note that the warning for this policy will be issued for at most one target. This avoids flooding users with messages for every target when setting the policy once will probably fix all targets.</p> <p>This policy was introduced in CMake version 2.6.0. CMake version 3.26.3 warns when the policy is not set and uses <code class="docutils literal notranslate"><span class="pre">OLD</span></code> behavior. Use the <span class="target" id="index-0-command:cmake_policy"></span><a class="reference internal" href="../command/cmake_policy.html#command:cmake_policy" title="cmake_policy"><code class="xref cmake cmake-command docutils literal notranslate"><span class="pre">cmake_policy()</span></code></a> command to set it to <code class="docutils literal notranslate"><span class="pre">OLD</span></code> or <code class="docutils literal notranslate"><span class="pre">NEW</span></code> explicitly.</p> <div class="admonition note"> <p class="admonition-title">Note</p> <p>The <code class="docutils literal notranslate"><span class="pre">OLD</span></code> behavior of a policy is <span class="target" id="index-0-manual:cmake-policies(7)"></span><a class="reference internal" href="../manual/cmake-policies.7.html#manual:cmake-policies(7)" title="cmake-policies(7)"><code class="xref cmake cmake-manual docutils literal notranslate"><span class="pre">deprecated</span> <span class="pre">by</span> <span class="pre">definition</span></code></a> and may be removed in a future version of CMake.</p> </div> </section> <div class="clearer"></div> </div> </div> </div> <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> <div class="sphinxsidebarwrapper"> <div> <h4>Previous topic</h4> <p class="topless"><a href="CMP0004.html" title="previous chapter">CMP0004</a></p> </div> <div> <h4>Next topic</h4> <p class="topless"><a href="CMP0002.html" title="next chapter">CMP0002</a></p> </div> <div role="note" aria-label="source link"> <h3>This Page</h3> <ul class="this-page-menu"> <li><a href="../_sources/policy/CMP0003.rst.txt" rel="nofollow">Show Source</a></li> </ul> </div> <div id="searchbox" style="display: none" role="search"> <h3 id="searchlabel">Quick search</h3> <div class="searchformwrapper"> <form class="search" action="../search.html" method="get"> <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/> <input type="submit" value="Go" /> </form> </div> </div> <script>document.getElementById('searchbox').style.display = "block"</script> </div> </div> <div class="clearer"></div> </div> <div class="related" role="navigation" aria-label="related navigation"> <h3>Navigation</h3> <ul> <li class="right" style="margin-right: 10px"> <a href="../genindex.html" title="General Index" >index</a></li> <li class="right" > <a href="CMP0002.html" title="CMP0002" >next</a> |</li> <li class="right" > <a href="CMP0004.html" title="CMP0004" >previous</a> |</li> <li> <img src="../_static/cmake-logo-16.png" alt="" style="vertical-align: middle; margin-top: -2px" /> </li> <li> <a href="https://cmake.org/">CMake</a> » </li> <li> <a href="../index.html">3.26.3 Documentation</a> » </li> <li class="nav-item nav-item-1"><a href="../manual/cmake-policies.7.html" >cmake-policies(7)</a> »</li> <li class="nav-item nav-item-this"><a href="">CMP0003</a></li> </ul> </div> <div class="footer" role="contentinfo"> © Copyright 2000-2023 Kitware, Inc. and Contributors. Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 5.0.2. </div> </body> </html>