[Cmake-commits] CMake branch, master, updated. v3.10.1-681-g258e6f1
Kitware Robot
kwrobot at kitware.com
Thu Dec 21 08:05:07 EST 2017
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, master has been updated
via 258e6f1b1e1d20bc48a5892f5d9d339269fa2704 (commit)
via 414843599339259c6525ccc11127d8738cb83578 (commit)
via 3ba57ddf895019b378ef0f20716e40e001d67f90 (commit)
via d0390f8be0a640942892b1dda114f472ff5e0218 (commit)
via 228468cf3e1c600e49a581a59e9f998be2c03f11 (commit)
via 70fba77b2614a064640a6e8f68803a3b349740ea (commit)
via 1edfb2c47a2a48e111d7f060184c3e618a712ea4 (commit)
via 20eef60869c93297cedf45414903691954a9860b (commit)
via 099a4ea50c4fbe5fe13cf6fa4abcf970c49e787c (commit)
via 66c0b36d75e16d4b62022b498df06440a843fdd6 (commit)
via 8ef14467e4622f8f923f2a05a90c8fa0e12f76f9 (commit)
via cfe4e2db1fd609fea5da355cd61e0b77e185f258 (commit)
via a9c42e3ec09fa9cdf308344d12b0cc8c2e44d905 (commit)
via c095e2ad540edee8521b891f0eba9ebeb3ce5ac3 (commit)
via fcf32645946ae46219e91b9f6e87e42fb0574f9e (commit)
via 739ae1d090094eea6fc545d4d1567b7db9f9683c (commit)
from 08d574e9d7b17971468aa0399d950edb147b57ca (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=258e6f1b1e1d20bc48a5892f5d9d339269fa2704
commit 258e6f1b1e1d20bc48a5892f5d9d339269fa2704
Merge: 4148435 20eef60
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Dec 21 13:02:05 2017 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Dec 21 08:02:09 2017 -0500
Merge topic 'copyright-year'
20eef608 Copyright.txt: Update year range to end in 2018
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !1613
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=414843599339259c6525ccc11127d8738cb83578
commit 414843599339259c6525ccc11127d8738cb83578
Merge: 3ba57dd 739ae1d
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Dec 21 13:01:27 2017 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Dec 21 08:01:34 2017 -0500
Merge topic 'cpackifw-package-remove-target-dir'
739ae1d0 CPack/IFW: Add option to control deletion of the install directory
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !1591
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3ba57ddf895019b378ef0f20716e40e001d67f90
commit 3ba57ddf895019b378ef0f20716e40e001d67f90
Merge: d0390f8 cfe4e2d
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Dec 21 12:59:48 2017 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Dec 21 07:59:51 2017 -0500
Merge topic 'use-override'
cfe4e2db VS: Use 'override' keyword for overridden methods in generator classes
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !1601
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d0390f8be0a640942892b1dda114f472ff5e0218
commit d0390f8be0a640942892b1dda114f472ff5e0218
Merge: 228468c 099a4ea
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Dec 21 12:59:23 2017 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Dec 21 07:59:26 2017 -0500
Merge topic 'cmake_symlink_library-slashes'
099a4ea5 cmcmd: Fix cmake_symlink_library for inconsistent slashes
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !1612
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=228468cf3e1c600e49a581a59e9f998be2c03f11
commit 228468cf3e1c600e49a581a59e9f998be2c03f11
Merge: 70fba77 66c0b36
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Dec 21 12:58:42 2017 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Dec 21 07:58:48 2017 -0500
Merge topic 'objlib-dedup'
66c0b36d objlib: fix unchecked insertions in `cmGeneratorTarget::GetLanguages`
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !1609
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=70fba77b2614a064640a6e8f68803a3b349740ea
commit 70fba77b2614a064640a6e8f68803a3b349740ea
Merge: 1edfb2c a9c42e3
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Dec 21 12:58:05 2017 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Dec 21 07:58:10 2017 -0500
Merge topic 'FindBLAS-modernize'
a9c42e3e FindBLAS: optionally query pkg-config for a library
c095e2ad FindBLAS: simplify if()
fcf32645 FindBLAS: use FPHSA
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !1599
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1edfb2c47a2a48e111d7f060184c3e618a712ea4
commit 1edfb2c47a2a48e111d7f060184c3e618a712ea4
Merge: 08d574e 8ef1446
Author: Brad King <brad.king at kitware.com>
AuthorDate: Thu Dec 21 12:57:26 2017 +0000
Commit: Kitware Robot <kwrobot at kitware.com>
CommitDate: Thu Dec 21 07:57:30 2017 -0500
Merge topic 'solaris_warning_single'
8ef14467 Solaris: Fix shadowed declaration warning
Acked-by: Kitware Robot <kwrobot at kitware.com>
Merge-request: !1611
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=20eef60869c93297cedf45414903691954a9860b
commit 20eef60869c93297cedf45414903691954a9860b
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Dec 20 13:19:31 2017 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Dec 20 13:19:31 2017 -0500
Copyright.txt: Update year range to end in 2018
diff --git a/Copyright.txt b/Copyright.txt
index 3c92a81..660455f 100644
--- a/Copyright.txt
+++ b/Copyright.txt
@@ -1,5 +1,5 @@
CMake - Cross Platform Makefile Generator
-Copyright 2000-2017 Kitware, Inc. and Contributors
+Copyright 2000-2018 Kitware, Inc. and Contributors
All rights reserved.
Redistribution and use in source and binary forms, with or without
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=099a4ea50c4fbe5fe13cf6fa4abcf970c49e787c
commit 099a4ea50c4fbe5fe13cf6fa4abcf970c49e787c
Author: Brad King <brad.king at kitware.com>
AuthorDate: Wed Dec 20 11:35:09 2017 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Wed Dec 20 11:35:09 2017 -0500
cmcmd: Fix cmake_symlink_library for inconsistent slashes
With the Ninja generator we may invoke `cmake_symlink_library` with
different slash conventions (`/` versus `\`) for different arguments.
Fix comparison of the paths/names given to tolerate this.
Fixes: #17579
diff --git a/Source/cmcmd.cxx b/Source/cmcmd.cxx
index b78fbe6..f660f43 100644
--- a/Source/cmcmd.cxx
+++ b/Source/cmcmd.cxx
@@ -1237,9 +1237,12 @@ int cmcmd::HashSumFile(std::vector<std::string>& args, cmCryptoHash::Algo algo)
int cmcmd::SymlinkLibrary(std::vector<std::string>& args)
{
int result = 0;
- std::string const& realName = args[2];
- std::string const& soName = args[3];
- std::string const& name = args[4];
+ std::string realName = args[2];
+ std::string soName = args[3];
+ std::string name = args[4];
+ cmSystemTools::ConvertToUnixSlashes(realName);
+ cmSystemTools::ConvertToUnixSlashes(soName);
+ cmSystemTools::ConvertToUnixSlashes(name);
if (soName != realName) {
if (!cmcmd::SymlinkInternal(realName, soName)) {
cmSystemTools::ReportLastSystemError("cmake_symlink_library");
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=66c0b36d75e16d4b62022b498df06440a843fdd6
commit 66c0b36d75e16d4b62022b498df06440a843fdd6
Author: Pavel Solodovnikov <pa.solodovnikov at tensor.ru>
AuthorDate: Wed Dec 20 11:18:11 2017 +0300
Commit: Pavel Solodovnikov <pa.solodovnikov at tensor.ru>
CommitDate: Wed Dec 20 17:37:15 2017 +0300
objlib: fix unchecked insertions in `cmGeneratorTarget::GetLanguages`
diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx
index 103d034..2cf53cc 100644
--- a/Source/cmGeneratorTarget.cxx
+++ b/Source/cmGeneratorTarget.cxx
@@ -5133,7 +5133,12 @@ void cmGeneratorTarget::GetLanguages(std::set<std::string>& languages,
std::string objLib = extObj->GetObjectLibrary();
if (cmGeneratorTarget* tgt =
this->LocalGenerator->FindGeneratorTargetToUse(objLib)) {
- objectLibraries.push_back(tgt);
+ auto const objLibIt =
+ std::find_if(objectLibraries.cbegin(), objectLibraries.cend(),
+ [tgt](cmGeneratorTarget* t) { return t == tgt; });
+ if (objectLibraries.cend() == objLibIt) {
+ objectLibraries.push_back(tgt);
+ }
}
}
}
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=8ef14467e4622f8f923f2a05a90c8fa0e12f76f9
commit 8ef14467e4622f8f923f2a05a90c8fa0e12f76f9
Author: Craig Scott <craig.scott at crascit.com>
AuthorDate: Wed Dec 20 21:49:47 2017 +1100
Commit: Craig Scott <craig.scott at crascit.com>
CommitDate: Wed Dec 20 21:49:47 2017 +1100
Solaris: Fix shadowed declaration warning
"single" is a type declared in /usr/include/floatingpoint.h on Solaris,
so the local variable of the same name in cmParseArgumentsCommand.cxx
was triggering a compiler warning about the local variable shadowing
the type.
diff --git a/Source/cmParseArgumentsCommand.cxx b/Source/cmParseArgumentsCommand.cxx
index 0922e6e..9a5b097 100644
--- a/Source/cmParseArgumentsCommand.cxx
+++ b/Source/cmParseArgumentsCommand.cxx
@@ -71,8 +71,8 @@ bool cmParseArgumentsCommand::InitialPass(std::vector<std::string> const& args,
typedef std::map<std::string, std::string> single_map;
typedef std::map<std::string, std::vector<std::string>> multi_map;
options_map options;
- single_map single;
- multi_map multi;
+ single_map singleValArgs;
+ multi_map multiValArgs;
// anything else is put into a vector of unparsed strings
std::vector<std::string> unparsed;
@@ -98,7 +98,7 @@ bool cmParseArgumentsCommand::InitialPass(std::vector<std::string> const& args,
if (!used_keywords.insert(iter).second) {
this->GetMakefile()->IssueMessage(cmake::WARNING, dup_warning + iter);
}
- single[iter]; // default initialize
+ singleValArgs[iter]; // default initialize
}
// the fourth argument is a (cmake) list of multi argument options
@@ -108,7 +108,7 @@ bool cmParseArgumentsCommand::InitialPass(std::vector<std::string> const& args,
if (!used_keywords.insert(iter).second) {
this->GetMakefile()->IssueMessage(cmake::WARNING, dup_warning + iter);
}
- multi[iter]; // default initialize
+ multiValArgs[iter]; // default initialize
}
enum insideValues
@@ -161,15 +161,15 @@ bool cmParseArgumentsCommand::InitialPass(std::vector<std::string> const& args,
continue;
}
- const single_map::iterator singleIter = single.find(arg);
- if (singleIter != single.end()) {
+ const single_map::iterator singleIter = singleValArgs.find(arg);
+ if (singleIter != singleValArgs.end()) {
insideValues = SINGLE;
currentArgName = arg;
continue;
}
- const multi_map::iterator multiIter = multi.find(arg);
- if (multiIter != multi.end()) {
+ const multi_map::iterator multiIter = multiValArgs.find(arg);
+ if (multiIter != multiValArgs.end()) {
insideValues = MULTI;
currentArgName = arg;
continue;
@@ -177,14 +177,14 @@ bool cmParseArgumentsCommand::InitialPass(std::vector<std::string> const& args,
switch (insideValues) {
case SINGLE:
- single[currentArgName] = arg;
+ singleValArgs[currentArgName] = arg;
insideValues = NONE;
break;
case MULTI:
if (parseFromArgV) {
- multi[currentArgName].push_back(escape_arg(arg));
+ multiValArgs[currentArgName].push_back(escape_arg(arg));
} else {
- multi[currentArgName].push_back(arg);
+ multiValArgs[currentArgName].push_back(arg);
}
break;
default:
@@ -204,7 +204,7 @@ bool cmParseArgumentsCommand::InitialPass(std::vector<std::string> const& args,
this->Makefile->AddDefinition(prefix + iter.first,
iter.second ? "TRUE" : "FALSE");
}
- for (auto const& iter : single) {
+ for (auto const& iter : singleValArgs) {
if (!iter.second.empty()) {
this->Makefile->AddDefinition(prefix + iter.first, iter.second.c_str());
} else {
@@ -212,7 +212,7 @@ bool cmParseArgumentsCommand::InitialPass(std::vector<std::string> const& args,
}
}
- for (auto const& iter : multi) {
+ for (auto const& iter : multiValArgs) {
if (!iter.second.empty()) {
this->Makefile->AddDefinition(
prefix + iter.first, cmJoin(cmMakeRange(iter.second), ";").c_str());
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=cfe4e2db1fd609fea5da355cd61e0b77e185f258
commit cfe4e2db1fd609fea5da355cd61e0b77e185f258
Author: Vitaly Stakhovsky <vvs31415 at gitlab.org>
AuthorDate: Fri Dec 15 21:17:49 2017 -0500
Commit: Vitaly Stakhovsky <vvs31415 at gitlab.org>
CommitDate: Fri Dec 15 21:17:49 2017 -0500
VS: Use 'override' keyword for overridden methods in generator classes
The corresponding 'virtual' removed.
diff --git a/Source/cmGlobalVisualStudio10Generator.h b/Source/cmGlobalVisualStudio10Generator.h
index fc21193..f2501c2 100644
--- a/Source/cmGlobalVisualStudio10Generator.h
+++ b/Source/cmGlobalVisualStudio10Generator.h
@@ -18,29 +18,31 @@ public:
const std::string& platformName);
static cmGlobalGeneratorFactory* NewFactory();
- virtual bool MatchesGeneratorName(const std::string& name) const;
+ bool MatchesGeneratorName(const std::string& name) const override;
- virtual bool SetSystemName(std::string const& s, cmMakefile* mf);
- virtual bool SetGeneratorPlatform(std::string const& p, cmMakefile* mf);
- virtual bool SetGeneratorToolset(std::string const& ts, cmMakefile* mf);
+ bool SetSystemName(std::string const& s, cmMakefile* mf) override;
+ bool SetGeneratorPlatform(std::string const& p, cmMakefile* mf) override;
+ bool SetGeneratorToolset(std::string const& ts, cmMakefile* mf) override;
- virtual void GenerateBuildCommand(
- std::vector<std::string>& makeCommand, const std::string& makeProgram,
- const std::string& projectName, const std::string& projectDir,
- const std::string& targetName, const std::string& config, bool fast,
- bool verbose,
- std::vector<std::string> const& makeOptions = std::vector<std::string>());
+ void GenerateBuildCommand(std::vector<std::string>& makeCommand,
+ const std::string& makeProgram,
+ const std::string& projectName,
+ const std::string& projectDir,
+ const std::string& targetName,
+ const std::string& config, bool fast, bool verbose,
+ std::vector<std::string> const& makeOptions =
+ std::vector<std::string>()) override;
///! create the correct local generator
- virtual cmLocalGenerator* CreateLocalGenerator(cmMakefile* mf);
+ cmLocalGenerator* CreateLocalGenerator(cmMakefile* mf) override;
/**
* Try to determine system information such as shared library
* extension, pthreads, byte order etc.
*/
- virtual void EnableLanguage(std::vector<std::string> const& languages,
- cmMakefile*, bool optional);
- virtual void WriteSLNHeader(std::ostream& fout);
+ void EnableLanguage(std::vector<std::string> const& languages, cmMakefile*,
+ bool optional) override;
+ void WriteSLNHeader(std::ostream& fout) override;
bool IsCudaEnabled() const { return this->CudaEnabled; }
@@ -87,11 +89,11 @@ public:
/** Return true if building for WindowsStore */
bool TargetsWindowsStore() const { return this->SystemIsWindowsStore; }
- virtual const char* GetCMakeCFGIntDir() const { return "$(Configuration)"; }
+ const char* GetCMakeCFGIntDir() const override { return "$(Configuration)"; }
bool Find64BitTools(cmMakefile* mf);
/** Generate an <output>.rule file path for a given command output. */
- virtual std::string GenerateRuleFile(std::string const& output) const;
+ std::string GenerateRuleFile(std::string const& output) const override;
void PathTooLong(cmGeneratorTarget* target, cmSourceFile const* sf,
std::string const& sfRel);
@@ -114,7 +116,7 @@ public:
cmIDEFlagTable const* GetNasmFlagTable() const;
protected:
- virtual void Generate();
+ void Generate() override;
virtual bool InitializeSystem(cmMakefile* mf);
virtual bool InitializeWindows(cmMakefile* mf);
virtual bool InitializeWindowsCE(cmMakefile* mf);
@@ -128,7 +130,7 @@ protected:
virtual bool SelectWindowsPhoneToolset(std::string& toolset) const;
virtual bool SelectWindowsStoreToolset(std::string& toolset) const;
- virtual const char* GetIDEVersion() { return "10.0"; }
+ const char* GetIDEVersion() override { return "10.0"; }
std::string const& GetMSBuildCommand();
@@ -174,8 +176,8 @@ private:
bool MSBuildCommandInitialized;
cmVisualStudio10ToolsetOptions ToolsetOptions;
virtual std::string FindMSBuildCommand();
- virtual std::string FindDevEnvCommand();
- virtual std::string GetVSMakeProgram() { return this->GetMSBuildCommand(); }
+ std::string FindDevEnvCommand() override;
+ std::string GetVSMakeProgram() override { return this->GetMSBuildCommand(); }
bool PlatformToolsetNeedsDebugEnum;
@@ -187,6 +189,6 @@ private:
bool CudaEnabled;
// We do not use the reload macros for VS >= 10.
- virtual std::string GetUserMacrosDirectory() { return ""; }
+ std::string GetUserMacrosDirectory() override { return ""; }
};
#endif
diff --git a/Source/cmGlobalVisualStudio11Generator.h b/Source/cmGlobalVisualStudio11Generator.h
index 8b75aad..40f02fb 100644
--- a/Source/cmGlobalVisualStudio11Generator.h
+++ b/Source/cmGlobalVisualStudio11Generator.h
@@ -24,15 +24,15 @@ public:
const std::string& platformName);
static cmGlobalGeneratorFactory* NewFactory();
- virtual bool MatchesGeneratorName(const std::string& name) const;
+ bool MatchesGeneratorName(const std::string& name) const override;
- virtual void WriteSLNHeader(std::ostream& fout);
+ void WriteSLNHeader(std::ostream& fout) override;
protected:
- virtual bool InitializeWindowsPhone(cmMakefile* mf);
- virtual bool InitializeWindowsStore(cmMakefile* mf);
- virtual bool SelectWindowsPhoneToolset(std::string& toolset) const;
- virtual bool SelectWindowsStoreToolset(std::string& toolset) const;
+ bool InitializeWindowsPhone(cmMakefile* mf) override;
+ bool InitializeWindowsStore(cmMakefile* mf) override;
+ bool SelectWindowsPhoneToolset(std::string& toolset) const override;
+ bool SelectWindowsStoreToolset(std::string& toolset) const override;
// Used to verify that the Desktop toolset for the current generator is
// installed on the machine.
@@ -43,12 +43,12 @@ protected:
bool IsWindowsPhoneToolsetInstalled() const;
bool IsWindowsStoreToolsetInstalled() const;
- virtual const char* GetIDEVersion() { return "11.0"; }
+ const char* GetIDEVersion() override { return "11.0"; }
bool UseFolderProperty();
static std::set<std::string> GetInstalledWindowsCESDKs();
/** Return true if the configuration needs to be deployed */
- virtual bool NeedsDeploy(cmStateEnums::TargetType type) const;
+ bool NeedsDeploy(cmStateEnums::TargetType type) const override;
private:
class Factory;
diff --git a/Source/cmGlobalVisualStudio12Generator.h b/Source/cmGlobalVisualStudio12Generator.h
index 5ba21a6..c941809 100644
--- a/Source/cmGlobalVisualStudio12Generator.h
+++ b/Source/cmGlobalVisualStudio12Generator.h
@@ -22,32 +22,32 @@ public:
const std::string& platformName);
static cmGlobalGeneratorFactory* NewFactory();
- virtual bool MatchesGeneratorName(const std::string& name) const;
+ bool MatchesGeneratorName(const std::string& name) const override;
- virtual void WriteSLNHeader(std::ostream& fout);
+ void WriteSLNHeader(std::ostream& fout) override;
// in Visual Studio 2013 they detached the MSBuild tools version
// from the .Net Framework version and instead made it have it's own
// version number
- virtual const char* GetToolsVersion() { return "12.0"; }
+ const char* GetToolsVersion() override { return "12.0"; }
protected:
bool ProcessGeneratorToolsetField(std::string const& key,
std::string const& value) override;
- virtual bool InitializeWindowsPhone(cmMakefile* mf);
- virtual bool InitializeWindowsStore(cmMakefile* mf);
- virtual bool SelectWindowsPhoneToolset(std::string& toolset) const;
- virtual bool SelectWindowsStoreToolset(std::string& toolset) const;
+ bool InitializeWindowsPhone(cmMakefile* mf) override;
+ bool InitializeWindowsStore(cmMakefile* mf) override;
+ bool SelectWindowsPhoneToolset(std::string& toolset) const override;
+ bool SelectWindowsStoreToolset(std::string& toolset) const override;
// Used to verify that the Desktop toolset for the current generator is
// installed on the machine.
- virtual bool IsWindowsDesktopToolsetInstalled() const;
+ bool IsWindowsDesktopToolsetInstalled() const override;
// These aren't virtual because we need to check if the selected version
// of the toolset is installed
bool IsWindowsPhoneToolsetInstalled() const;
bool IsWindowsStoreToolsetInstalled() const;
- virtual const char* GetIDEVersion() { return "12.0"; }
+ const char* GetIDEVersion() override { return "12.0"; }
private:
class Factory;
};
diff --git a/Source/cmGlobalVisualStudio14Generator.h b/Source/cmGlobalVisualStudio14Generator.h
index 425fb22..d92a11a 100644
--- a/Source/cmGlobalVisualStudio14Generator.h
+++ b/Source/cmGlobalVisualStudio14Generator.h
@@ -22,26 +22,26 @@ public:
const std::string& platformName);
static cmGlobalGeneratorFactory* NewFactory();
- virtual bool MatchesGeneratorName(const std::string& name) const;
+ bool MatchesGeneratorName(const std::string& name) const override;
- virtual void WriteSLNHeader(std::ostream& fout);
+ void WriteSLNHeader(std::ostream& fout) override;
- virtual const char* GetToolsVersion() { return "14.0"; }
+ const char* GetToolsVersion() override { return "14.0"; }
protected:
- virtual bool InitializeWindows(cmMakefile* mf);
- virtual bool InitializeWindowsStore(cmMakefile* mf);
- virtual bool SelectWindowsStoreToolset(std::string& toolset) const;
+ bool InitializeWindows(cmMakefile* mf) override;
+ bool InitializeWindowsStore(cmMakefile* mf) override;
+ bool SelectWindowsStoreToolset(std::string& toolset) const override;
// These aren't virtual because we need to check if the selected version
// of the toolset is installed
bool IsWindowsStoreToolsetInstalled() const;
- virtual const char* GetIDEVersion() { return "14.0"; }
+ const char* GetIDEVersion() override { return "14.0"; }
virtual bool SelectWindows10SDK(cmMakefile* mf, bool required);
// Used to verify that the Desktop toolset for the current generator is
// installed on the machine.
- virtual bool IsWindowsDesktopToolsetInstalled() const;
+ bool IsWindowsDesktopToolsetInstalled() const override;
std::string GetWindows10SDKVersion();
diff --git a/Source/cmGlobalVisualStudio15Generator.h b/Source/cmGlobalVisualStudio15Generator.h
index 852a4e7..4f4e0b9 100644
--- a/Source/cmGlobalVisualStudio15Generator.h
+++ b/Source/cmGlobalVisualStudio15Generator.h
@@ -22,11 +22,11 @@ public:
const std::string& platformName);
static cmGlobalGeneratorFactory* NewFactory();
- virtual bool MatchesGeneratorName(const std::string& name) const;
+ bool MatchesGeneratorName(const std::string& name) const override;
- virtual void WriteSLNHeader(std::ostream& fout);
+ void WriteSLNHeader(std::ostream& fout) override;
- virtual const char* GetToolsVersion() { return "15.0"; }
+ const char* GetToolsVersion() override { return "15.0"; }
bool SetGeneratorInstance(std::string const& i, cmMakefile* mf) override;
@@ -34,13 +34,13 @@ public:
protected:
bool InitializeWindows(cmMakefile* mf) override;
- virtual bool SelectWindowsStoreToolset(std::string& toolset) const;
+ bool SelectWindowsStoreToolset(std::string& toolset) const override;
- virtual const char* GetIDEVersion() { return "15.0"; }
+ const char* GetIDEVersion() override { return "15.0"; }
// Used to verify that the Desktop toolset for the current generator is
// installed on the machine.
- virtual bool IsWindowsDesktopToolsetInstalled() const;
+ bool IsWindowsDesktopToolsetInstalled() const override;
// These aren't virtual because we need to check if the selected version
// of the toolset is installed
diff --git a/Source/cmGlobalVisualStudio71Generator.h b/Source/cmGlobalVisualStudio71Generator.h
index 0ce02aa..054c342 100644
--- a/Source/cmGlobalVisualStudio71Generator.h
+++ b/Source/cmGlobalVisualStudio71Generator.h
@@ -17,25 +17,24 @@ public:
const std::string& platformName = "");
protected:
- virtual void WriteSLNFile(std::ostream& fout, cmLocalGenerator* root,
- std::vector<cmLocalGenerator*>& generators);
+ void WriteSLNFile(std::ostream& fout, cmLocalGenerator* root,
+ std::vector<cmLocalGenerator*>& generators) override;
virtual void WriteSolutionConfigurations(
std::ostream& fout, std::vector<std::string> const& configs);
- virtual void WriteProject(std::ostream& fout, const std::string& name,
- const char* path, const cmGeneratorTarget* t);
- virtual void WriteProjectDepends(std::ostream& fout, const std::string& name,
- const char* path,
- cmGeneratorTarget const* t);
- virtual void WriteProjectConfigurations(
+ void WriteProject(std::ostream& fout, const std::string& name,
+ const char* path, const cmGeneratorTarget* t) override;
+ void WriteProjectDepends(std::ostream& fout, const std::string& name,
+ const char* path,
+ cmGeneratorTarget const* t) override;
+ void WriteProjectConfigurations(
std::ostream& fout, const std::string& name,
cmGeneratorTarget const& target, std::vector<std::string> const& configs,
const std::set<std::string>& configsPartOfDefaultBuild,
- const std::string& platformMapping = "");
- virtual void WriteExternalProject(std::ostream& fout,
- const std::string& name, const char* path,
- const char* typeGuid,
- const std::set<std::string>& depends);
- virtual void WriteSLNHeader(std::ostream& fout);
+ const std::string& platformMapping = "") override;
+ void WriteExternalProject(std::ostream& fout, const std::string& name,
+ const char* path, const char* typeGuid,
+ const std::set<std::string>& depends) override;
+ void WriteSLNHeader(std::ostream& fout) override;
// Folders are not supported by VS 7.1.
virtual bool UseFolderProperty() { return false; }
diff --git a/Source/cmGlobalVisualStudio7Generator.h b/Source/cmGlobalVisualStudio7Generator.h
index c5aced4..8d1bdc0 100644
--- a/Source/cmGlobalVisualStudio7Generator.h
+++ b/Source/cmGlobalVisualStudio7Generator.h
@@ -26,11 +26,11 @@ public:
std::string const& GetPlatformName() const;
///! Create a local generator appropriate to this Global Generator
- virtual cmLocalGenerator* CreateLocalGenerator(cmMakefile* mf);
+ cmLocalGenerator* CreateLocalGenerator(cmMakefile* mf) override;
- virtual bool SetSystemName(std::string const& s, cmMakefile* mf);
+ bool SetSystemName(std::string const& s, cmMakefile* mf) override;
- virtual bool SetGeneratorPlatform(std::string const& p, cmMakefile* mf);
+ bool SetGeneratorPlatform(std::string const& p, cmMakefile* mf) override;
/**
* Utilized by the generator factory to determine if this generator
@@ -48,19 +48,21 @@ public:
* Try to determine system information such as shared library
* extension, pthreads, byte order etc.
*/
- virtual void EnableLanguage(std::vector<std::string> const& languages,
- cmMakefile*, bool optional);
+ void EnableLanguage(std::vector<std::string> const& languages, cmMakefile*,
+ bool optional) override;
/**
* Try running cmake and building a file. This is used for dynamically
* loaded commands, not as part of the usual build process.
*/
- virtual void GenerateBuildCommand(
- std::vector<std::string>& makeCommand, const std::string& makeProgram,
- const std::string& projectName, const std::string& projectDir,
- const std::string& targetName, const std::string& config, bool fast,
- bool verbose,
- std::vector<std::string> const& makeOptions = std::vector<std::string>());
+ void GenerateBuildCommand(std::vector<std::string>& makeCommand,
+ const std::string& makeProgram,
+ const std::string& projectName,
+ const std::string& projectDir,
+ const std::string& targetName,
+ const std::string& config, bool fast, bool verbose,
+ std::vector<std::string> const& makeOptions =
+ std::vector<std::string>()) override;
/**
* Generate the DSW workspace file.
@@ -71,13 +73,13 @@ public:
std::string GetGUID(std::string const& name);
/** Append the subdirectory for the given configuration. */
- virtual void AppendDirectoryForConfig(const std::string& prefix,
- const std::string& config,
- const std::string& suffix,
- std::string& dir);
+ void AppendDirectoryForConfig(const std::string& prefix,
+ const std::string& config,
+ const std::string& suffix,
+ std::string& dir) override;
///! What is the configurations directory variable called?
- virtual const char* GetCMakeCFGIntDir() const
+ const char* GetCMakeCFGIntDir() const override
{
return "$(ConfigurationName)";
}
@@ -103,7 +105,7 @@ public:
cmIDEFlagTable const* ExtraFlagTable;
protected:
- virtual void Generate();
+ void Generate() override;
virtual const char* GetIDEVersion() = 0;
std::string const& GetDevEnvCommand();
@@ -129,7 +131,7 @@ protected:
cmLocalGenerator* root);
virtual void WriteSLNFooter(std::ostream& fout);
virtual void WriteSLNHeader(std::ostream& fout) = 0;
- virtual std::string WriteUtilityDepend(const cmGeneratorTarget* target);
+ std::string WriteUtilityDepend(const cmGeneratorTarget* target) override;
virtual void WriteTargetsToSolution(
std::ostream& fout, cmLocalGenerator* root,
@@ -170,7 +172,7 @@ private:
char* IntelProjectVersion;
std::string DevEnvCommand;
bool DevEnvCommandInitialized;
- virtual std::string GetVSMakeProgram() { return this->GetDevEnvCommand(); }
+ std::string GetVSMakeProgram() override { return this->GetDevEnvCommand(); }
};
#define CMAKE_CHECK_BUILD_SYSTEM_TARGET "ZERO_CHECK"
diff --git a/Source/cmGlobalVisualStudio8Generator.h b/Source/cmGlobalVisualStudio8Generator.h
index 4723b83..af83e4f 100644
--- a/Source/cmGlobalVisualStudio8Generator.h
+++ b/Source/cmGlobalVisualStudio8Generator.h
@@ -18,42 +18,42 @@ public:
static cmGlobalGeneratorFactory* NewFactory();
///! Get the name for the generator.
- virtual std::string GetName() const { return this->Name; }
+ std::string GetName() const override { return this->Name; }
/** Get the name of the main stamp list file. */
static std::string GetGenerateStampList();
- virtual void EnableLanguage(std::vector<std::string> const& languages,
- cmMakefile*, bool optional);
+ void EnableLanguage(std::vector<std::string> const& languages, cmMakefile*,
+ bool optional) override;
virtual void AddPlatformDefinitions(cmMakefile* mf);
- virtual bool SetGeneratorPlatform(std::string const& p, cmMakefile* mf);
+ bool SetGeneratorPlatform(std::string const& p, cmMakefile* mf) override;
/**
* Override Configure and Generate to add the build-system check
* target.
*/
- virtual void Configure();
+ void Configure() override;
/**
* Where does this version of Visual Studio look for macros for the
* current user? Returns the empty string if this version of Visual
* Studio does not implement support for VB macros.
*/
- virtual std::string GetUserMacrosDirectory();
+ std::string GetUserMacrosDirectory() override;
/**
* What is the reg key path to "vsmacros" for this version of Visual
* Studio?
*/
- virtual std::string GetUserMacrosRegKeyBase();
+ std::string GetUserMacrosRegKeyBase() override;
/** Return true if the target project file should have the option
LinkLibraryDependencies and link to .sln dependencies. */
- virtual bool NeedLinkLibraryDependencies(cmGeneratorTarget* target);
+ bool NeedLinkLibraryDependencies(cmGeneratorTarget* target) override;
/** Return true if building for Windows CE */
- virtual bool TargetsWindowsCE() const
+ bool TargetsWindowsCE() const override
{
return !this->WindowsCEVersion.empty();
}
@@ -62,12 +62,12 @@ public:
bool IsExpressEdition() const { return this->ExpressEdition; }
protected:
- virtual void AddExtraIDETargets();
- virtual const char* GetIDEVersion() { return "8.0"; }
+ void AddExtraIDETargets() override;
+ const char* GetIDEVersion() override { return "8.0"; }
- virtual std::string FindDevEnvCommand();
+ std::string FindDevEnvCommand() override;
- virtual bool VSLinksDependencies() const { return false; }
+ bool VSLinksDependencies() const override { return false; }
bool AddCheckTarget();
@@ -75,18 +75,18 @@ protected:
virtual bool NeedsDeploy(cmStateEnums::TargetType type) const;
static cmIDEFlagTable const* GetExtraFlagTableVS8();
- virtual void WriteSLNHeader(std::ostream& fout);
- virtual void WriteSolutionConfigurations(
- std::ostream& fout, std::vector<std::string> const& configs);
- virtual void WriteProjectConfigurations(
+ void WriteSLNHeader(std::ostream& fout) override;
+ void WriteSolutionConfigurations(
+ std::ostream& fout, std::vector<std::string> const& configs) override;
+ void WriteProjectConfigurations(
std::ostream& fout, const std::string& name,
cmGeneratorTarget const& target, std::vector<std::string> const& configs,
const std::set<std::string>& configsPartOfDefaultBuild,
- const std::string& platformMapping = "");
- virtual bool ComputeTargetDepends();
- virtual void WriteProjectDepends(std::ostream& fout, const std::string& name,
- const char* path,
- const cmGeneratorTarget* t);
+ const std::string& platformMapping = "") override;
+ bool ComputeTargetDepends() override;
+ void WriteProjectDepends(std::ostream& fout, const std::string& name,
+ const char* path,
+ const cmGeneratorTarget* t) override;
bool UseFolderProperty();
diff --git a/Source/cmGlobalVisualStudio9Generator.h b/Source/cmGlobalVisualStudio9Generator.h
index fbc1f5d..37efb9c 100644
--- a/Source/cmGlobalVisualStudio9Generator.h
+++ b/Source/cmGlobalVisualStudio9Generator.h
@@ -21,23 +21,23 @@ public:
* Try to determine system information such as shared library
* extension, pthreads, byte order etc.
*/
- virtual void WriteSLNHeader(std::ostream& fout);
+ void WriteSLNHeader(std::ostream& fout) override;
/**
* Where does this version of Visual Studio look for macros for the
* current user? Returns the empty string if this version of Visual
* Studio does not implement support for VB macros.
*/
- virtual std::string GetUserMacrosDirectory();
+ std::string GetUserMacrosDirectory() override;
/**
* What is the reg key path to "vsmacros" for this version of Visual
* Studio?
*/
- virtual std::string GetUserMacrosRegKeyBase();
+ std::string GetUserMacrosRegKeyBase() override;
protected:
- virtual const char* GetIDEVersion() { return "9.0"; }
+ const char* GetIDEVersion() override { return "9.0"; }
private:
class Factory;
friend class Factory;
diff --git a/Source/cmGlobalVisualStudioGenerator.h b/Source/cmGlobalVisualStudioGenerator.h
index f4fc3cf..75b7f22 100644
--- a/Source/cmGlobalVisualStudioGenerator.h
+++ b/Source/cmGlobalVisualStudioGenerator.h
@@ -96,7 +96,7 @@ public:
/** Return true if the generated build tree may contain multiple builds.
i.e. "Can I build Debug and Release in the same tree?" */
- virtual bool IsMultiConfig() const { return true; }
+ bool IsMultiConfig() const override { return true; }
/** Return true if building for Windows CE */
virtual bool TargetsWindowsCE() const { return false; }
@@ -122,8 +122,8 @@ public:
bool FindMakeProgram(cmMakefile*) override;
- virtual std::string ExpandCFGIntDir(const std::string& str,
- const std::string& config) const;
+ std::string ExpandCFGIntDir(const std::string& str,
+ const std::string& config) const override;
void ComputeTargetObjectDirectory(cmGeneratorTarget* gt) const;
@@ -137,7 +137,7 @@ public:
bool dryRun) override;
protected:
- virtual void AddExtraIDETargets();
+ void AddExtraIDETargets() override;
// Does this VS version link targets to each other if there are
// dependencies in the SLN file? This was done for VS versions
@@ -146,7 +146,7 @@ protected:
virtual const char* GetIDEVersion() = 0;
- virtual bool ComputeTargetDepends();
+ bool ComputeTargetDepends() override;
class VSDependSet : public std::set<std::string>
{
};
diff --git a/Source/cmLocalVisualStudio10Generator.h b/Source/cmLocalVisualStudio10Generator.h
index 4cd56dd..bcdc307 100644
--- a/Source/cmLocalVisualStudio10Generator.h
+++ b/Source/cmLocalVisualStudio10Generator.h
@@ -29,13 +29,13 @@ public:
/**
* Generate the makefile for this directory.
*/
- virtual void Generate();
- virtual void ReadAndStoreExternalGUID(const std::string& name,
- const char* path);
+ void Generate() override;
+ void ReadAndStoreExternalGUID(const std::string& name,
+ const char* path) override;
protected:
- virtual const char* ReportErrorLabel() const;
- virtual bool CustomCommandUseLocal() const { return true; }
+ const char* ReportErrorLabel() const override;
+ bool CustomCommandUseLocal() const override { return true; }
private:
};
diff --git a/Source/cmLocalVisualStudio7Generator.h b/Source/cmLocalVisualStudio7Generator.h
index 48f2e1a..02e6931 100644
--- a/Source/cmLocalVisualStudio7Generator.h
+++ b/Source/cmLocalVisualStudio7Generator.h
@@ -35,12 +35,12 @@ public:
virtual ~cmLocalVisualStudio7Generator();
- virtual void AddHelperCommands();
+ void AddHelperCommands() override;
/**
* Generate the makefile for this directory.
*/
- virtual void Generate();
+ void Generate() override;
enum BuildType
{
@@ -56,12 +56,12 @@ public:
*/
void SetBuildType(BuildType, const std::string& name);
- virtual std::string GetTargetDirectory(
- cmGeneratorTarget const* target) const;
+ std::string GetTargetDirectory(
+ cmGeneratorTarget const* target) const override;
cmSourceFile* CreateVCProjBuildRule();
void WriteStampFiles();
- virtual std::string ComputeLongestObjectDirectory(
- cmGeneratorTarget const*) const;
+ std::string ComputeLongestObjectDirectory(
+ cmGeneratorTarget const*) const override;
virtual void ReadAndStoreExternalGUID(const std::string& name,
const char* path);
diff --git a/Source/cmLocalVisualStudioGenerator.h b/Source/cmLocalVisualStudioGenerator.h
index ace2f89..3fdafd2 100644
--- a/Source/cmLocalVisualStudioGenerator.h
+++ b/Source/cmLocalVisualStudioGenerator.h
@@ -44,9 +44,9 @@ public:
virtual std::string ComputeLongestObjectDirectory(
cmGeneratorTarget const*) const = 0;
- virtual void ComputeObjectFilenames(
+ void ComputeObjectFilenames(
std::map<cmSourceFile const*, std::string>& mapping,
- cmGeneratorTarget const* = 0);
+ cmGeneratorTarget const* = 0) override;
protected:
virtual const char* ReportErrorLabel() const;
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a9c42e3ec09fa9cdf308344d12b0cc8c2e44d905
commit a9c42e3ec09fa9cdf308344d12b0cc8c2e44d905
Author: Rolf Eike Beer <eike at sf-mail.de>
AuthorDate: Fri Dec 15 20:42:24 2017 +0100
Commit: Rolf Eike Beer <eike at sf-mail.de>
CommitDate: Fri Dec 15 21:24:25 2017 +0100
FindBLAS: optionally query pkg-config for a library
This is more or less what Gentoo implements for years, but in a more
sophisticated version that uses the target mode now offered by
pkg_check_modules().
diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake
index 0e5fa11..8e8c6f4 100644
--- a/Modules/FindBLAS.cmake
+++ b/Modules/FindBLAS.cmake
@@ -27,10 +27,17 @@
# to link against to use BLAS95 interface
# BLAS95_FOUND - set to true if a library implementing the BLAS f95 interface
# is found
+#
+# The following variables can be used to control this module:
+#
+# ::
+#
# BLA_STATIC if set on this determines what kind of linkage we do (static)
# BLA_VENDOR if set checks only the specified vendor, if not set checks
# all the possibilities
# BLA_F95 if set on tries to find the f95 interfaces for BLAS/LAPACK
+# BLA_PREFER_PKGCONFIG if set pkg-config will be used to search for a BLAS
+# library first and if one is found that is preferred
#
# List of vendors (BLA_VENDOR) valid in this module:
#
@@ -79,6 +86,18 @@ if( NOT (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED OR CMAKE_Fortran_C
endif()
endif()
+if(BLA_PREFER_PKGCONFIG)
+ find_package(PkgConfig)
+ pkg_check_modules(PKGC_BLAS IMPORTED_TARGET blas)
+ if(PKGC_BLAS_FOUND)
+ set(BLAS_LIBRARIES PkgConfig::PKGC_BLAS)
+ find_package_handle_standard_args(BLAS
+ REQUIRED_VARS BLAS_LIBRARIES
+ VERSION_VAR PKGC_BLAS_VERSION)
+ return()
+ endif()
+endif()
+
macro(Check_Fortran_Libraries LIBRARIES _prefix _name _flags _list _thread)
# This macro checks for the existence of the combination of fortran libraries
# given by _list. If the combination is found, this macro checks (using the
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c095e2ad540edee8521b891f0eba9ebeb3ce5ac3
commit c095e2ad540edee8521b891f0eba9ebeb3ce5ac3
Author: Rolf Eike Beer <eike at sf-mail.de>
AuthorDate: Fri Dec 15 20:09:43 2017 +0100
Commit: Rolf Eike Beer <eike at sf-mail.de>
CommitDate: Fri Dec 15 21:10:25 2017 +0100
FindBLAS: simplify if()
diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake
index 88dbea3..0e5fa11 100644
--- a/Modules/FindBLAS.cmake
+++ b/Modules/FindBLAS.cmake
@@ -661,8 +661,7 @@ if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
foreach (IT ${BLAS_SEARCH_LIBS})
string(REPLACE " " ";" SEARCH_LIBS ${IT})
- if (${_LIBRARIES})
- else ()
+ if (NOT ${_LIBRARIES})
check_fortran_libraries(
${_LIBRARIES}
BLAS
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=fcf32645946ae46219e91b9f6e87e42fb0574f9e
commit fcf32645946ae46219e91b9f6e87e42fb0574f9e
Author: Rolf Eike Beer <eike at sf-mail.de>
AuthorDate: Fri Dec 15 20:07:17 2017 +0100
Commit: Rolf Eike Beer <eike at sf-mail.de>
CommitDate: Fri Dec 15 21:10:25 2017 +0100
FindBLAS: use FPHSA
diff --git a/Modules/FindBLAS.cmake b/Modules/FindBLAS.cmake
index bb8b308..88dbea3 100644
--- a/Modules/FindBLAS.cmake
+++ b/Modules/FindBLAS.cmake
@@ -63,6 +63,7 @@
include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake)
include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
+include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
cmake_push_check_state()
set(CMAKE_REQUIRED_QUIET ${BLAS_FIND_QUIETLY})
@@ -676,51 +677,14 @@ if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
endif ()
endif ()
-
if(BLA_F95)
- if(BLAS95_LIBRARIES)
- set(BLAS95_FOUND TRUE)
- else()
- set(BLAS95_FOUND FALSE)
- endif()
-
- if(NOT BLAS_FIND_QUIETLY)
- if(BLAS95_FOUND)
- message(STATUS "A library with BLAS95 API found.")
- else()
- if(BLAS_FIND_REQUIRED)
- message(FATAL_ERROR
- "A required library with BLAS95 API not found. Please specify library location.")
- else()
- message(STATUS
- "A library with BLAS95 API not found. Please specify library location.")
- endif()
- endif()
+ find_package_handle_standard_args(BLAS REQUIRED_VARS BLAS95_LIBRARIES)
+ set(BLAS95_FOUND ${BLAS_FOUND})
+ if(BLAS_FOUND)
+ set(BLAS_LIBRARIES "${BLAS95_LIBRARIES}")
endif()
- set(BLAS_FOUND TRUE)
- set(BLAS_LIBRARIES "${BLAS95_LIBRARIES}")
else()
- if(BLAS_LIBRARIES)
- set(BLAS_FOUND TRUE)
- else()
- set(BLAS_FOUND FALSE)
- endif()
-
- if(NOT BLAS_FIND_QUIETLY)
- if(BLAS_FOUND)
- message(STATUS "A library with BLAS API found.")
- else()
- if(BLAS_FIND_REQUIRED)
- message(FATAL_ERROR
- "A required library with BLAS API not found. Please specify library location."
- )
- else()
- message(STATUS
- "A library with BLAS API not found. Please specify library location."
- )
- endif()
- endif()
- endif()
+ find_package_handle_standard_args(BLAS REQUIRED_VARS BLAS_LIBRARIES)
endif()
cmake_pop_check_state()
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=739ae1d090094eea6fc545d4d1567b7db9f9683c
commit 739ae1d090094eea6fc545d4d1567b7db9f9683c
Author: Jean-Philippe Lebel <Jean-Philippe Lebel jp at lebel.pro>
AuthorDate: Tue Nov 22 17:56:18 2016 -0500
Commit: Jean-Philippe Lebel <Jean-Philippe Lebel jp at lebel.pro>
CommitDate: Fri Dec 15 13:24:58 2017 -0500
CPack/IFW: Add option to control deletion of the install directory
Added support for QT IFW "RemoveTargetDir" boolean option. QTIFW
supports an option to prevent, or not, deletion of the installation
directory. This is a direct pass-through to that variable.
diff --git a/Help/release/dev/cpackifw-package-remove-target-dir.rst b/Help/release/dev/cpackifw-package-remove-target-dir.rst
new file mode 100644
index 0000000..52dfc04
--- /dev/null
+++ b/Help/release/dev/cpackifw-package-remove-target-dir.rst
@@ -0,0 +1,6 @@
+cpackifw-package-remove-target-dir
+----------------------------------
+
+* The :module:`CPackIFW` module gained new
+ :variable:`CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR` variable to control
+ if the target directory should not be deleted when uninstalling.
diff --git a/Modules/CPackIFW.cmake b/Modules/CPackIFW.cmake
index 05a54a0..54f6133 100644
--- a/Modules/CPackIFW.cmake
+++ b/Modules/CPackIFW.cmake
@@ -191,6 +191,12 @@
#
# By default used QtIFW_ defaults (``maintenancetool``).
#
+# .. variable:: CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR
+#
+# Set to ``OFF`` if the target directory should not be deleted when uninstalling.
+#
+# Is ``ON`` by default
+#
# .. variable:: CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
#
# Filename for the configuration of the generated maintenance tool.
diff --git a/Source/CPack/IFW/cmCPackIFWInstaller.cxx b/Source/CPack/IFW/cmCPackIFWInstaller.cxx
index 422f5d5..bcbe84d 100644
--- a/Source/CPack/IFW/cmCPackIFWInstaller.cxx
+++ b/Source/CPack/IFW/cmCPackIFWInstaller.cxx
@@ -93,6 +93,15 @@ void cmCPackIFWInstaller::ConfigureFromOptions()
}
}
+ // RemoveTargetDir
+ if (this->IsSetToOff("CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR")) {
+ this->RemoveTargetDir = "false";
+ } else if (this->IsOn("CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR")) {
+ this->RemoveTargetDir = "true";
+ } else {
+ this->RemoveTargetDir.clear();
+ }
+
// Logo
if (const char* option = this->GetOption("CPACK_IFW_PACKAGE_LOGO")) {
if (cmSystemTools::FileExists(option)) {
@@ -422,6 +431,10 @@ void cmCPackIFWInstaller::GenerateInstallerFile()
xout.Element("MaintenanceToolIniFile", this->MaintenanceToolIniFile);
}
+ if (!this->RemoveTargetDir.empty()) {
+ xout.Element("RemoveTargetDir", this->RemoveTargetDir);
+ }
+
// Different allows
if (this->IsVersionLess("2.0")) {
// CPack IFW default policy
diff --git a/Source/CPack/IFW/cmCPackIFWInstaller.h b/Source/CPack/IFW/cmCPackIFWInstaller.h
index b635f42..37ad339 100644
--- a/Source/CPack/IFW/cmCPackIFWInstaller.h
+++ b/Source/CPack/IFW/cmCPackIFWInstaller.h
@@ -99,6 +99,10 @@ public:
/// Set to true if the installation path can contain non-ASCII characters
std::string AllowNonAsciiCharacters;
+ /// Set to false if the target directory should not be deleted when
+ /// uninstalling
+ std::string RemoveTargetDir;
+
/// Set to false if the installation path cannot contain space characters
std::string AllowSpaceInPath;
-----------------------------------------------------------------------
Summary of changes:
Copyright.txt | 2 +-
.../dev/cpackifw-package-remove-target-dir.rst | 6 ++
Modules/CPackIFW.cmake | 6 ++
Modules/FindBLAS.cmake | 70 ++++++++------------
Source/CPack/IFW/cmCPackIFWInstaller.cxx | 13 ++++
Source/CPack/IFW/cmCPackIFWInstaller.h | 4 ++
Source/cmGeneratorTarget.cxx | 7 +-
Source/cmGlobalVisualStudio10Generator.h | 44 ++++++------
Source/cmGlobalVisualStudio11Generator.h | 16 ++---
Source/cmGlobalVisualStudio12Generator.h | 18 ++---
Source/cmGlobalVisualStudio14Generator.h | 16 ++---
Source/cmGlobalVisualStudio15Generator.h | 12 ++--
Source/cmGlobalVisualStudio71Generator.h | 27 ++++----
Source/cmGlobalVisualStudio7Generator.h | 40 +++++------
Source/cmGlobalVisualStudio8Generator.h | 44 ++++++------
Source/cmGlobalVisualStudio9Generator.h | 8 +--
Source/cmGlobalVisualStudioGenerator.h | 10 +--
Source/cmLocalVisualStudio10Generator.h | 10 +--
Source/cmLocalVisualStudio7Generator.h | 12 ++--
Source/cmLocalVisualStudioGenerator.h | 4 +-
Source/cmParseArgumentsCommand.cxx | 26 ++++----
Source/cmcmd.cxx | 9 ++-
22 files changed, 213 insertions(+), 191 deletions(-)
create mode 100644 Help/release/dev/cpackifw-package-remove-target-dir.rst
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list