summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2020-02-21 15:52:58 +0100
committerAlexandru Croitor <alexandru.croitor@qt.io>2020-03-10 07:33:07 +0100
commit729a73a9cfe774cb49251be8c99ba5b26d516e01 (patch)
tree10c4014477783a1465a4723435fd6ef9bb87d540 /src
parentb04d087bd02f094874726629773a12ed3c1bff5e (diff)
CMake: Remove old 3rdparty mechanism for double conversion
Change-Id: I2b20d4d9d95a1f7f59bc506046a1ebc20eb305f7 Reviewed-by: Leander Beernaert <leander.beernaert@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/3rdparty/CMakeLists.txt1
-rw-r--r--src/3rdparty/double-conversion/CMakeLists.txt21
-rw-r--r--src/corelib/.prev_CMakeLists.txt25
-rw-r--r--src/corelib/CMakeLists.txt32
-rw-r--r--src/corelib/configure.cmake15
5 files changed, 61 insertions, 33 deletions
diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt
index d0dbb8aef5..c6a5da43ae 100644
--- a/src/3rdparty/CMakeLists.txt
+++ b/src/3rdparty/CMakeLists.txt
@@ -1,7 +1,6 @@
# special case skip regeneration
# The file is maintained manually
add_subdirectory(harfbuzz)
-add_subdirectory(double-conversion)
if(QT_FEATURE_png AND NOT QT_FEATURE_system_png)
add_subdirectory(libpng)
diff --git a/src/3rdparty/double-conversion/CMakeLists.txt b/src/3rdparty/double-conversion/CMakeLists.txt
deleted file mode 100644
index 7450bc48ec..0000000000
--- a/src/3rdparty/double-conversion/CMakeLists.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-# special case begin
-
-add_library(QtDoubleConversion STATIC
- ${CMAKE_CURRENT_SOURCE_DIR}/bignum.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/bignum-dtoa.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/cached-powers.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/diy-fp.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/double-conversion.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/fast-dtoa.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/fixed-dtoa.cc
- ${CMAKE_CURRENT_SOURCE_DIR}/strtod.cc
- )
-
-target_include_directories(QtDoubleConversion PUBLIC
- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>
- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
- $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/double-conversion>
- )
-
-qt_install_3rdparty_library(QtDoubleConversion)
-# special case end
diff --git a/src/corelib/.prev_CMakeLists.txt b/src/corelib/.prev_CMakeLists.txt
index a9fb15f505..e33ce41e19 100644
--- a/src/corelib/.prev_CMakeLists.txt
+++ b/src/corelib/.prev_CMakeLists.txt
@@ -235,8 +235,6 @@ qt_add_module(Core
../3rdparty/md5
../3rdparty/sha3
../3rdparty/tinycbor/src
- LIBRARIES
- doubleconversion
PRECOMPILED_HEADER
"global/qt_pch.h"
NO_PCH_SOURCES
@@ -631,6 +629,29 @@ qt_extend_target(Core CONDITION QT_FEATURE_commandlineparser
tools/qcommandlineparser.cpp tools/qcommandlineparser.h
)
+qt_extend_target(Core CONDITION QT_FEATURE_system_doubleconversion
+ LIBRARIES
+ WrapDoubleConversion::WrapDoubleConversion
+)
+
+qt_extend_target(Core CONDITION QT_FEATURE_doubleconversion AND NOT QT_FEATURE_system_doubleconversion
+ SOURCES
+ ../3rdparty/double-conversion/bignum.cc ../3rdparty/double-conversion/bignum.h
+ ../3rdparty/double-conversion/bignum-dtoa.cc ../3rdparty/double-conversion/bignum-dtoa.h
+ ../3rdparty/double-conversion/cached-powers.cc ../3rdparty/double-conversion/cached-powers.h
+ ../3rdparty/double-conversion/diy-fp.cc ../3rdparty/double-conversion/diy-fp.h
+ ../3rdparty/double-conversion/double-conversion.cc
+ ../3rdparty/double-conversion/fast-dtoa.cc ../3rdparty/double-conversion/fast-dtoa.h
+ ../3rdparty/double-conversion/fixed-dtoa.cc ../3rdparty/double-conversion/fixed-dtoa.h
+ ../3rdparty/double-conversion/ieee.h
+ ../3rdparty/double-conversion/include/double-conversion/double-conversion.h
+ ../3rdparty/double-conversion/include/double-conversion/utils.h
+ ../3rdparty/double-conversion/strtod.cc ../3rdparty/double-conversion/strtod.h
+ INCLUDE_DIRECTORIES
+ ../3rdparty/double-conversion/..
+ ../3rdparty/double-conversion/include
+)
+
qt_extend_target(Core CONDITION QT_FEATURE_easingcurve
SOURCES
tools/qeasingcurve.cpp tools/qeasingcurve.h
diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt
index da5b6fa670..7dc5cda06c 100644
--- a/src/corelib/CMakeLists.txt
+++ b/src/corelib/CMakeLists.txt
@@ -2,15 +2,8 @@
# special case begin
qt_find_package(Threads PROVIDED_TARGETS Threads::Threads)
-qt_find_package(WrapDoubleConversion REQUIRED
- PROVIDED_TARGETS WrapDoubleConversion::WrapDoubleConversion)
qt_find_package(WrapPCRE2 PROVIDED_TARGETS WrapPCRE2::WrapPCRE2)
-if (NOT WrapDoubleConversion_FOUND)
- message(FATAL_ERROR "Your C library does not provide \
- sscanf_l/snprintf_l _snprintf_l/_sscanf_l. \
- You need to use libdouble-conversion for double/string conversion.")
-endif()
# compute the reverse relative path from QtCoreConfigExtras to the install prefix
# this is used in QtCoreConfigExtras to make its install paths relocatable
@@ -251,11 +244,9 @@ qt_add_module(Core
NO_PCH_SOURCES
"text/qstring_compat.cpp"
LIBRARIES
- # double-conversion # special case remove
Qt::GlobalConfigPrivate # special case
QtHarfBuzz # special case
Threads::Threads # special case
- WrapDoubleConversion::WrapDoubleConversion # special case
PUBLIC_LIBRARIES # special case:
Qt::Platform # special case:
# special case begin
@@ -730,6 +721,29 @@ qt_extend_target(Core CONDITION QT_FEATURE_commandlineparser
tools/qcommandlineparser.cpp tools/qcommandlineparser.h
)
+qt_extend_target(Core CONDITION QT_FEATURE_system_doubleconversion
+ LIBRARIES
+ WrapDoubleConversion::WrapDoubleConversion
+)
+
+qt_extend_target(Core CONDITION QT_FEATURE_doubleconversion AND NOT QT_FEATURE_system_doubleconversion
+ SOURCES
+ ../3rdparty/double-conversion/bignum.cc ../3rdparty/double-conversion/bignum.h
+ ../3rdparty/double-conversion/bignum-dtoa.cc ../3rdparty/double-conversion/bignum-dtoa.h
+ ../3rdparty/double-conversion/cached-powers.cc ../3rdparty/double-conversion/cached-powers.h
+ ../3rdparty/double-conversion/diy-fp.cc ../3rdparty/double-conversion/diy-fp.h
+ ../3rdparty/double-conversion/double-conversion.cc
+ ../3rdparty/double-conversion/fast-dtoa.cc ../3rdparty/double-conversion/fast-dtoa.h
+ ../3rdparty/double-conversion/fixed-dtoa.cc ../3rdparty/double-conversion/fixed-dtoa.h
+ ../3rdparty/double-conversion/ieee.h
+ ../3rdparty/double-conversion/include/double-conversion/double-conversion.h
+ ../3rdparty/double-conversion/include/double-conversion/utils.h
+ ../3rdparty/double-conversion/strtod.cc ../3rdparty/double-conversion/strtod.h
+ INCLUDE_DIRECTORIES
+ ../3rdparty/double-conversion/..
+ ../3rdparty/double-conversion/include
+)
+
qt_extend_target(Core CONDITION QT_FEATURE_easingcurve
SOURCES
tools/qeasingcurve.cpp tools/qeasingcurve.h
diff --git a/src/corelib/configure.cmake b/src/corelib/configure.cmake
index 556622aa79..811030bd38 100644
--- a/src/corelib/configure.cmake
+++ b/src/corelib/configure.cmake
@@ -2,6 +2,10 @@
#### Inputs
+# input doubleconversion
+set(INPUT_doubleconversion "undefined" CACHE STRING "")
+set_property(CACHE INPUT_doubleconversion PROPERTY STRINGS undefined no qt system)
+
# input iconv
set(INPUT_iconv "undefined" CACHE STRING "")
set_property(CACHE INPUT_iconv PROPERTY STRINGS undefined no yes posix sun gnu)
@@ -10,6 +14,7 @@ set_property(CACHE INPUT_iconv PROPERTY STRINGS undefined no yes posix sun gnu)
#### Libraries
+qt_find_package(WrapDoubleConversion PROVIDED_TARGETS WrapDoubleConversion::WrapDoubleConversion)
qt_find_package(GLIB2 PROVIDED_TARGETS GLIB2::GLIB2)
qt_find_package(ICU COMPONENTS i18n uc data PROVIDED_TARGETS ICU::i18n ICU::uc ICU::data)
qt_find_package(Libsystemd PROVIDED_TARGETS PkgConfig::Libsystemd)
@@ -529,6 +534,16 @@ qt_feature("clock-monotonic" PUBLIC
CONDITION QT_FEATURE_clock_gettime AND TEST_clock_monotonic
)
qt_feature_definition("clock-monotonic" "QT_NO_CLOCK_MONOTONIC" NEGATE VALUE "1")
+qt_feature("doubleconversion" PUBLIC PRIVATE
+ LABEL "DoubleConversion"
+)
+qt_feature_definition("doubleconversion" "QT_NO_DOUBLECONVERSION" NEGATE VALUE "1")
+qt_feature("system-doubleconversion" PRIVATE
+ LABEL " Using system DoubleConversion"
+ CONDITION QT_FEATURE_doubleconversion AND WrapDoubleConversion_FOUND
+ ENABLE INPUT_doubleconversion STREQUAL 'system'
+ DISABLE INPUT_doubleconversion STREQUAL 'qt'
+)
qt_feature("cxx11_future" PUBLIC
LABEL "C++11 <future>"
CONDITION TEST_cxx11_future