Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    Projecttool - avoid updating all projects

    Cinema 4D SDK
    4
    15
    2.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • r_giganteR
      r_gigante
      last edited by

      Hi Daniel, thanks for reaching us 😉

      With regard to your issue, although there's no option at the moment to include in the projectdefinition.txtto exclude a certain project from being rebuilt, what I suggest is to just run it over the project you need to rebuild rather than on the whole solution folder.

      To be more clear, give the current SDK structure:

      <Cinema 4D>
          |-corelibs
          |-...
          |-sdk
              |-frameworks
              |-plugins
                  |-cinema4dsdk
                      |-project (this contains the project)
                      |-source
                      |-...
                  |-maxonsdk
                  |-microsdk
                  |-project (this contains the solution)
      

      you can run:

      • kernel_app_64bit.exe g_updateproject=<Cinema4D>/sdk : to create/update frameworks/plugins
      • kernel_app_64bit.exe g_updateproject=<Cinema4D>/sdk/plugins/ : to create/update all the plugins
      • kernel_app_64bit.exe g_updateproject=<Cinema4D>/sdk/plugins/cinema4dsdk : to create/update only the cinema4dsdk project

      Last but not least running kernel_app_64bit.exe g_updateproject=<Cinema4D>/sdk/plugins/cinema4dsdk or kernel_app_64bit.exe g_updateproject=<Cinema4D>/sdk/plugins/cinema4dsdk/project has the same effect

      Looking forward comments on your side, give best.

      Riccardo

      1 Reply Last reply Reply Quote 2
      • C4DSC
        C4DS
        last edited by

        Hi Riccardo,
        At first sight I thought "but of course, why didn't I think of that".
        But on second thought, the whole purpose of running the Project Tool is because I need to add a new plugin to the solution.

        So, I actually don't need to update a single plugin project, but need to update the solution project ... well, I mean, the project containing the solution.
        As far as I have understood I would these need to run the Project Tool on /plugins/ which will thus update all plugins' projects.

        1 Reply Last reply Reply Quote 0
        • r_giganteR
          r_gigante
          last edited by r_gigante

          Hi Daniel,

          if you'd like to add a new plugin (<Cinema 4D>/sdk/plugins/plugin_X) to your solution without touching the other plugins' projects you can:

          • create the folder structure for plugin_X
          • create the projectdefinition.txt in the project folder of plugin_X
          • run kernel_app_64bit.exe g_updateproject=<Cinema4D>/sdk/plugins/plugin_X in order to create the corresponding project file for the plugin_X
          • modify the projectdefinition.txt in the project folder of plugins to include the plugin_X in the solution file
          • run kernel_app_64bit.exe g_updateproject=<Cinema4D>/sdk/plugins/project in order to update the solution file.

          Obviously this is approach can also to work when it's needed to update any other single plugin or only the solution.

          Hoping it makes sense, feel free to come back with further comments.

          Best, Riccardo

          C4DSC 1 Reply Last reply Reply Quote 2
          • C4DSC
            C4DS @r_gigante
            last edited by

            @r_gigante
            Thanks for this. It ticks all the boxes for me.
            Although I had hoped for a solution with less batch files, I now understand it's better to have separate batch files per plugin. And one for updating the project solution, without updating every plugin.
            So obvious it's embarrassing, but some... ,ok, most times I need someone else to show me the obvious.

            Still wondering about @mp5gosu 's answer.

            Thanks again Riccardo.

            1 Reply Last reply Reply Quote 0
            • M
              mp5gosu
              last edited by

              Hey there. I was not quite right about the Post-Build Script.
              Years ago I started using an extension that configures my solutions before every run. Looks like I simply forgot about that.
              However, it automatically sets the event on every run.

              Sorry about the confusion. 🙂

              C4DSC 1 Reply Last reply Reply Quote 1
              • C4DSC
                C4DS @mp5gosu
                last edited by

                @mp5gosu
                Thanks for the clarification.

                1 Reply Last reply Reply Quote 0
                • M
                  mp5gosu
                  last edited by

                  But since we are talking about that, I'd file a feature request.
                  It should be possible to define portions of the solution that should not be overriden.

                  1 Reply Last reply Reply Quote 0
                  • a_blockA
                    a_block
                    last edited by

                    I have filed a feature request in our development.
                    Cheers,
                    Andreas

                    1 Reply Last reply Reply Quote 0
                    • a_blockA
                      a_block
                      last edited by

                      Hi,

                      there are two more approaches, we discussed when suggesting this request to our development.

                      a) So obvious, we should have come up with in the first place and you probably already considered yourself: Use of your diff tool. Before running the project tool, save the old project files and afterwards use the diff tool to carry over the manual changes. I know, still cumbersome.

                      b) Maybe .props files can be put to use here. These shouldn't be touched by the project tool.

                      Nevertheless, it will also be considered to tackle this issue inside of the project tool.

                      Cheers,
                      Andreas

                      C4DSC 1 Reply Last reply Reply Quote 2
                      • C4DSC
                        C4DS @a_block
                        last edited by

                        @a_block
                        I am not so in favor of solution a) and as for b) I am no expert when it comes to props files. Someone will need to teach and tutor.
                        Still, I appreciate the suggestions.

                        1 Reply Last reply Reply Quote 0
                        • a_blockA
                          a_block
                          last edited by

                          Here's an older blog post about VS property sheets. Still for VS2010, but the principle is still the same.
                          Sharing project properties in Visual C++

                          1 Reply Last reply Reply Quote 2
                          • First post
                            Last post