Unity Building System

Is there a way to create a building system for unity projects?
So, when you change one file and recompile it won’t remake all the project

sure you can use teamcity and write some script for building for example

    static void BuildMacOS()
{
        EditorUserBuildSettings.development = false;
        PlayerSettings.displayResolutionDialog = ResolutionDialogSetting.Disabled;
        PlayerSettings.resizableWindow = false;
        PlayerSettings.defaultIsFullScreen = true;
        PlayerSettings.defaultScreenHeight = 768;
        PlayerSettings.defaultWebScreenWidth = 1024;
        PlayerSettings.runInBackground = true;
        PlayerSettings.defaultIsNativeResolution = false;
        PlayerSettings.SetAspectRatio (AspectRatio.Aspect4by3, true);

        string[] scenes = { "Assets/Scenes/Loading_screen.unity","Assets/Scenes/Map_scene.unity"};
     
        BuildPipeline.BuildPlayer(scenes,"/Users/unity.build/Documents/macos/MacOS_Build.app" ,UnityEditor.BuildTarget.StandaloneOSXUniversal, BuildOptions.None);

and call it from command line
/Applications/Unity/Unity.app/Contents/MacOS/Unity -projectPath “way to your project” -executeMethod buildScript.BuildMacOS -batchmode -quit
but it will change all project