summaryrefslogtreecommitdiff
path: root/Source/cmLinkLineDeviceComputer.h
diff options
context:
space:
mode:
authorRobert Maynard <robert.maynard@kitware.com>2019-05-09 09:13:39 -0400
committerRobert Maynard <robert.maynard@kitware.com>2019-05-21 11:40:07 -0400
commit81b4d10d8f421242f9989ff0c2d37a12be66f405 (patch)
tree74ee6499eb43e48f18dd41ff0b0b1bdd809768cc /Source/cmLinkLineDeviceComputer.h
parent3205c7c950d5b90d47ce1c5c58073e511339b78c (diff)
downloadcmake-81b4d10d8f421242f9989ff0c2d37a12be66f405.tar.gz
CUDA: More exhaustive checks to determine when to do device linking
Previously CMake used fairly naive logic to determine when to do device linking which caused unnecessary device linking to occur frequently. We now use a more exhaustive algorithm to determine when we have a need for device linking. Fixes: #19238
Diffstat (limited to 'Source/cmLinkLineDeviceComputer.h')
-rw-r--r--Source/cmLinkLineDeviceComputer.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/cmLinkLineDeviceComputer.h b/Source/cmLinkLineDeviceComputer.h
index 26fc125332..0ea5f69e74 100644
--- a/Source/cmLinkLineDeviceComputer.h
+++ b/Source/cmLinkLineDeviceComputer.h
@@ -12,6 +12,7 @@
class cmComputeLinkInformation;
class cmGeneratorTarget;
+class cmLocalGenerator;
class cmOutputConverter;
class cmStateDirectory;
@@ -26,6 +27,8 @@ public:
cmLinkLineDeviceComputer& operator=(cmLinkLineDeviceComputer const&) =
delete;
+ bool ComputeRequiresDeviceLinking(cmComputeLinkInformation& cli);
+
std::string ComputeLinkLibraries(cmComputeLinkInformation& cli,
std::string const& stdLibString) override;
@@ -33,4 +36,7 @@ public:
std::string const& config) override;
};
+bool requireDeviceLinking(cmGeneratorTarget& target, cmLocalGenerator& lg,
+ const std::string& config);
+
#endif