On Mon, May 13, 2019 at 1:05 PM Dustyn Blasig <dus...@blasig.us> wrote:
> Hi All, > > I'm trying to switch from devenv to msbuild on the command line so we can > use the /m parallel build option. On devenv, I just build the ALL_BUILD > target and it builds properly. However, on msbuild, there are two issues. > > 1. If I specify the ALL_BUILD target on the command line directly, I get > the following errors. (... used to remove large paths) > > *c:\tmp\...>msbuild c:\tmp\...\mysolution.sln /t:ALL_BUILD > /p:Configuration=Release /m || goto :ERROR > *Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework > Copyright (C) Microsoft Corporation. All rights reserved. > > Build started 5/10/2019 1:01:52 PM. > 1>Project "c:\tmp\...\mysolution.sln" on node 1 (ALL_BUILD target(s)). > 1>ValidateSolutionConfiguration: > Building solution configuration "Release|x64". > ValidateProjects: > The project "ALL_BUILD" is not selected for building in solution > configuration "Release|x64". > The project "Continuous" is not selected for building in solution > configuration "Release|x64". > The project "Experimental" is not selected for building in solution > configuration "Release|x64". > The project "Nightly" is not selected for building in solution > configuration "Release|x64". > The project "NightlyMemoryCheck" is not selected for building in > solution configuration "Release|x64". > The project "RUN_TESTS" is not selected for building in solution > configuration "Release|x64". > > ... > 1>Project "c:\tmp\...\mysolution.sln" (1) is building > "...\myproj.vcxproj.metaproj" (2) on node 1 (ALL_BUILD target(s)).* > 2>Project "c:\tmp\...\myproj.vcxproj.metaproj" (2) is building > "c:\tmp\...\ZERO_CHECK.vcxproj" (54) on node 2 (ALL_BUILD target(s)). > * 54>c:\tmp\...\ZERO_CHECK.vcxproj : error MSB4057: The target "ALL_BUILD" > does not exist in the project. > 54>Done Building Project "c:\tmp\...\ZERO_CHECK.vcxproj" (ALL_BUILD > target(s)) -- FAILED. > 2>Done Building Project "c:\tmp\...\myproj.vcxproj.metaproj" (ALL_BUILD > target(s)) -- FAILED. > 1>Done Building Project "c:\tmp\...\mysolution.sln" (ALL_BUILD > target(s)) -- FAILED. > > Build FAILED. > > "c:\tmp\...\mysolution.sln" (ALL_BUILD target) (1) -> > "c:\tmp\...\myproj.vcxproj.metaproj" (ALL_BUILD target) (2) -> > "c:\tmp\...\ZERO_CHECK.vcxproj" (ALL_BUILD target) (54) -> > c:\tmp\...\ZERO_CHECK.vcxproj : error MSB4057: The target > "ALL_BUILD" does not exist in the project. > > 0 Warning(s) > 1 Error(s) > > > What is different with the ALL_BUILD target between msbuild and devenv? I > must be calling things improperly on the command line, but I'm not sure > what. > > 2. If I instead leave ALL_BUILD off and just let it build the defaults, it > gets further, but it also trys to build targets that are not enabled with > the "all" target by default like our unit tests which we add through a > hierarchy of targets like "run_tests_...". > > *c:\tmp\...>msbuild c:\tmp\...\mysolution.sln /p:Configuration=Release /m || > goto :ERROR > * > > > Should calling msbuild on just the solution build only the "all" target by > default, or does mbuild just build everything in the solution ignoring the > "all" target stuff? > > Thanks! > -- > Personally I've just always used CMake to construct the command line by using: cmake --build . --config Release -j Which constructs the command: msbuild ALL_BUILD.vcxproj /p:Configuration=Release /m I've been told that CMake targets do not translate to the targets usable by the /target switch. -- F
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: https://cmake.org/mailman/listinfo/cmake