#17 Add common tde_setup_gcc_visibility macro

Merged
SlavekB merged 1 commits from feat/add-test-gcc-visibility into master 3 months ago
SlavekB commented 4 months ago

In many modules built with CMake, a GCC visibility test is performed. In most, a simple test is performed to determine if the system is a UNIX-type. In tdebase, there is a more in-depth test that checks if tdelibs are built with GCC visibility. The comment also states that it would be good to add a test to see if TQt is built with GCC visibility.

In order not to have all these tests in each module, I put all tests into a common cmake module as tde_setup_gcc_visibility macro. Thanks to this, it will now be simple in each module:

if( WITH_GCC_VISIBILITY )
   tde_setup_gcc_visibility( )
endif( )

The tests in tde_setup_gcc_visibility macro are prepared so that the TQt and tdelibs tests are performed only when they are installed / detected. This allows to use macro not only in the usual modules, but also in tdelibs, and in the future in TQt.

In many modules built with CMake, a GCC visibility test is performed. In most, a simple test is performed to determine if the system is a UNIX-type. In tdebase, there is a more in-depth test that checks if tdelibs are built with GCC visibility. The comment also states that it would be good to add a test to see if TQt is built with GCC visibility. In order not to have all these tests in each module, I put all tests into a common cmake module as `tde_setup_gcc_visibility` macro. Thanks to this, it will now be simple in each module: ``` if( WITH_GCC_VISIBILITY ) tde_setup_gcc_visibility( ) endif( ) ``` The tests in `tde_setup_gcc_visibility` macro are prepared so that the TQt and tdelibs tests are performed only when they are installed / detected. This allows to use macro not only in the usual modules, but also in tdelibs, and in the future in TQt.
SlavekB added the
PR/rfc
label 4 months ago
MicheleC approved these changes 4 months ago
LGTM
MicheleC commented 4 months ago
Owner

before we push to cmake, let’s try to build up to the base system with the modified macro.

before we push to cmake, let's try to build up to the base system with the modified macro.
SlavekB commented 4 months ago
Owner

I have successfully completed the tests of building tdebase and tdelibs :smile_cat:

I have successfully completed the tests of building tdebase and tdelibs :smile_cat:
MicheleC commented 4 months ago
Owner

Good enough then

Good enough then
SlavekB commented 4 months ago
Owner

Note: Because for TQt is unable to identify by definitions or header files whether the build was performed with GCC visibility, the test checks to see if the private class methods are visible in exported library symbols.

Note: Because for TQt is unable to identify by definitions or header files whether the build was performed with GCC visibility, the test checks to see if the private class methods are visible in exported library symbols.
SlavekB removed the
PR/rfc
label 4 months ago
SlavekB deleted branch feat/add-test-gcc-visibility 3 months ago
SlavekB added this to the R14.0.6 release milestone 3 months ago

Reviewers

MicheleC approved these changes 4 months ago
The pull request has been merged.
Sign in to join this conversation.
Loading…
Cancel
Save
There is no content yet.