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