Hi David,

Thanks very much for your reply! That was extremely helpful, and will let
several packages document a functional workflow for the future.

On Tue, Aug 12, 2014 at 5:38 AM, David Cole <dlrd...@aol.com> wrote:

> Unless it is overridden somewhere else along the way, the following is
> used to create the link command line for a C++ executable:
>
>     (found in Modules/CMakeCXXInformation.cmake)
>
>     if(NOT CMAKE_CXX_LINK_EXECUTABLE)
>       set(CMAKE_CXX_LINK_EXECUTABLE
>          "<CMAKE_CXX_COMPILER>  <FLAGS> <CMAKE_CXX_LINK_FLAGS>
> <LINK_FLAGS> <OBJECTS>  -o <TARGET> <LINK_LIBRARIES>")
>     endif()
>
> As you can see, by default, the C++ compiler is used as a front end to
> link C++ executables...
>
> Similarly for other types of targets, there are
> CMAKE_CXX_CREATE_SHARED_LIBRARY and CMAKE_CXX_CREATE_SHARED_MODULE. And
> for other languages, there are CMAKE_${LANG}_CREATE_... variables too.
>

Ah, that explains one source of confusion. I read CMAKE_CXX_LINK_EXECUTABLE
with LINK as an adjective - specify the executable that does linking -
whereas the above use of CREATE makes clear that the sense of LINK is
intended to be as a verb - specify how to create an executable. The docs
did say that this variable specifies a rule, now that I know what to look
for. :-(

In order to use the linker you want, you would have to define a custom
> CMAKE_CXX_LINK_EXECUTABLE that uses "<CMAKE_LINKER>" in its definition
> of the linker command line.
>

Right. It's easy to assume that this would be the default behaviour for
constructing linking command lines. It's probably too late to consider a
change, but I hope the original reasoning works well somewhere! :-)

Mark


> HTH,
> David C.
>
>
>
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to