2009-09-28 13 views
7

estoy usando cmake para mi proyecto, pero tienen otra biblioteca en un subdirectorio (por ejemplo lib /), que utiliza un Makefile sencillo. ¿Cómo me instruyo CMake para ejecutar el Makefile en lib como parte del proceso de construcción?bibliotecas de terceros en CMake

+0

Este Makefile es simple o generada por cmake? –

+1

posible duplicado de [Cómo automatizar la construcción de la biblioteca de terceros usando cmake] (http://stackoverflow.com/questions/11728216/how-to-automate-building-of-third-party-library-using-cmake) – Alex

Respuesta

2

Si su/lib contiene su propio CMakeLists.txt, sólo tiene que utilizar el add_subdirectory comando:

add_subdirectory(/path/of/your/lib/that/contains/CMakeLists.txt) 

Else

usted tiene que utilizar exec_program comando:

exec_program(script.sh) 

donde script.sh es

#!/bin/sh 
cd /path/of/your/lib/ && make 

no se olvide

chmod +x script.sh 

En mi opinión, la primera solución es mejor !!!

+1

gracias por la respuesta, pero execute_process() ha superado la misma. Encontré la respuesta al día siguiente. – Nikhil

5

La solución es utilizar:

execute_process (COMMAND make WORKING_DIRECTORY ${project_SOURCE_DIR}/path/to/lib)

Cuestiones relacionadas