<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"><br>Hi,<br>ECM's KDECompilerSettings.cmake contains:<br><br> # Default to hidden visibility for symbols<br> set(CMAKE_CXX_VISIBILITY_PRESET hidden)<br> set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)<br><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">This raises a warning [1] for CMake 3.3+ and ignores this. <br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">Don't we want to set the old policy ​CMP0063 for now?<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">Or even prepare for removal of ​CMP0063 (see [2])?<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">I know, that would not be very soon.<br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small"><br>[1] share/ECM/modules/ECMAddTests.cmake:97 (add_executable):                                      <br>  Policy CMP0063 is not set: Honor visibility properties for all target                                                                    <br>  types.  Run "cmake --help-policy CMP0063" for policy details.  Use the                                                                   <br>  cmake_policy command to set the policy and suppress this warning.                                                                        <br><br>  Target "PluginsTest" of type "EXECUTABLE" has the following visibility                                                                   <br>  properties set for CXX:                                                                                                                  <br><br>    CXX_VISIBILITY_PRESET                                                                                                                  <br>    VISIBILITY_INLINES_HIDDEN                                                                                                              <br><br>  For compatibility CMake is not honoring them for this target.      <br><br><br><br>[2]<br clear="all"></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:small">​CMP0063<br>-------<br><br>Honor visibility properties for all target types.<br><br>The ``<LANG>_VISIBILITY_PRESET`` and<br>``VISIBILITY_INLINES_HIDDEN`` target properties affect visibility<br>of symbols during dynamic linking.  When first introduced these properties<br>affected compilation of sources only in shared libraries, module libraries,<br>and executables with the ``ENABLE_EXPORTS`` property set.  This<br>was sufficient for the basic use cases of shared libraries and executables<br>with plugins.  However, some sources may be compiled as part of static<br>libraries or object libraries and then linked into a shared library later.<br>CMake 3.3 and above prefer to honor these properties for sources compiled<br>in all target types.  This policy preserves compatibility for projects<br>expecting the properties to work only for some target types.<br><br>The ``OLD`` behavior for this policy is to ignore the visibility properties<br>for static libraries, object libraries, and executables without exports.<br>The ``NEW`` behavior for this policy is to honor the visibility properties<br>for all target types.<br><br>This policy was introduced in CMake version 3.3.  CMake version<br>3.3.0 warns when the policy is not set and uses ``OLD`` behavior.  Use<br>the ``cmake_policy()`` command to set it to ``OLD`` or ``NEW``<br>explicitly.<br><br>.. note::<br>  The ``OLD`` behavior of a policy is<br>  ``deprecated by definition``<br>  and may be removed in a future version of CMake.<br>​</div><br>-- <br><div class="gmail_signature">regards, Jaroslaw Staniek<br><br>KDE:<br>: A world-wide network of software engineers, artists, writers, translators<br>: and facilitators committed to Free Software development - <a href="http://kde.org" target="_blank">http://kde.org</a><br>Calligra Suite:<br>: A graphic art and office suite - <a href="http://calligra.org" target="_blank">http://calligra.org</a><br>Kexi:<br>: A visual database apps builder - <a href="http://calligra.org/kexi" target="_blank">http://calligra.org/kexi</a><br>Qt Certified Specialist:<br>: <a href="http://www.linkedin.com/in/jstaniek" target="_blank">http://www.linkedin.com/in/jstaniek</a></div>
</div>