Tengo un proyecto que no se ha dividido en bibliotecas, pero la fuente está organizada en un árbol de directorios. No sé cómo decirle a cmake que baje un directorio, luego agregue la fuente en ese directorio al proyecto definido en el directorio padre. He intentado lo siguiente:Agregar fuente en un subdirectorio a un proyecto de cmake
en el proyecto/fuente/CMakeLists.txt:
set(SOURCE
${CMAKE_CURRENT_SOURCE_DIR}/unitTest/main.cpp
)
add_subdirectory("${PROJECT_SOURCE_DIR}/folder1")
add_executable(UnitTestRNG ${SOURCE} ${HEADERS})
a continuación en el proyecto/fuente/carpeta1/CMakeLists.txt:
set(SOURCE
${SOURCE}
${CMAKE_CURRENT_SOURCE_DIR}/file1.cpp
${CMAKE_CURRENT_SOURCE_DIR}/file2.cpp
)
set(HEADERS
${HEADERS}
${CMAKE_CURRENT_SOURCE_DIR}/file1.hpp
${CMAKE_CURRENT_SOURCE_DIR}/file2.hpp
)
utilizando algún mensaje() declaraciones, he encontrado que la carpeta del niño obtendrá el contenido de la variable SOURCE, pero su nueva asignación a esa variable no persistirá al regresar al padre CMakeLists.txt
Buscando ejemplos y en el tutorial cmake me ha llevado a la conclusión de que: - Las estructuras de archivos de origen generalmente son planas dentro de un proyecto - Si el código está dividido en carpetas, por lo general se divide en las bibliotecas correspondientes.
Me pregunto si hay algunas "mejores prácticas" de las cuales me estoy desviando al intentar esta estructura.
¡Gracias por la sintaxis! Funcionó bien. – 2NinerRomeo
¿Sigue siendo la forma recomendada de lograr esto en la última versión de cmake? – lanoxx