Browse Source

Add a function that determines the filename of the library

for the target. This replaces get_target_property( LOCATION )
that is deprecated due to CMP0026.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/26/head
Slávek Banko 1 year ago
parent
commit
0a40752779
No known key found for this signature in database GPG Key ID: 608F5293A04BE668
1 changed files with 44 additions and 32 deletions
  1. +44
    -32
      modules/TDEMacros.cmake

+ 44
- 32
modules/TDEMacros.cmake View File

@@ -108,18 +108,6 @@ endif( )
########### slave part ends here ###############


################################################
#####
##### CMP0026 states we should not read the LOCATION property of a target,
##### and should be using generators instead. We can't do that here however
##### because we need the value of the property at configure time.

if( POLICY CMP0026 )
cmake_policy( PUSH )
cmake_policy( SET CMP0026 OLD )
endif( POLICY CMP0026 )


################################################
#####
##### tde_install_icons( <icons...> THEME <svgicons> DESTINATION <destdir> )
@@ -252,15 +240,53 @@ macro( tde_file_to_cpp _src _dst _var )
endmacro( )


#################################################
#####
##### tde_get_library_filename( <var> <target> )

function( tde_get_library_filename _filename _target )
get_target_property( _type ${_target} TYPE )
if( "${_type}" MATCHES "_LIBRARY" )
get_target_property( _output_prefix ${_target} PREFIX )
if( "${_output_prefix}" STREQUAL "_output_prefix-NOTFOUND" )
if( "${_type}" MATCHES "STATIC_" )
set( _output_prefix "${CMAKE_STATIC_LIBRARY_PREFIX}" )
elseif( "${_type}" MATCHES "SHARED_" )
set( _output_prefix "${CMAKE_SHARED_LIBRARY_PREFIX}" )
elseif( "${_type}" MATCHES "MODULE_" )
set( _output_prefix "${CMAKE_SHARED_MODULE_PREFIX}" )
else( )
set( _output_prefix "" )
endif( )
endif( )
get_target_property( _output_suffix ${_target} SUFFIX )
if( "${_output_suffix}" STREQUAL "_output_suffix-NOTFOUND" )
if( "${_type}" MATCHES "STATIC_" )
set( _output_suffix "${CMAKE_STATIC_LIBRARY_SUFFIX}" )
elseif( "${_type}" MATCHES "SHARED_" )
set( _output_suffix "${CMAKE_SHARED_LIBRARY_SUFFIX}" )
elseif( "${_type}" MATCHES "MODULE_" )
set( _output_suffix "${CMAKE_SHARED_MODULE_SUFFIX}" )
else( )
set( _output_suffix "" )
endif( )
endif( )
get_target_property( _output ${_target} OUTPUT_NAME )
set( ${_filename} "${_output_prefix}${_output}${_output_suffix}" PARENT_SCOPE )
else( )
set( ${_filename} "" PARENT_SCOPE )
endif( )
endfunction( )


#################################################
#####
##### tde_install_la_file( <target> <destination> )

macro( tde_install_la_file _target _destination )

get_target_property( _target_location ${_target} LOCATION )
tde_get_library_filename( _soname ${_target} )
get_target_property( _target_release ${_target} RELEASE )
get_filename_component( _soname ${_target_location} NAME )
if( _target_release )
string( REPLACE "-${_target_release}" "" _soname_base "${_soname}" )
else( )
@@ -453,11 +479,9 @@ endmacro( __tde_internal_process_sources )

macro( tde_install_libtool_file _target _destination )

get_target_property( _target_location ${_target} LOCATION )
get_target_property( _target_release ${_target} RELEASE )

# get .so name
get_filename_component( _soname ${_target_location} NAME )
tde_get_library_filename( _soname ${_target} )
get_target_property( _target_release ${_target} RELEASE )
if( _target_release )
string( REPLACE "-${_target_release}" "" _soname_base "${_soname}" )
else( )
@@ -840,8 +864,7 @@ macro( tde_add_library _arg_target )
if( "SHARED" STREQUAL ${_type} AND NOT _no_export )

# get target properties: output name, version, soversion
get_target_property( _output ${_target} LOCATION )
get_filename_component( _output ${_output} NAME )
tde_get_library_filename( _output ${_target} )
get_target_property( _version ${_target} VERSION )
get_target_property( _soversion ${_target} SOVERSION )

@@ -861,8 +884,7 @@ macro( tde_add_library _arg_target )

# install base soname
if( _release AND NOT "STATIC" STREQUAL ${_type} )
get_target_property( _output ${_target} LOCATION )
get_filename_component( _soname ${_output} NAME )
tde_get_library_filename( _output ${_target} )
string( REPLACE "-${_release}" "" _soname_base "${_soname}" )
if( _version )
get_target_property( _soversion ${_target} SOVERSION )
@@ -2146,13 +2168,3 @@ macro( tde_setup_polkit )
endif( )

endmacro( )


################################################
#####
##### Restore CMP0026 policy

if( POLICY CMP0026 )
cmake_policy( POP )
endif( POLICY CMP0026 )


Loading…
Cancel
Save