<feed xmlns='http://www.w3.org/2005/Atom'>
<title>extra-cmake-modules.git/kde-modules, branch v5.97.0-rc1</title>
<subtitle>hurd extra-cmake-modules.git</subtitle>
<link rel='alternate' type='text/html' href='https://netuse.dynamicmalloc.com/cgit/extra-cmake-modules.git/'/>
<entry>
<title>kde-modules/KDEGitCommitHooks.cmake - handle non-toplevel project</title>
<updated>2022-07-15T14:05:38+00:00</updated>
<author>
<name>Allen Winter</name>
<email>winter@kde.org</email>
</author>
<published>2022-07-15T14:05:38+00:00</published>
<link rel='alternate' type='text/html' href='https://netuse.dynamicmalloc.com/cgit/extra-cmake-modules.git/commit/?id=ce726d388a59b941e2e6f6f487132532511af03d'/>
<id>ce726d388a59b941e2e6f6f487132532511af03d</id>
<content type='text'>
Only install pre-commit hooks if KDE_CONFIGURE_GIT_PRE_COMMIT_HOOK
is called frm CMAKE_CURRENT_PROEJECT, eg. don't install pre-commit
hooks if ECM is inside a submodule or fetched-content.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Only install pre-commit hooks if KDE_CONFIGURE_GIT_PRE_COMMIT_HOOK
is called frm CMAKE_CURRENT_PROEJECT, eg. don't install pre-commit
hooks if ECM is inside a submodule or fetched-content.
</pre>
</div>
</content>
</entry>
<entry>
<title>ECMDeprecationSettings: enable warnings by default</title>
<updated>2022-06-25T13:30:06+00:00</updated>
<author>
<name>Friedrich W. H. Kossebau</name>
<email>kossebau@kde.org</email>
</author>
<published>2022-06-25T13:27:39+00:00</published>
<link rel='alternate' type='text/html' href='https://netuse.dynamicmalloc.com/cgit/extra-cmake-modules.git/commit/?id=0064cf77e96acda8a99c0eba4cc89f83768b65d3'/>
<id>0064cf77e96acda8a99c0eba4cc89f83768b65d3</id>
<content type='text'>
The main target consumers of this macro currently (should) want to be
informed about new deprecations as early as possible. As do the authors
of the warnings.

So instead let's make no warnings an opt-in. Not documenting the
now deprecated flag in the docs, given no wide-spread use yet, just
supporting still in the code with a note to users.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The main target consumers of this macro currently (should) want to be
informed about new deprecations as early as possible. As do the authors
of the warnings.

So instead let's make no warnings an opt-in. Not documenting the
now deprecated flag in the docs, given no wide-spread use yet, just
supporting still in the code with a note to users.
</pre>
</div>
</content>
</entry>
<entry>
<title>Document addition of -Werror=undef</title>
<updated>2022-06-15T14:45:57+00:00</updated>
<author>
<name>Ahmad Samir</name>
<email>a.samirh78@gmail.com</email>
</author>
<published>2022-06-15T14:45:57+00:00</published>
<link rel='alternate' type='text/html' href='https://netuse.dynamicmalloc.com/cgit/extra-cmake-modules.git/commit/?id=aa022e06ac7727560ffc2478352a79953787883e'/>
<id>aa022e06ac7727560ffc2478352a79953787883e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Change -Wundef warning to an error</title>
<updated>2022-06-15T11:37:02+00:00</updated>
<author>
<name>Ahmad Samir</name>
<email>a.samirh78@gmail.com</email>
</author>
<published>2022-06-10T20:07:26+00:00</published>
<link rel='alternate' type='text/html' href='https://netuse.dynamicmalloc.com/cgit/extra-cmake-modules.git/commit/?id=25bbb2a4776d36b542857709bb0448a7ea030b59'/>
<id>25bbb2a4776d36b542857709bb0448a7ea030b59</id>
<content type='text'>
This should catch undefined preprocessor expressions, i.e. instead of
showing a warning if FOO_BAR_H is undefined:
 #if FOO_BAR_H

make the build fai lwith an error instead.

This combined with using #cmakedefine01 (instead of #cmakedefine), could
catch things like:
https://invent.kde.org/pim/kdepim-runtime/-/commit/05a0e5bbfbb06ed6aa88640f25f563cf7e5b1330
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This should catch undefined preprocessor expressions, i.e. instead of
showing a warning if FOO_BAR_H is undefined:
 #if FOO_BAR_H

