[CMake] Recursively add directories to INCLUDE_DIRECTORIES

GOO Creations goocreations at gmail.com
Mon Jun 11 11:35:06 EDT 2012


Thanks.
I was sitting for hours trying to write this huge macro and now the 
solution isso easy.
For future readers, here is my macro:

    /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()/



Christoph


On 2012/06/11 05:11 PM, Leif Walsh wrote:
> Use the GLOB_RECURSE mode of file() (cmake --help-command file) and get_filename_component.
>
> Sent from my iPhone
>
> On Jun 11, 2012, at 11:09, GOO Creations<goocreations at gmail.com>  wrote:
>
>> Hi all,
>>
>> I want to recursively scan all sub-directories (and their sub-directories, etc ...) and determine if the directory contains a header (.h) file. I then want to add this directory to INCLUDE_DIRECTORIES.
>>
>> The best thing (according to my CMake knowledge) is to write a macro for this and then use it as follows:
>>
>> SCAN_DIRS(mylist)
>> INCLUDE_DIRECTORIES(${mylist})
>>
>> Any suggestions on how to implement this "SCAN_DIRS" macro?
>>
>> Christoph
>> --
>>
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.cmake.org/mailman/listinfo/cmake

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20120611/cdbdb8eb/attachment.htm>


More information about the CMake mailing list