diff options
author | Sam Freed <safreed@microsoft.com> | 2021-06-07 16:38:05 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2021-06-08 11:49:50 (GMT) |
commit | de2b14a7117be203544f3014d2a0a9cac93f9a1e (patch) | |
tree | 9afb355ca40aea4d1f93b39a419c337cffe17012 | |
parent | efe7ac9022b18132d33c68919c81422d738cd672 (diff) | |
parent | 534c40e6d8801853c19435a8c2d732ca2b01b606 (diff) | |
download | CMake-de2b14a7117be203544f3014d2a0a9cac93f9a1e.zip CMake-de2b14a7117be203544f3014d2a0a9cac93f9a1e.tar.gz CMake-de2b14a7117be203544f3014d2a0a9cac93f9a1e.tar.bz2 |
Merge branch 'backport-3.20-presets-build-fixes' into presets-build-fixes
-rw-r--r-- | Source/cmake.cxx | 4 | ||||
-rw-r--r-- | Tests/RunCMake/CMakeLists.txt | 16 | ||||
-rw-r--r-- | Tests/RunCMake/CMakePresetsBuild/Good.json.in | 2 | ||||
-rw-r--r-- | Tests/RunCMake/CMakePresetsBuild/RunCMakeTest.cmake | 8 |
4 files changed, 25 insertions, 5 deletions
diff --git a/Source/cmake.cxx b/Source/cmake.cxx index 840a9d9..33455c3 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -3263,7 +3263,9 @@ int cmake::Build(int jobs, std::string dir, std::vector<std::string> targets, this->UnprocessedPresetEnvironment = expandedPreset->Environment; this->ProcessPresetEnvironment(); - if (jobs == cmake::DEFAULT_BUILD_PARALLEL_LEVEL && expandedPreset->Jobs) { + if ((jobs == cmake::DEFAULT_BUILD_PARALLEL_LEVEL || + jobs == cmake::NO_BUILD_PARALLEL_LEVEL) && + expandedPreset->Jobs) { jobs = *expandedPreset->Jobs; } diff --git a/Tests/RunCMake/CMakeLists.txt b/Tests/RunCMake/CMakeLists.txt index d02d7a2..be315cb 100644 --- a/Tests/RunCMake/CMakeLists.txt +++ b/Tests/RunCMake/CMakeLists.txt @@ -836,9 +836,19 @@ add_RunCMake_test(PrecompileHeaders -DCMAKE_C_COMPILER_ID=${CMAKE_C_COMPILER_ID} -DCMAKE_C_COMPILER_VERSION=${CMAKE_C_COMPILER_VERSION}) add_RunCMake_test("UnityBuild") -add_RunCMake_test(CMakePresets -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} -DCMake_TEST_JSON_SCHEMA=${CMake_TEST_JSON_SCHEMA}) -add_RunCMake_test(CMakePresetsBuild -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} -DCMake_TEST_JSON_SCHEMA=${CMake_TEST_JSON_SCHEMA}) -add_RunCMake_test(CMakePresetsTest -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} -DCMake_TEST_JSON_SCHEMA=${CMake_TEST_JSON_SCHEMA}) +add_RunCMake_test(CMakePresets + -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} + -DCMake_TEST_JSON_SCHEMA=${CMake_TEST_JSON_SCHEMA} + ) +add_RunCMake_test(CMakePresetsBuild + -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} + -DCMake_TEST_JSON_SCHEMA=${CMake_TEST_JSON_SCHEMA} + -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME} + ) +add_RunCMake_test(CMakePresetsTest + -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE} + -DCMake_TEST_JSON_SCHEMA=${CMake_TEST_JSON_SCHEMA} + ) if(${CMAKE_GENERATOR} MATCHES "Make|Ninja") add_RunCMake_test(TransformDepfile) diff --git a/Tests/RunCMake/CMakePresetsBuild/Good.json.in b/Tests/RunCMake/CMakePresetsBuild/Good.json.in index 3d0b838..c7f318c 100644 --- a/Tests/RunCMake/CMakePresetsBuild/Good.json.in +++ b/Tests/RunCMake/CMakePresetsBuild/Good.json.in @@ -30,7 +30,7 @@ "description": "", "inheritConfigureEnvironment": true, "environment": {}, - "jobs": 0, + @Good_json_jobs@ "targets": [], "configuration": "", "verbose": true, diff --git a/Tests/RunCMake/CMakePresetsBuild/RunCMakeTest.cmake b/Tests/RunCMake/CMakePresetsBuild/RunCMakeTest.cmake index 2c8d1a0..b37c770 100644 --- a/Tests/RunCMake/CMakePresetsBuild/RunCMakeTest.cmake +++ b/Tests/RunCMake/CMakePresetsBuild/RunCMakeTest.cmake @@ -62,6 +62,14 @@ endfunction() set(CMakePresets_SCHEMA_EXPECTED_RESULT 0) +if(RunCMake_GENERATOR MATCHES "NMake|Borland|Watcom") + set(Good_json_jobs [[]]) +elseif(RunCMake_GENERATOR MATCHES "Make" AND CMAKE_SYSTEM_NAME MATCHES "FreeBSD") + set(Good_json_jobs [["jobs": 1,]]) +else() + set(Good_json_jobs [["jobs": 0,]]) +endif() + run_cmake_build_presets(Good "default;other" "build-other;withEnvironment;noEnvironment;macros;vendorObject;singleTarget") run_cmake_build_presets(InvalidConfigurePreset "default" "badConfigurePreset") run_cmake_build_presets(Condition "default" "enabled;disabled") |