dependency information is not shared between cmake projects
===

I have a directory structure like this:

    Core/CMakeLists.txt
    Math/CMakeLists.txt

The Math library is dependent on the Core library.  Math's CMakeLists.txt calls `add_subdirectory(Core Core)`.  The following macro is used to create the directory:

    macro(CREATE_LIBRARY libName libOnlyName sources dependencies externalLibs)
    CREATE_PCH(${libName} ${libOnlyName} "${sources}")
    
    # create the .so from the static libraries so we have just one .so (requirement for Chicago).
    # don't add source again as we want to compile .o files only once from the static library.
    add_library(${libName} SHARED)
    # needed to set the linker language as we don't have any source for the shared library (shared library uses
    # static library).
    SET_TARGET_PROPERTIES(${libName} PROPERTIES LINKER_LANGUAGE CXX)
    target_link_libraries(${libName} ${CMAKE_REQUIRED_LIBRARIES})
    target_link_libraries(${libName} -rdynamic -Wl,-whole-archive ${libName}-static ${dependencies} -Wl,-no    -whole-archive ${externalLibs})
    
    # create a static library that can be used in dependent libraries.
    add_library(${libName}-static STATIC ${sources})
    
    #set_property(TARGET ${libName} PROPERTY COMPILE_DEFINITIONS NT_DLLSPEC_IS_LIBRARY=1)
    endmacro(CREATE_LIBRARY)

This macro creates a shared library and a static library.  This works, with one problem:  If I 'make'  in the Math library, object files in the Core library are built regardless if I've built object files in the Core library.  This leads me to believe that dependency information is not shared between a library and its dependents.  

How do I modify my CMakeLists.txt files so that libraries and their dependents share dependency information?  