Add common tde_setup_gcc_visibility macro #17

Merged
SlavekB merged 1 commits from feat/add-test-gcc-visibility into master 5 years ago
Owner

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 5 years ago
MicheleC approved these changes 5 years ago
MicheleC left a comment
Owner

LGTM

LGTM
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.
Poster
Owner

I have successfully completed the tests of building tdebase and tdelibs 😸

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

Good enough then

Good enough then
Poster
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 5 years ago
SlavekB closed this pull request 5 years ago
SlavekB deleted branch feat/add-test-gcc-visibility 5 years ago
SlavekB added this to the R14.0.6 release milestone 5 years ago
The pull request has been merged as b034c47597.
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: TDE/tde-cmake#17
Loading…
There is no content yet.