JetBrains / CMake-runner-plugin

CMake support for TeamCity
https://plugins.jetbrains.com/plugin/20316-cmake-and-gnu-make-tools-support
Apache License 2.0
6 stars 10 forks source link

Build freezes for big Visual Studio 2010 project #2

Open kirillsud opened 9 years ago

kirillsud commented 9 years ago

I had cmake build step for my big project:

      <runner id="RUNNER_142" name="Configure MSVC release version" type="jetbrains-cmake-conf">
        <parameters>
          <param name="teamcity.build.workingDir" value="build/msvc/release" />
          <param name="teamcity.step.mode" value="default" />
          <param name="ui-jetbrains-cmake-conf-additional-cmd-params" value="-DCMAKE_INSTALL_PREFIX=../../tmprel" />
          <param name="ui-jetbrains-cmake-conf-cmake-build-type" value="Release" />
          <param name="ui-jetbrains-cmake-conf-developer-warnings" value="true" />
          <param name="ui-jetbrains-cmake-conf-makefile-generator" value="Visual Studio 10" />
          <param name="ui-jetbrains-cmake-conf-redirect-stderr" value="true" />
          <param name="ui-jetbrains-cmake-conf-source-path" value="../../.." />
        </parameters>
      </runner>
      <runner id="RUNNER_143" name="Building a MSVC release version" type="jetbrains-cmake-build">
        <parameters>
          <param name="teamcity.build.workingDir" value="build/msvc/release" />
          <param name="teamcity.step.mode" value="default" />
          <param name="ui-jetbrains-cmake-build-build-target" value="install" />
          <param name="ui-jetbrains-cmake-build-cmake-build-configuration" value="Release" />
        </parameters>
      </runner>

When I starting this steps - it's OK. But after about 10 minutes on second step TeamCity starts output build log very slowly. After another 10 minutes it will output it's log so slow, that it's better to stop it (I had wait one night :)).

For me I found workaround to change 2nd step to Command Line Runner:

      <runner id="RUNNER_142" name="Configure MSVC release version" type="jetbrains-cmake-conf">
        <parameters>
          <param name="teamcity.build.workingDir" value="build/msvc/release" />
          <param name="teamcity.step.mode" value="default" />
          <param name="ui-jetbrains-cmake-conf-additional-cmd-params" value="-DCMAKE_INSTALL_PREFIX=../../tmprel" />
          <param name="ui-jetbrains-cmake-conf-cmake-build-type" value="Release" />
          <param name="ui-jetbrains-cmake-conf-developer-warnings" value="true" />
          <param name="ui-jetbrains-cmake-conf-makefile-generator" value="Visual Studio 10" />
          <param name="ui-jetbrains-cmake-conf-redirect-stderr" value="true" />
          <param name="ui-jetbrains-cmake-conf-source-path" value="../../.." />
        </parameters>
      </runner>
      <runner id="RUNNER_184" name="Building a MSVC release version" type="simpleRunner">
        <parameters>
          <param name="script.content" value="cmake --build . --config Release --target install" />
          <param name="teamcity.build.workingDir" value="build/msvc/release" />
          <param name="teamcity.step.mode" value="default" />
          <param name="use.custom.script" value="true" />
        </parameters>
      </runner>

The same cmake configuration I'm using with MinGW Makefiles generator and it's work fine. Maybe because Visual Studio output log is much bigger that MinGW it's killing runner.

Plugin version: 8.1-6

VladRassokhin commented 9 years ago

Sorry for late answer. If possible, could you please send me VS output log to my email? I'll investigate this performance problem

masonstallmo commented 7 years ago

Has there been any progress on this issue? I'm seeing similar behavior with version 9.1.3 and Visual Studio 2015. On the ClCompile the build seems to hang for a significant amount of time (~30 min). Our CMake builds running on teamcity take 4x longer than when run on one of our dev machines.