diff options
Diffstat (limited to 'Modules/CheckIPOSupported.cmake')
-rw-r--r-- | Modules/CheckIPOSupported.cmake | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/Modules/CheckIPOSupported.cmake b/Modules/CheckIPOSupported.cmake index 55c8901..31c1bd3 100644 --- a/Modules/CheckIPOSupported.cmake +++ b/Modules/CheckIPOSupported.cmake @@ -28,6 +28,9 @@ property. Specify languages whose compilers to check. Languages ``C`` and ``CXX`` are supported. +It makes no sense to use this module when :policy:`CMP0069` is set to ``OLD`` so +module will return error in this case. See policy :policy:`CMP0069` for details. + Examples ^^^^^^^^ @@ -125,7 +128,17 @@ macro(_ipo_run_language_check language) endmacro() function(check_ipo_supported) - # TODO: IPO policy + cmake_policy(GET CMP0069 x) + + string(COMPARE EQUAL "${x}" "" not_set) + if(not_set) + message(FATAL_ERROR "Policy CMP0069 is not set") + endif() + + string(COMPARE EQUAL "${x}" "OLD" is_old) + if(is_old) + message(FATAL_ERROR "Policy CMP0069 set to OLD") + endif() set(optional) set(one RESULT OUTPUT) |