[CMake] imported lib properties...

Brad King brad.king at kitware.com
Mon Mar 16 09:33:20 EDT 2009


Asmodehn Shade wrote:
> I am currently converting my old cmake 2.4 scripts to cmake 2.6.3, as I 
> am enjoying the new possibilities offered by the export / import system
> I previously implemented my self a little dirty workaround this 
> limitation... so I am pretty happy to see this coming along ;-)

Thanks, I'm glad you like it.

> In my main script I call a few macros :
> 
> import(project_export.cmake)
> inspect(project_target)
> 
> My macros are defined as this :
> 
> macro ( import external_project_export )
>      include(${external_project_export})
>      # I assume I know external_target is defined in 
> ${external_project_export}
>      get_target_properties(external_target_location ${external_target} 
> LOCATION)
>      ###OK WORKING
> endmacro ( import external_project )
> 
> macro ( inspect target )
>      get_target_properties(external_target_location_test ${target} LOCATION)
>      ###NOT FOUND
> macro ( inspect target )
> 
> In the second macro call, all the properties I tried to get ( LOCATION, 
> IMPORTED_LOCATION, IMPORTED_LOCATION_DEBUG, etc ) all return NOT_FOUND
> Yes I even tried to re-include the file desperately, but it tells me the 
> target is already defined, as it should be...
> So it seems the target lost its properties between the 2 macro calls ??

Are you sure the second call is using the correct target?  Use message() to
print the name of the target in both cases.

-Brad


More information about the CMake mailing list