|
@@ -888,26 +888,31 @@ void cmQtAutoGeneratorInitializer::SetupAutoGenerateTarget(
|
|
|
RccSetupAutoTarget(target);
|
|
RccSetupAutoTarget(target);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // Generate config file
|
|
|
std::string inputFile = cmSystemTools::GetCMakeRoot();
|
|
std::string inputFile = cmSystemTools::GetCMakeRoot();
|
|
|
inputFile += "/Modules/AutogenInfo.cmake.in";
|
|
inputFile += "/Modules/AutogenInfo.cmake.in";
|
|
|
std::string outputFile = GetAutogenTargetFilesDir(target);
|
|
std::string outputFile = GetAutogenTargetFilesDir(target);
|
|
|
outputFile += "/AutogenInfo.cmake";
|
|
outputFile += "/AutogenInfo.cmake";
|
|
|
|
|
+
|
|
|
makefile->ConfigureFile(inputFile.c_str(), outputFile.c_str(), false, true,
|
|
makefile->ConfigureFile(inputFile.c_str(), outputFile.c_str(), false, true,
|
|
|
false);
|
|
false);
|
|
|
|
|
|
|
|
- // Ensure we have write permission in case .in was read-only.
|
|
|
|
|
- mode_t perm = 0;
|
|
|
|
|
|
|
+ // Append custom definitions to config file
|
|
|
|
|
+ if (!configMocDefines.empty() || !configMocIncludes.empty() ||
|
|
|
|
|
+ !configUicOptions.empty()) {
|
|
|
|
|
+
|
|
|
|
|
+ // Ensure we have write permission in case .in was read-only.
|
|
|
|
|
+ mode_t perm = 0;
|
|
|
#if defined(_WIN32) && !defined(__CYGWIN__)
|
|
#if defined(_WIN32) && !defined(__CYGWIN__)
|
|
|
- mode_t mode_write = S_IWRITE;
|
|
|
|
|
|
|
+ mode_t mode_write = S_IWRITE;
|
|
|
#else
|
|
#else
|
|
|
- mode_t mode_write = S_IWUSR;
|
|
|
|
|
|
|
+ mode_t mode_write = S_IWUSR;
|
|
|
#endif
|
|
#endif
|
|
|
- cmSystemTools::GetPermissions(outputFile, perm);
|
|
|
|
|
- if (!(perm & mode_write)) {
|
|
|
|
|
- cmSystemTools::SetPermissions(outputFile, perm | mode_write);
|
|
|
|
|
- }
|
|
|
|
|
- if (!configMocDefines.empty() || !configMocIncludes.empty() ||
|
|
|
|
|
- !configUicOptions.empty()) {
|
|
|
|
|
|
|
+ cmSystemTools::GetPermissions(outputFile, perm);
|
|
|
|
|
+ if (!(perm & mode_write)) {
|
|
|
|
|
+ cmSystemTools::SetPermissions(outputFile, perm | mode_write);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
cmsys::ofstream infoFile(outputFile.c_str(), std::ios::app);
|
|
cmsys::ofstream infoFile(outputFile.c_str(), std::ios::app);
|
|
|
if (!infoFile) {
|
|
if (!infoFile) {
|
|
|
std::string error = "Internal CMake error when trying to open file: ";
|
|
std::string error = "Internal CMake error when trying to open file: ";
|