make the build fai lwith an error instead.

This combined with using #cmakedefine01 (instead of #cmakedefine), could
catch things like:
https://invent.kde.org/pim/kdepim-runtime/-/commit/05a0e5bbfbb06ed6aa88640f25f563cf7e5b1330
</pre>
</div>
</content>
</entry>
<entry>
<title>API dox: turn some more verbal "Note" into full note sections</title>
<updated>2022-06-12T16:27:40+00:00</updated>
<author>
<name>Friedrich W. H. Kossebau</name>
<email>kossebau@kde.org</email>
</author>
<published>2022-06-12T16:11:16+00:00</published>
<link rel='alternate' type='text/html' href='https://netuse.dynamicmalloc.com/cgit/extra-cmake-modules.git/commit/?id=97de5ca22bc2e9270809a24d00fe6b748ddbb9e7'/>
<id>97de5ca22bc2e9270809a24d00fe6b748ddbb9e7</id>
<content type='text'>
Should help readers being aware of pitfalls

NO_CHANGELOG
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Should help readers being aware of pitfalls

NO_CHANGELOG
</pre>
</div>
</content>
</entry>
<entry>
<title>API dox: fix sphinx warning about Title underline too short</title>
<updated>2022-06-12T16:27:40+00:00</updated>
<author>
<name>Friedrich W. H. Kossebau</name>
<email>kossebau@kde.org</email>
</author>
<published>2022-06-12T15:52:17+00:00</published>
<link rel='alternate' type='text/html' href='https://netuse.dynamicmalloc.com/cgit/extra-cmake-modules.git/commit/?id=8ca7a8f13c47c66ed31bb2799e31cf490be86dc6'/>
<id>8ca7a8f13c47c66ed31bb2799e31cf490be86dc6</id>
<content type='text'>
NO_CHANGELOG
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
NO_CHANGELOG
</pre>
</div>
</content>
</entry>
<entry>
<title>API dox: use more markup for code or commandline samples</title>
<updated>2022-06-12T16:27:40+00:00</updated>
<author>
<name>Friedrich W. H. Kossebau</name>
<email>kossebau@kde.org</email>
</author>
<published>2022-06-12T14:13:22+00:00</published>
<link rel='alternate' type='text/html' href='https://netuse.dynamicmalloc.com/cgit/extra-cmake-modules.git/commit/?id=9edb5f57127489dec4b7cbdc1e60920e6002abea'/>
<id>9edb5f57127489dec4b7cbdc1e60920e6002abea</id>
<content type='text'>
NO_CHANGELOG
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
NO_CHANGELOG
</pre>
</div>
</content>
</entry>
<entry>
<title>API dox: improve linking to other modules referenced in text</title>
<updated>2022-06-12T14:00:55+00:00</updated>
<author>
<name>Friedrich W. H. Kossebau</name>
<email>kossebau@kde.org</email>
</author>
<published>2022-06-12T14:00:55+00:00</published>
<link rel='alternate' type='text/html' href='https://netuse.dynamicmalloc.com/cgit/extra-cmake-modules.git/commit/?id=8307b90e8136e7c3adc6d0419f6eda0d58b27614'/>
<id>8307b90e8136e7c3adc6d0419f6eda0d58b27614</id>
<content type='text'>
NO_CHANGELOG
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
NO_CHANGELOG
</pre>
</div>
</content>
</entry>
<entry>
<title>fix linking on OpenBSD</title>
<updated>2022-06-06T22:37:42+00:00</updated>
<author>
<name>Christoph Cullmann</name>
<email>cullmann@kde.org</email>
</author>
<published>2022-05-20T17:21:21+00:00</published>
<link rel='alternate' type='text/html' href='https://netuse.dynamicmalloc.com/cgit/extra-cmake-modules.git/commit/?id=b01c2150b09ba50de34e08d2d5ccf53359905b5f'/>
<id>b01c2150b09ba50de34e08d2d5ccf53359905b5f</id>
<content type='text'>
OpenBSD has a similar patch inside the ports, see

