caseymcc / UE4CMake

Provides a simple way to add a cmake lib to any Unreal Engine 4 (UE4) or 5 (UE5) project.
MIT License
78 stars 14 forks source link

"The name 'CMakeTarget' does not exist" when adding to a plugin. #16

Open LarsLeferenz opened 1 year ago

LarsLeferenz commented 1 year ago

Hi, I'm currently trying to add UE4CMake to a plugin I'm developing. The readme briefly states that this should be possible.

Though, when I generate the projects files I get the error C:\Users\Lars\Documents\Unreal Projects\Test\Plugins\SenSim\Source\SenSim\SenSim.Build.cs(16,3): error CS0103: The name 'CMakeTarget' does not exist in the current context

My Build.cs file:

using UnrealBuildTool;
using System.IO;

public class SenSim : ModuleRules
{
    public SenSim(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

        PublicIncludePaths.AddRange(new string[] {});       
        PrivateIncludePaths.AddRange(new string[] {});
        PublicDependencyModuleNames.AddRange(new string[]{"Core",});
        PrivateDependencyModuleNames.AddRange(new string[]{"CoreUObject", "Engine", "Slate", "SlateCore", "CMakeTarget",});
        DynamicallyLoadedModuleNames.AddRange(new string[] {});

        CMakeTarget.add(Target, this, "MAVSDK", Path.Combine(this.ModuleDirectory, "../../Deps/MAVSDK"), "", true);

    }
}

Excerpt from my .uplugin file:

    "Plugins": [
        {
            "Name": "CMakeTarget",
            "Enabled": true
        }
    ]

UE4CMake is in my plugins /Plugins folder. I'm using Unreal 5.2 with this pull request.

I'm pretty inexperienced with the Unreal Build Tool, so help would be appreciated :)

caseymcc commented 1 year ago

On quick glance the above looks correct, however calling it from a plugin may be an invalid assumption (I haven't actually tested it, just assumed it would work). It may be that they don't actually include the cs project when calling from a plugin and only forward it to the project using the plugin. If this is the case may have to find another work around to include it. When I get a chance I will see if I can find something.

keegean commented 3 months ago

I'm also seeing this issue. I'm still able to compile and build my plugin and the third-party library.