On Wed, Oct 28, 2009 at 01:18:55PM -0400, David Cole wrote:
> Except: that argument is not valid in this case. Neither file(GLOB nor
> install(DIRECTORY will "rerun" anything if a new header file is added into
> the directory...

David I don't think this is correct.

Here's a test using file(GLOB) + install(FILES):

    [tyle...@alta:~/install-dir-vs-file-glob-test/b]$ cat ../CMakeLists.txt
    cmake_minimum_required(VERSION 2.6)
    project (test)

    set (CMAKE_INSTALL_PREFIX "/tmp/install.test.tmr")

    file (GLOB header_files "include/*.h")
    install (FILES ${header_files} DESTINATION include)

    [tyle...@alta:~/install-dir-vs-file-glob-test/b]$ cmake ..
    -- Configuring done
    -- Generating done
    -- Build files have been written to:
    /alta/tylermr/install-dir-vs-file-glob-test/b

    [tyle...@alta:~/install-dir-vs-file-glob-test/b]$ make install
    Install the project...
    -- Install configuration: ""
    -- Installing: /tmp/install.test.tmr/include/foo.h

    [tyle...@alta:~/install-dir-vs-file-glob-test/b]$ touch ../include/bar.h

    [tyle...@alta:~/install-dir-vs-file-glob-test/b]$ make install
    Install the project...
    -- Install configuration: ""
    -- Up-to-date: /tmp/install.test.tmr/include/foo.h


Note that CMake does not notice the addition of bar.h.


Here's a test using install(DIRECTORY):

    [tyle...@alta:~/install-dir-vs-file-glob-test/b]$ cat ../CMakeLists.txt
    cmake_minimum_required(VERSION 2.6)
    project (test)

    set (CMAKE_INSTALL_PREFIX "/tmp/install.test.tmr")

    install (DIRECTORY include DESTINATION include)

    [tyle...@alta:~/install-dir-vs-file-glob-test/b]$ make install
    Install the project...
    -- Install configuration: ""
    -- Installing: /tmp/install.test.tmr/include/include
    -- Installing: /tmp/install.test.tmr/include/include/foo.h

    [tyle...@alta:~/install-dir-vs-file-glob-test/b]$ touch ../include/bar.h

    [tyle...@alta:~/install-dir-vs-file-glob-test/b]$ make install
    Install the project...
    -- Install configuration: ""
    -- Installing: /tmp/install.test.tmr/include/include
    -- Up-to-date: /tmp/install.test.tmr/include/include/foo.h
    -- Installing: /tmp/install.test.tmr/include/include/bar.h


Note that bar.h is noticed and installed.


tyler
_______________________________________________
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

Reply via email to