# Generate local forwarding headers

set(_INCDIR ${CMAKE_CURRENT_BINARY_DIR}/include/sonnet)
file(MAKE_DIRECTORY ${_INCDIR})

file(GLOB _SONNETCOREHEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/core core/*.h)
#message(STATUS _SONNETCOREHEADERS=${_SONNETCOREHEADERS})
foreach(_SONNETCOREHEADER ${_SONNETCOREHEADERS})
    string(REGEX MATCH ".*_p\\.h" _ISPRIVATE ${_SONNETCOREHEADER})
    #message(STATUS "_ISPRIVATE=${_ISPRIVATE} _SONNETCOREHEADER=${_SONNETCOREHEADER}")
    if (NOT _ISPRIVATE)
        if (NOT EXISTS ${_INCDIR}/${_SONNETCOREHEADER})
            file(WRITE ${_INCDIR}/${_SONNETCOREHEADER} "#include \"${CMAKE_CURRENT_SOURCE_DIR}/core/${_SONNETCOREHEADER}\"\n")
        endif()
    endif()
endforeach()
if (NOT EXISTS ${_INCDIR}/sonnetcore_export.h)
    file(WRITE ${_INCDIR}/sonnetcore_export.h "#include \"${CMAKE_CURRENT_BINARY_DIR}/core/sonnetcore_export.h\"\n")
endif()

add_subdirectory(core)

file(GLOB _SONNETUIHEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/ui ui/*.h)
#message(STATUS _SONNETUIHEADERS=${_SONNETUIHEADERS})
foreach(_SONNETUIHEADER ${_SONNETUIHEADERS})
   string(REGEX MATCH ".*_p\\.h" _ISPRIVATE ${_SONNETUIHEADER})
   #message(STATUS "_ISPRIVATE=${_ISPRIVATE} _SONNETUIHEADER=${_SONNETUIHEADER}")
    if (NOT _ISPRIVATE)
       if (NOT EXISTS ${_INCDIR}/${_SONNETUIHEADER})
          file(WRITE ${_INCDIR}/${_SONNETUIHEADER} "#include \"${CMAKE_CURRENT_SOURCE_DIR}/ui/${_SONNETUIHEADER}\"\n")
        endif()
    endif()
endforeach()
if (NOT EXISTS ${_INCDIR}/sonnetui_export.h)
    file(WRITE ${_INCDIR}/sonnetui_export.h "#include \"${CMAKE_CURRENT_BINARY_DIR}/ui/sonnetui_export.h\"\n")
endif()

add_subdirectory(plugins)
add_subdirectory(ui)
