Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
Hi,
I tried to set up the projectdefinition.txt for a bigger plugin project we have here. I guess I'm doing it wrong... or the project tool does not behave the way I would expect from reading the SDK.
This is the folder structure of the project (I know it's not ideal, but reorganising all the files and subfolders is currently not an option):
my_big_project + project + projectdefinition.txt + source + main.cpp + many_more_files.cpp + lots_of_headers.h + some_extra_folder_with_source + irrelevant_subfolder + files_that_must_not_be_included! + sourcefile.cpp + headerfile.h + git_submodule_of_a_library + project_mac.xcodeproj + project_windows.vcxproj + project_windows.sln + files_that_must_not_be_included! + include + header_files_that_must_be_included! + another_subfolder + files_that_must_not_be_included + include + headerfiles_that_must_be_included
I need to:
This is what my projectdefinition.txt looks like:
// Supported platforms - can be [Win64;OSX] Platform=Win64;OSX // Type of project - can be [Lib;DLL;App] Type=DLL // C4D component C4D=true // API dependencies APIS=cinema.framework;mesh_misc.framework;math.framework;core.framework; AdditionalDependencies=../git_submodule_of_a_library/project_windows.vcxproj; Frameworks.OSX=../git_submodule_of_a_library/project_mac.xcodeproj; // Search paths USER_HEADER_SEARCH_PATHS=../git_submodule_of_a_library/include;../git_submodule_of_a_library/another_subfolder/include;../some_extra_folder_with_source; AdditionalIncludeDirectories=../git_submodule_of_a_library/include;../git_submodule_of_a_library/another_subfolder/include;../some_extra_folder_with_source;%(AdditionalIncludeDirectories) // Exclude unwanted source files from being added to project Exclude=../some_extra_folder_with_source/irrelevant_subfolder/; \ ../git_submodule_of_a_library/; // plugin/module ID ModuleId=com.myself.myplugin
I opened the generated project in Xcode 10 (didn't check Visual Studio yet), and found:
../git_submodule_of_a_library/project_mac.xcodeproj
../git_submodule_of_a_library/another_subfolder/include
Any idea how to make this work?
Thanks in advance!
Cheers, Frank
Hello,
regarding Exclude: The Exlude-statement is not using file-paths, but is defining a filter. See Includes.
The name of the generated plugin project can't be changed. The NAME-attribute only works for solutions. See Project tool: Custom plugin name and master solution
Hi Sebastian!
Thanks for your reply! Isn't that exactly what I did with the Excludes?
Example in documentation:
// exclude OS specific code Exclude.Win=/source/mac/ Exclude.OSX=/source/win/
What I wrote:
// Exclude unwanted source files from being added to project Exclude=../some_extra_folder_with_source/irrelevant_subfolder/; \ ../git_submodule_of_a_library/;
I relative path with a trailing "/" at the end. Or can I only specify multiple folders for the Includes, but not for the Excludes?
Or wait, is it the ".." at the beginning that's throwing the Project Tool off?
first, please try "Exlude.Win" and "Exlude.OSX" as shown in the example.
Second, as I said, "Exclude" does not use file-paths or even relative paths. It just defines strings, that are used to filter URLs. So if ".." is not part of the actual path, it is not a match.
Aaah, ok! That's a start, thank you!
Still, how would I include a 3rd party library in the project, like in my example "git_submodule_of_a_library/project_mac.xcodeproj". It needs to be built before the plugin, and the resulting library must be linked.
As far as I know the Project Tool only handles Cinema 4D projects/plugins. I'm not aware of any way of including projects that are not C4D plugins.
I don't want to use it to create project files for non-C4D projects. I just want to build and link a ready-to-build 3rd party library.
I think we are talking past each other.
You can of course build any project any way you like. An then make sure that your plugins link to the build result using the link options defined in projectdefinition.txt.
But I think you want to include an already existing (non-plugin) project in the solution created by the Project Tool, right? And I think that is not possible. I guess you could add the project manually to the solution created by the Project Tool.