I replaced the CMakeLists.txt for the library (cmTestLib) with simply this:

add_library (cmTestLib STATIC MySub.cpp MySub.h)

And I see exactly the same problem with the main program not getting
rebuilt.
So I believe the GLOB issue is irrelevant to this particular problem.

Bill

On Thu, Oct 2, 2014 at 6:55 PM, Michael Jackson <[email protected]
> wrote:

> This probably is not completely your issue but I am sure it has something
> to do with it. From the help for the "FILE" command:
>
> GLOB will generate a list of all files that match the globbing
> expressions and store it into the variable.  Globbing expressions are
> similar to regular expressions, but much simpler.  If RELATIVE flag is
> specified for an expression, the results will be returned as a
> relative path to the given path.  (We do not recommend using GLOB to
> collect a list of source files from your source tree.  If no
> CMakeLists.txt file changes when a source is added or removed then the
> generated build system cannot know when to ask CMake to regenerate.)
>
> Take away: Do NOT use GLOB to find source files. List them out one by one
> in the CMake file.
>
> Try that and let us know if it works as you would expect it to.
>
> Mike Jackson
>
> _________________________________________________________
> Mike Jackson                  [email protected]
> BlueQuartz Software                    www.bluequartz.net
> Principal Software Engineer                  Dayton, Ohio
>
> On Thu, Oct 2, 2014 at 3:38 PM, Bill Greene <[email protected]> wrote:
>
>> Hi,
>>
>> I'm trying to build a trivial project with cmake 3.0 and Visual Studio
>> 2013.
>> The project has a top-level directory, a sub-directory with the main
>> program,
>> and a sub-directory that builds a static library that the main program
>> depends on.
>> It all builds fine the first time. Then I change a routine in the library
>> and rebuild.
>> The static library gets rebuilt but the main program does not get
>> re-linked.
>>
>> I have perused the cmake-built VS project for hours and it looks fine to
>> me; the
>> main program depends on the library as expected. I can't figure out why
>> the main
>> program is not being rebuilt.
>>
>> More embarrassing, I can easily build a similar VS project by hand that
>> behaves as
>> expected but I can' find the significant difference between the two that
>> is causing the
>> problematic behavior.
>>
>> If anyone has any insights on this I would be very appreciative.
>>
>> Here are my three CMakeLists.txt files:
>>
>> top level:
>> -----------
>> cmake_minimum_required (VERSION 2.8)
>> project(cmTest)
>> add_subdirectory (cmTestMain)
>> add_subdirectory (cmTestLib)
>>
>> cmTestLib
>> --------------
>> FILE(GLOB SRC *.cpp)
>> FILE(GLOB H_FILES *.h)
>> add_library (cmTestLib STATIC ${SRC} ${H_FILES})
>>
>> cmTestMain
>> ----------------
>> include_directories (${cmTest_SOURCE_DIR}/cmTestLib)
>> add_executable (cmTestMain cmTestMain.cpp)
>> target_link_libraries (cmTestMain cmTestLib)
>>
>> Thanks.
>>
>> Bill
>>
>> --
>>
>> Powered by www.kitware.com
>>
>> Please keep messages on-topic and check the CMake FAQ at:
>> http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Kitware offers various services to support the CMake community. For more
>> information on each offering, please visit:
>>
>> CMake Support: http://cmake.org/cmake/help/support.html
>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/cmake
>>
>
>
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake

Reply via email to