summaryrefslogtreecommitdiffstats
path: root/Source/cmLinkLineDeviceComputer.h
diff options
context:
space:
mode:
authorRobert Maynard <robert.maynard@kitware.com>2019-05-09 13:13:39 (GMT)
committerRobert Maynard <robert.maynard@kitware.com>2019-05-21 15:40:07 (GMT)
commit81b4d10d8f421242f9989ff0c2d37a12be66f405 (patch)
tree74ee6499eb43e48f18dd41ff0b0b1bdd809768cc /Source/cmLinkLineDeviceComputer.h
parent3205c7c950d5b90d47ce1c5c58073e511339b78c (diff)
downloadCMake-81b4d10d8f421242f9989ff0c2d37a12be66f405.zip
CMake-81b4d10d8f421242f9989ff0c2d37a12be66f405.tar.gz
CMake-81b4d10d8f421242f9989ff0c2d37a12be66f405.tar.bz2
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 26fc125..0ea5f69 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