Recuperar propiedades objetivo de CMAKE BUILT -- make campo con target camp Relacionados El problema

Retrieve target properties from cmake build


4
vote

problema

Español

Supongamos que tengo un proyecto existente y su directorio de compilación configurado por CMAKEKE. ¿Cómo puedo volver a realizar algunas propiedades del objetivo utilizando esta compilación, siempre que conozca el nombre de destino? Intenté crear un script separado como este

  dotnet publish0  

pero falla con error

  dotnet publish111  

¿Hay algún otro método?

Original en ingles

Suppose I have an existing project and it's cmake-configured build directory. How can I retreive some target's properties using this build, provided that I know the target name? I tried creating a separate script like this

get_target_property(VAR target property) 

but it fails with error

Command get_target_property() is not scriptable 

Are there any other methods?

     

Lista de respuestas

3
 
vote
vote
La mejor respuesta
 

aparentemente get_target_property () solo se puede llamar al configurar un directorio de compilación con CMAKE. No estoy al tanto de ningún método para obtener propiedades de objetivos en el directorio de compilación ya configurado. Pero si modifica la CMAKEFILES CMAKEFILES.TXT existente es una opción, hay una solución.

Puede intentar localizar la definición de destino, obtener las propiedades del destino allí y tirarlas en un archivo de texto. Luego, este archivo se puede usar en cualquier otro scripts llamado después de que se realice la configuración del directorio de creación.

Este ejemplo ilustra esta solución:

  <Folder>5  

Asegúrese de usar <Folder>6 después de cada propiedad Cambios para el objetivo dado en CMAKEFILES.TXT se realizan. De lo contrario, puede perderse algo como en el siguiente ejemplo.

  <Folder>7  

En el ejemplo anterior, la definición @(None)28 no se enumerará en <Folder>9 .

 

Apparently get_target_property() can be called only when configuring a build directory with cmake. I am not aware of any method of getting targets properties on already configured build directory. But if modifying existing CMakeFiles.txt is an option, there is a workaround.

You can try locating target definition, get the target's properties there and dump them into a text file. Then, this file can be then used in any other scripts called after build directory configuration is done.

This example illustrates this workaround:

add_executable(app ${app_sources})  set_target_properties(app PROPERTIES COMPILE_DEFINITIONS SOME_DEF=1)  get_target_property(compile_defs app COMPILE_DEFINITIONS) file(WRITE app_compile_defs.txt ${compile_defs}) 

Be sure to use get_target_property after every property changes for given target in CMakeFiles.txt are done. Otherwise you can miss something as in example below.

add_executable(app ${app_sources})  set_target_properties(app PROPERTIES COMPILE_DEFINITIONS SOME_DEF=1)  get_target_property(compile_defs app COMPILE_DEFINITIONS) file(WRITE app_compile_defs.txt ${compile_defs})  set_target_properties(app PROPERTIES COMPILE_DEFINITIONS ANOTHER_DEF=0) 

In the example above, the ANOTHER_DEF=0 definition will not be listed in app_compile_defs.txt.

 
 
 
 

Relacionados problema

1  WordPress abre enlace en la misma ventana a pesar de Target = "_ en blanco"  ( Wordpress opens link in same window despite target blank ) 
En la página de http://verein-iks.eu/dev/ tengo un Facebook botón en la parte superior derecha. Si hago clic en el botón, me rendiré a una página de Faceboo...

2  ¿Es posible anular la variable global en uno específico del objetivo en hacer?  ( Is it possible to override global variable in target specific one in make ) 
Considerar el siguiente makefile: # various settings, lots of them # (supposed to be in defaults.mk) option1="glob_val1" option2="glob_val2" #option3="glob...

3  Objetivo-C - Tener una configuración de TestFlight para incluir TestFlight SDK  ( Objective c having a testflight configuration to include testflight sdk ) 
He seguido las instrucciones de TestFlight para duplicar la configuración "Lanzamiento". También estoy usando TestFlight SDK para obtener informes en vivo de ...

526  ¿Puedo crear enlaces con 'Target = "_ Blank"' en Markdown?  ( Can i create links with target blank in markdown ) 
¿Hay una manera de crear un enlace en la descuento que se abre en una nueva ventana? Si no, ¿qué sintaxis recomienda hacer esto? Lo agregaré al compilador de ...

106  El destino de ejecución seleccionado no es válido para esta acción  ( The selected run destination is not valid for this action ) 
He abierto un proyecto que siempre ha sido iPhone / iPad. No puedo construirlo ahora porque por alguna razón, mi única opción de "esquema" es "MyApp My Mac 64...

2  No se puede agregar ningún archivo nuevo .h a destino al agregarlo al proyecto,  ( Cannot add any new h file to target when adding it to project ) 
No sé qué hacer. No puedo agregar ningún archivo .h a destino en mis proyectos. Intenté agregarlo de Agregar archivo, de arrastrar y soltar el archivo de info...

5  Error de dependencias de destino XCODE después de cambiar SDKs  ( Xcode target dependencies error after switching sdks ) 
He estado trabajando en mi proyecto con Xcode 5 durante los últimos días. He cambiado a Xcode 4 porque quería asegurarme de que todo en mi proyecto sería comp...

0  Aplicar: ¡Estilos de destino a diveciendo DIV DIV?  ( Apply target styles to div inside target div ) 
Buscando aplicar: estilos de destino solo para div que se dividen DIV con id = "Item1". Estoy haciendo esto para que pueda usar el relleno para obtener el DIV...

0  El objetivo del correo de Nlog falla cuando se usa en una aplicación web  ( Nlog mail target fails when used in a web application ) 
Acabo de actualizar Nlog en mi aplicación web NancyFX a la versión 4.3.2 y la aplicación ahora lanza un error la primera vez que intenta obtener una instancia...

1  URL dinámica en Jitterbit HTTP objetivo  ( Dynamic url in jitterbit http target ) 
Estoy deseando llamar a la siguiente URL en mi objetivo HTTP de Jitterbit: HTTPS: //xxx.visualstudio .com / defaultcollection / _apis / wit / workitems / [...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos