Skip to content

Commit 1c6b597

Browse files
committed
Increase required CMake version to 3.10.
1 parent 0f6612d commit 1c6b597

File tree

17 files changed

+45
-86
lines changed

17 files changed

+45
-86
lines changed

CMakeLists.txt

Lines changed: 19 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,4 @@
1-
cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)
2-
3-
if (POLICY CMP0065)
4-
# do not export symbols from executables
5-
# affects compiler checks in project(), so must be set before it
6-
cmake_policy(SET CMP0065 NEW)
7-
endif()
1+
cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
82

93
project(TDLib VERSION 1.8.45 LANGUAGES CXX C)
104

@@ -23,14 +17,6 @@ if (NOT DEFINED CMAKE_INSTALL_INCLUDEDIR)
2317
set(CMAKE_INSTALL_INCLUDEDIR "include")
2418
endif()
2519

26-
if (POLICY CMP0054)
27-
# do not expand quoted arguments
28-
cmake_policy(SET CMP0054 NEW)
29-
endif()
30-
if (POLICY CMP0060)
31-
# link libraries by full path
32-
cmake_policy(SET CMP0060 NEW)
33-
endif()
3420
if (POLICY CMP0074)
3521
# use environment variables to find libraries
3622
cmake_policy(SET CMP0074 NEW)
@@ -47,33 +33,26 @@ if (NOT CMAKE_CROSSCOMPILING)
4733
option(TD_GENERATE_SOURCE_FILES "Use \"ON\" to just generate TDLib source files.")
4834
endif()
4935

50-
if (TD_ENABLE_DOTNET AND (CMAKE_VERSION VERSION_LESS "3.1.0"))
51-
message(FATAL_ERROR "CMake 3.1.0 or higher is required. You are running version ${CMAKE_VERSION}.")
52-
endif()
53-
5436
include(CTest)
5537

56-
if (POLICY CMP0069)
57-
option(TD_ENABLE_LTO "Use \"ON\" to enable Link Time Optimization.")
58-
59-
if (TD_ENABLE_LTO)
60-
cmake_policy(SET CMP0069 NEW)
61-
include(CheckIPOSupported)
62-
check_ipo_supported(RESULT IPO_SUPPORTED)
63-
if (IPO_SUPPORTED)
64-
# set_property(DIRECTORY PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) do not work?
65-
string(REPLACE ";" " " CXX_FLAGS_IPO "${CMAKE_CXX_COMPILE_OPTIONS_IPO}")
66-
message(STATUS "Use link time optimization CXX options: ${CXX_FLAGS_IPO}")
67-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_FLAGS_IPO}")
68-
69-
string(REPLACE ";" " " C_FLAGS_IPO "${CMAKE_C_COMPILE_OPTIONS_IPO}")
70-
message(STATUS "Use link time optimization C options: ${C_FLAGS_IPO}")
71-
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${C_FLAGS_IPO}")
72-
73-
string(REPLACE ";" " " LINK_FLAGS_IPO "${CMAKE_CXX_LINK_OPTIONS_IPO}")
74-
message(STATUS "Use link time optimization linker options: ${LINK_FLAGS_IPO}")
75-
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LINK_FLAGS_IPO}")
76-
endif()
38+
option(TD_ENABLE_LTO "Use \"ON\" to enable Link Time Optimization.")
39+
40+
if (TD_ENABLE_LTO)
41+
include(CheckIPOSupported)
42+
check_ipo_supported(RESULT IPO_SUPPORTED)
43+
if (IPO_SUPPORTED)
44+
# set_property(DIRECTORY PROPERTY INTERPROCEDURAL_OPTIMIZATION TRUE) do not work?
45+
string(REPLACE ";" " " CXX_FLAGS_IPO "${CMAKE_CXX_COMPILE_OPTIONS_IPO}")
46+
message(STATUS "Use link time optimization CXX options: ${CXX_FLAGS_IPO}")
47+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX_FLAGS_IPO}")
48+
49+
string(REPLACE ";" " " C_FLAGS_IPO "${CMAKE_C_COMPILE_OPTIONS_IPO}")
50+
message(STATUS "Use link time optimization C options: ${C_FLAGS_IPO}")
51+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${C_FLAGS_IPO}")
52+
53+
string(REPLACE ";" " " LINK_FLAGS_IPO "${CMAKE_CXX_LINK_OPTIONS_IPO}")
54+
message(STATUS "Use link time optimization linker options: ${LINK_FLAGS_IPO}")
55+
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LINK_FLAGS_IPO}")
7756
endif()
7857
endif()
7958

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ for a list of all available `TDLib` [methods](https://core.telegram.org/tdlib/do
4949
* OpenSSL
5050
* zlib
5151
* gperf (build only)
52-
* CMake (3.0.2+, build only)
52+
* CMake (3.10+, build only)
5353
* PHP (optional, for documentation generation)
5454

5555
<a name="building"></a>

benchmark/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
if ((CMAKE_MAJOR_VERSION LESS 3) OR (CMAKE_VERSION VERSION_LESS "3.0.2"))
2-
message(FATAL_ERROR "CMake >= 3.0.2 is required")
1+
if ((CMAKE_MAJOR_VERSION LESS 3) OR (CMAKE_VERSION VERSION_LESS "3.10"))
2+
message(FATAL_ERROR "CMake >= 3.10 is required")
33
endif()
44

55
if (NOT OPENSSL_FOUND)

build.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,7 @@
740740
if (os_linux && linux_distro === 'Other') {
741741
var jdk = target === 'JNI' ? ', JDK ' : '';
742742
var compiler = use_clang ? 'clang >= 3.4, libc++' : 'g++ >= 4.9.2';
743-
pre_text.push('Install Git, ' + compiler + ', make, CMake >= 3.0.2, OpenSSL-dev, zlib-dev, gperf, PHP' + jdk + ' using your package manager.');
743+
pre_text.push('Install Git, ' + compiler + ', make, CMake >= 3.10, OpenSSL-dev, zlib-dev, gperf, PHP' + jdk + ' using your package manager.');
744744
}
745745
if (os_linux && os.includes('Node.js')) {
746746
pre_text.push('Note that for Node.js &ge; 17 you must build TDLib with OpenSSL 3.0.*, for Node.js &ge; 10 with OpenSSL 1.1.*, and for Node.js &lt; 10 with OpenSSL 1.0.*, so you may need to modify the following commands to install a proper OpenSSL version.');

example/android/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.4.1 FATAL_ERROR)
1+
cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
22

33
project(TdAndroid VERSION 1.0 LANGUAGES CXX)
44

example/cpp/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
cmake_minimum_required(VERSION 3.4 FATAL_ERROR)
1+
cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
22

33
project(TdExample VERSION 1.0 LANGUAGES CXX)
44

example/java/CMakeLists.txt

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,9 @@
1-
cmake_minimum_required(VERSION 3.0.2 FATAL_ERROR)
2-
3-
if (POLICY CMP0065)
4-
# do not export symbols from executables
5-
# affects compiler checks in project(), so must be set before it
6-
cmake_policy(SET CMP0065 NEW)
7-
endif()
1+
cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
82

93
project(TdJavaExample VERSION 1.0 LANGUAGES CXX)
104

115
option(TD_JSON_JAVA "Use \"ON\" to build Java wrapper for JSON API.")
126

13-
if (POLICY CMP0054)
14-
# do not expand quoted arguments
15-
cmake_policy(SET CMP0054 NEW)
16-
endif()
17-
if (POLICY CMP0060)
18-
# link libraries by full path
19-
cmake_policy(SET CMP0060 NEW)
20-
endif()
217
if (POLICY CMP0074)
228
# use environment variables to find libraries
239
cmake_policy(SET CMP0074 NEW)

sqlite/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
if ((CMAKE_MAJOR_VERSION LESS 3) OR (CMAKE_VERSION VERSION_LESS "3.0.2"))
2-
message(FATAL_ERROR "CMake >= 3.0.2 is required")
1+
if ((CMAKE_MAJOR_VERSION LESS 3) OR (CMAKE_VERSION VERSION_LESS "3.10"))
2+
message(FATAL_ERROR "CMake >= 3.10 is required")
33
endif()
44

55
option(TDSQLITE_ENABLE_INSTALL "Enable installation of the library." ON)

td/generate/CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
if ((CMAKE_MAJOR_VERSION LESS 3) OR (CMAKE_VERSION VERSION_LESS "3.0.2"))
2-
message(FATAL_ERROR "CMake >= 3.0.2 is required")
1+
if ((CMAKE_MAJOR_VERSION LESS 3) OR (CMAKE_VERSION VERSION_LESS "3.10"))
2+
message(FATAL_ERROR "CMake >= 3.10 is required")
33
endif()
44

55
if (NOT DEFINED CMAKE_INSTALL_BINDIR)

td/generate/tl-parser/CMakeLists.txt

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,4 @@
1-
cmake_minimum_required(VERSION 3.0 FATAL_ERROR)
2-
3-
if (POLICY CMP0065)
4-
# do not export symbols from executables
5-
# affects compiler checks in project(), so must be set before it
6-
cmake_policy(SET CMP0065 NEW)
7-
endif()
1+
cmake_minimum_required(VERSION 3.10 FATAL_ERROR)
82

93
project(tl-parser LANGUAGES C)
104

0 commit comments

Comments
 (0)