4
4
#include " environment/EnvironmentPaths.h"
5
5
#include " tasks/ShellExecTask.h"
6
6
#include " utils/Copyright.h"
7
- #include " utils/FileSystemUtils.h"
8
7
#include " utils/ExecUtils.h"
8
+ #include " utils/FileSystemUtils.h"
9
9
#include " utils/LogUtils.h"
10
10
#include " utils/MakefileUtils.h"
11
11
#include " utils/StringUtils.h"
@@ -32,6 +32,19 @@ Status UserProjectConfiguration::RunBuildDirectoryCreation(const fs::path &build
32
32
return Status::OK;
33
33
}
34
34
35
+ static const std::vector<std::string> CMAKE_MANDATORY_OPTIONS = {
36
+ " -DCMAKE_ASM_USE_RESPONSE_FILE_FOR_INCLUDES=OFF" ,
37
+ " -DCMAKE_C_USE_RESPONSE_FILE_FOR_INCLUDES=OFF" ,
38
+ " -DCMAKE_CXX_USE_RESPONSE_FILE_FOR_INCLUDES=OFF" ,
39
+
40
+ " -DCMAKE_ASM_USE_RESPONSE_FILE_FOR_OBJECTS=OFF" ,
41
+ " -DCMAKE_C_USE_RESPONSE_FILE_FOR_OBJECTS=OFF" ,
42
+ " -DCMAKE_CXX_USE_RESPONSE_FILE_FOR_OBJECTS=OFF" ,
43
+
44
+ " -DCMAKE_ASM_USE_RESPONSE_FILE_FOR_LIBRARIES=OFF" ,
45
+ " -DCMAKE_C_USE_RESPONSE_FILE_FOR_LIBRARIES=OFF" ,
46
+ " -DCMAKE_CXX_USE_RESPONSE_FILE_FOR_LIBRARIES=OFF" ,
47
+ };
35
48
36
49
Status
37
50
UserProjectConfiguration::RunProjectConfigurationCommands (const fs::path &buildDirPath,
@@ -40,8 +53,16 @@ UserProjectConfiguration::RunProjectConfigurationCommands(const fs::path &buildD
40
53
ProjectConfigWriter const &writer) {
41
54
try {
42
55
fs::path bearShPath = createBearShScript (buildDirPath);
43
- cmakeOptions.emplace_back (" .." );
44
- ShellExecTask::ExecutionParameters cmakeParams (Paths::getCMake (), cmakeOptions);
56
+
57
+ std::vector<std::string> cmakeOptionsWithMandatory = CMAKE_MANDATORY_OPTIONS;
58
+ for (const std::string &op : cmakeOptions) {
59
+ if (op.find (" _USE_RESPONSE_FILE_FOR_" ) == std::string::npos) {
60
+ cmakeOptionsWithMandatory.emplace_back (op);
61
+ }
62
+ }
63
+ cmakeOptionsWithMandatory.emplace_back (" .." );
64
+
65
+ ShellExecTask::ExecutionParameters cmakeParams (Paths::getCMake (), cmakeOptionsWithMandatory);
45
66
ShellExecTask::ExecutionParameters bearMakeParams (Paths::getBear (),
46
67
{Paths::getMake (), MakefileUtils::threadFlag ()});
47
68
0 commit comments