Allow KDE5 libraries to be built without having to link to libc explicitly.
Index: kde-modules/KDECompilerSettings.cmake
--- kde-modules/KDECompilerSettings.cmake.orig
+++ kde-modules/KDECompilerSettings.cmake
@@ -530,6 +530,8 @@ endfunction()
 # Better diagnostics (warnings, errors)
 ############################################################

+set(ALLOW_UNDEFINED_LIB_SYMBOLS No CACHE BOOL "allow undefined symbols in generated shared objects")
+
 if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT APPLE) OR
         (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT APPLE) OR
         (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND NOT WIN32))
@@ -537,9 +539,11 @@ if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT APPL
     set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings ${CMAKE_SHARED_LINKER_FLAGS}")
     set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings ${CMAKE_MODULE_LINKER_FLAGS}")

-    # Do not allow undefined symbols, even in non-symbolic shared libraries
-    set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}")
-    set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_MODULE_LINKER_FLAGS}")
+    if (NOT ${ALLOW_UNDEFINED_LIB_SYMBOLS})
+        # Do not allow undefined symbols, even in non-symbolic shared libraries
+        set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}")
+        set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_MODULE_LINKER_FLAGS}")
+    endif()
 endif()

 set(_KDE_GCC_COMMON_WARNING_FLAGS "-Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef")
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
OpenBSD has a similar patch inside the ports, see

Allow KDE5 libraries to be built without having to link to libc explicitly.
Index: kde-modules/KDECompilerSettings.cmake
--- kde-modules/KDECompilerSettings.cmake.orig
+++ kde-modules/KDECompilerSettings.cmake
@@ -530,6 +530,8 @@ endfunction()
 # Better diagnostics (warnings, errors)
 ############################################################

+set(ALLOW_UNDEFINED_LIB_SYMBOLS No CACHE BOOL "allow undefined symbols in generated shared objects")
+
 if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT APPLE) OR
         (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND NOT APPLE) OR
         (CMAKE_CXX_COMPILER_ID STREQUAL "Intel" AND NOT WIN32))
@@ -537,9 +539,11 @@ if ((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT APPL
     set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--fatal-warnings ${CMAKE_SHARED_LINKER_FLAGS}")
     set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--fatal-warnings ${CMAKE_MODULE_LINKER_FLAGS}")

-    # Do not allow undefined symbols, even in non-symbolic shared libraries
-    set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}")
-    set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_MODULE_LINKER_FLAGS}")
+    if (NOT ${ALLOW_UNDEFINED_LIB_SYMBOLS})
+        # Do not allow undefined symbols, even in non-symbolic shared libraries
+        set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_SHARED_LINKER_FLAGS}")
+        set(CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined ${CMAKE_MODULE_LINKER_FLAGS}")
+    endif()
 endif()

 set(_KDE_GCC_COMMON_WARNING_FLAGS "-Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef")
</pre>
</div>
</content>
</entry>
<entry>
<title>KDEGitCommitHooks: Check if KDEClangFormat was included</title>
<updated>2022-05-30T15:24:13+00:00</updated>
<author>
<name>Alexander Lohnau</name>
<email>alexander.lohnau@gmx.de</email>
</author>
<published>2022-04-30T06:57:26+00:00</published>
<link rel='alternate' type='text/html' href='https://netuse.dynamicmalloc.com/cgit/extra-cmake-modules.git/commit/?id=79caa00d0949138b237ecced794a903237bcf2b5'/>
<id>79caa00d0949138b237ecced794a903237bcf2b5</id>
<content type='text'>
If the module is not included, the current message would be misleading.

Including the module by default is undesirable, because we print out a warning
that we do not override an existing module. While this warning is reasonable in most
cases, it is annoying for projects that have a custom clang-format file.

Checking if a .clang-format file exists and if not including KDEClangFormat is fragile,
because it depends on the include order of the modules.

Considering all that, a proper warning with instructions on how to fix the issue
is IMHO the best way to go.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If the module is not included, the current message would be misleading.

Including the module by default is undesirable, because we print out a warning
that we do not override an existing module. While this warning is reasonable in most
cases, it is annoying for projects that have a custom clang-format file.

Checking if a .clang-format file exists and if not including KDEClangFormat is fragile,
because it depends on the include order of the modules.

Considering all that, a proper warning with instructions on how to fix the issue
is IMHO the best way to go.
</pre>
</div>
</content>
</entry>
</feed>
