CMake: use un enlazador personalizado

Quiero configurar una cadena de herramientas personalizada con qmake. Configuré el comstackdor pero no sé cómo configurar el enlazador. Este error se informa porque cmake intenta usar el comstackdor para vincular:

The C compiler "xgcc.exe" is not able to compile a simple test program. 

Aquí hay un fragmento de mi archivo toolchain

 # specify the cross compiler INCLUDE(CMakeForceCompiler) SET(CMAKE_C_COMPILER xgcc.exe) SET(CMAKE_CXX_COMPILER xgcc.exe) #CMAKE_FORCE_C_COMPILER(xgcc.exe GNU) #CMAKE_FORCE_CXX_COMPILER(xgcc.exe GNU) 

Intenté forzar al comstackdor, pero el problema del enlazador no se resolverá.

La línea de comando del enlace se establece en Módulos / CMake {C, CXX, Fortran} Information.cmake y de manera predeterminada usa el comstackdor , no CMAKE_LINKER (ver código fuente ). Esto se puede cambiar reemplazando la regla que crea la línea de comando del enlace, que vive en las variables CMAKE_CXX_LINK_EXECUTABLE (y amigos). NB: esa variable no indica la ruta al ejecutable del enlazador; ¡dice cómo unir un ejecutable!

Un enfoque es establecer esa regla para usar el enlazador, por ejemplo

 cmake -DCMAKE_LINKER=/path/to/linker -DCMAKE_CXX_LINK_EXECUTABLE="     -o  " 

Consulte también esta publicación de la lista de correo de CMake : esto también constituye un lugar natural para anteponer un modificador de enlazador a otro enlazador.

Tengo que usar la variable CMAKE_CXX_LINK_EXECUTABLE, CMAKE_C_LINK_EXECUTABLE:

 SET(CMAKE_C_LINK_EXECUTABLE "c:\\MoSync\\bin\\pipe-tool.exe") 

Establezca la variable $ {CMAKE_LINKER} en CMakeCache.txt o después de ccmake. en opciones avanzadas.