Hello everybody, I made some progress with extracting project structure from cmake via the daemon-mode. I am rather happy with the information and would love to get some feedback from other interested parties.
Here is the format that is currently reported (with comments;-): [== CMake MetaMagic ==[ { # Reply header: "cookie":"", "type":"reply" "inReplyTo":"project", # Data: "projects": [ { "configurations": [ { "name":"", "targets": [ { "fullName":"test", "name":"test", "type":"GLOBAL_TARGET" }, # <snip> { "buildDirectory":"/tmp/cmake-build-test/Source/CursesDialog/form", "fullName":"libcmForm.a", "linkerLanguage":"C", "name":"cmForm", # "sysroot": "/some/path", if set... "sourceGroups": # Just groups files with similar settings # together to save space [ { "compileFlags":" -std=gnu11", "defines": [ "CURL_STATICLIB", # <snip> "LIBARCHIVE_STATIC" ], "includePath": [ "/tmp/cmake-build-test/Utilities", # <snip> "/home/code/src/cmake/Source/CursesDialog/form" ], "lanugage":"C", "sources": [ "fld_arg.c", # <snip> "fty_regex.c" ] } ], "type":"STATIC_LIBRARY" }, # <snip> { "fullName":"install", "name":"install", "type":"GLOBAL_TARGET" } ] # end of tragets list } # end of one configuration object ], # end of configurations list "currentBuildDirectory":"/tmp/cmake-build-test/Source/CursesDialog/form", "currentSourceDirectory":"/home/code/src/cmake/Source/CursesDialog/form", "name":"CMAKE_FORM" }, # end of one project object # <snip> ] # end of project list } ]== CMake MetaMagic ==] Is this the information you need for IDE integration? Do you cmake developers feel comfortable to expose this information? The total of the project data from the cmake project is ~102KiB of raw JSON data. What is not listed is the build system file list and the CMakeCache. I want to keep these two separate: I can think of some use cases where that information is not at all necessary:-) Best Regards, Tobias -- Tobias Hunger, Senior Software Engineer | The Qt Company The Qt Company GmbH, Rudower Chaussee 13, D-12489 Berlin Geschäftsführer: Mika Pälsi, Juha Varelius, Mika Harjuaho. Sitz der Gesellschaft: Berlin, Registergericht: Amtsgericht Charlottenburg, HRB 144331 B -- 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-developers