summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorMikhail Svetkin <mikhail.svetkin@qt.io>2019-01-07 15:22:24 +0100
committerMikhail Svetkin <mikhail.svetkin@qt.io>2019-02-27 15:28:11 +0000
commit885494c50f75b79a33a9275221ae9e0efb91349c (patch)
treecd4e1a90ccd99083bf3ec24733ccc16309ce17f5 /cmake
parentca1113728ee488b046238da621b6e5841a864b25 (diff)
CMake: Fix build without double-conversion on macOS
Change-Id: I5102e93141eec95044df44884dcf6ecd1b9e8dd0 Reviewed-by: Mikhail Svetkin <mikhail.svetkin@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/FindWrapDoubleConversion.cmake23
1 files changed, 15 insertions, 8 deletions
diff --git a/cmake/FindWrapDoubleConversion.cmake b/cmake/FindWrapDoubleConversion.cmake
index c93525af23..749965a7b8 100644
--- a/cmake/FindWrapDoubleConversion.cmake
+++ b/cmake/FindWrapDoubleConversion.cmake
@@ -1,5 +1,15 @@
include(CheckCXXSourceCompiles)
+add_library(WrapDoubleConversion INTERFACE)
+
+find_package(double-conversion)
+if (double-conversion_FOUND)
+ set_package_properties(double-conversion PROPERTIES TYPE REQUIRED)
+ target_link_libraries(WrapDoubleConversion INTERFACE double-conversion::double-conversion)
+ set(WrapDoubleConversion_FOUND 1)
+ return()
+endif()
+
check_cxx_source_compiles("
#include <stdio.h>
#include <locale.h>
@@ -25,12 +35,9 @@ int main(int argc, char *argv[]) {
return 0;
}" HAVE_SPRINTF_L)
-add_library(WrapDoubleConversion INTERFACE)
-if (NOT HAVE__SPRINTF_L AND NOT HAVE_SPRINTF_L)
- find_package(double-conversion)
- set_package_properties(double-conversion PROPERTIES TYPE REQUIRED)
- target_link_libraries(WrapDoubleConversion INTERFACE double-conversion::double-conversion)
+if (HAVE__SPRINTF_L OR HAVE_SPRINTF_L)
+ target_compile_definitions(WrapDoubleConversion INTERFACE QT_NO_DOUBLECONVERSION)
+ set(WrapDoubleConversion_FOUND 1)
+else()
+ set(WrapDoubleConversion_FOUND 0)
endif()
-
-set(WrapDoubleConversion_FOUND 1)
-