Brad King wrote:
> On 02/11/2013 02:18 PM, Stephen Kelly wrote:
>> Would cmCoreTryCompile also generate a target_link_libraries line for the
>> targets after the existing target_link_libraries line?
>>
>> Otherwise using the raw try_compile would not do what you expect:
>
> I wouldn't expect TARGETS to be linked.
>
>> try_compile( ... TARGETS foo ...)
>> # Generates an imported target for foo, but does not link to it.
>>
>> What effect would the TARGETS parameter have in 'full project' mode?
>
> In both cases I'm picturing that TARGETS will merely make the targets
> available in the test project. It doesn't do anything with them.
How would that be done in 'full project' mode? The best we can do is
generate a file with the imported targets (my branch already does that
much), and allow the user to include() it, right? And we'd generate that
file directly in the binary_dir the user specified in the try_compile call?
And the file would be called something generic so that the user does this?
include("${CMAKE_CURRENT_BINARY_DIR}/tryCompileTargets.cmake")
in their own 'full project' code?
>
> Especially in the case of a full project we wouldn't know what to do
> with them anyway.
I think in the single-source-file mode, we do know what to do with them.
>
> For the single-source signature I could see adding a bunch of modern
> keyword arguments like INCLUDE_DIRECTORIES, LINK_LIBRARIES, etc.
> that essentially turn into the corresponding properties on the
> generated project's test target.
So, we'll have
try_compile(TCRESULT
"${CMAKE_CURRENT_BINARY_DIR}/tcresultbindir"
"tcresult_src.cpp"
TARGETS foo bar
LINK_LIBRARIES foo bar
)
?
> They would replace the current
> -D convention which pre-dated keyword arguments in CMake.
I see more policies coming :). This is future work anyway.
> The outer
> try_compile call would handle target exports for LINK_LIBRARIES.
>
What do you mean 'outer'?
Thanks,
Steve.
--
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers