/ / Czy obsługa CMake obejmuje katalogi rekurencyjnie? - cmake

Czy obsługa CMake obejmuje rekursywnie katalogi? - cmake

Oczywiście obsługa XCode obejmuje katalogi i wszystkie jego podkatalogi. Zastanawiam się, czy CMake obsługuje ten tryb?

Obecnie używam include_directores

Odpowiedzi:

1 dla odpowiedzi № 1

Jeśli chcesz dodać pliki rekurencyjne

Musisz użyć GLOB_RECURSE tryb z PLIK za to.

Jeśli chcesz rekurencyjnie dodać podkatalogi

Możesz użyć tego wygodnego makra na przykład (wzięte z Przykłady VTK Cmake)

MACRO(HEADER_DIRECTORIES return_list)
FILE(GLOB_RECURSE new_list *.h)
SET(dir_list "")
FOREACH(file_path ${new_list})
GET_FILENAME_COMPONENT(dir_path ${file_path} PATH)
SET(dir_list ${dir_list} ${dir_path})
ENDFOREACH()
LIST(REMOVE_DUPLICATES dir_list)
SET(${return_list} ${dir_list})
ENDMACRO()

Uwaga z dokumentu CMake (którego osobiście nie przestrzegam):

Nie zalecamy używania GLOB do zbierania listy plików źródłowych twoje drzewo źródłowe