diff options
author | Fred Baksik <fdk17@ftml.net> | 2020-10-26 17:28:54 (GMT) |
---|---|---|
committer | Fred Baksik <fdk17@ftml.net> | 2020-10-26 17:28:54 (GMT) |
commit | e794509faa4ca430072539e0ab5046fca4cd0028 (patch) | |
tree | 77ec96504b72cb176d5f95d6b640c37837b61435 | |
parent | b3f1a292266099865e0896be9fd0d40803bda7e0 (diff) | |
download | CMake-e794509faa4ca430072539e0ab5046fca4cd0028.zip CMake-e794509faa4ca430072539e0ab5046fca4cd0028.tar.gz CMake-e794509faa4ca430072539e0ab5046fca4cd0028.tar.bz2 |
XCode: Use -j build option when job capacity is specified by user
Fixes: #18304
-rw-r--r-- | Source/cmGlobalXCodeGenerator.cxx | 11 | ||||
-rw-r--r-- | Tests/RunCMake/CommandLine/RunCMakeTest.cmake | 4 |
2 files changed, 7 insertions, 8 deletions
diff --git a/Source/cmGlobalXCodeGenerator.cxx b/Source/cmGlobalXCodeGenerator.cxx index 952a179..c27bafe 100644 --- a/Source/cmGlobalXCodeGenerator.cxx +++ b/Source/cmGlobalXCodeGenerator.cxx @@ -503,16 +503,15 @@ cmGlobalXCodeGenerator::GenerateBuildCommand( } } - if (this->XcodeBuildSystem >= BuildSystem::Twelve) { + if ((this->XcodeBuildSystem >= BuildSystem::Twelve) || + (jobs != cmake::NO_BUILD_PARALLEL_LEVEL)) { makeCommand.Add("-parallelizeTargets"); } makeCommand.Add("-configuration", (config.empty() ? "Debug" : config)); - if (jobs != cmake::NO_BUILD_PARALLEL_LEVEL) { - makeCommand.Add("-jobs"); - if (jobs != cmake::DEFAULT_BUILD_PARALLEL_LEVEL) { - makeCommand.Add(std::to_string(jobs)); - } + if ((jobs != cmake::NO_BUILD_PARALLEL_LEVEL) && + (jobs != cmake::DEFAULT_BUILD_PARALLEL_LEVEL)) { + makeCommand.Add("-jobs", std::to_string(jobs)); } if (this->XcodeVersion >= 70) { diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake index 76ca898..b9c5aa2 100644 --- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake +++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake @@ -201,8 +201,8 @@ function(run_BuildDir) run_cmake_command(BuildDir--build--parallel-large ${CMAKE_COMMAND} -E chdir .. ${CMAKE_COMMAND} --build BuildDir-build --parallel 4294967293) - # No default jobs for Xcode and FreeBSD build command - if(NOT RunCMake_GENERATOR MATCHES "Xcode" AND NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + # No default jobs for FreeBSD build command + if(NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD") run_cmake_command(BuildDir--build-jobs-no-number ${CMAKE_COMMAND} -E chdir .. ${CMAKE_COMMAND} --build BuildDir-build -j) run_cmake_command(BuildDir--build-jobs-no-number-trailing--target ${CMAKE_COMMAND} -E chdir .. |