|
1 | 1 | cmake_minimum_required (VERSION 3.15)
|
2 | 2 |
|
3 |
| -project (mongo-c-driver C) |
| 3 | +list (APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/build/cmake") |
| 4 | +# Defines BUILD_VERSION, which we use throughout: |
| 5 | +include (BuildVersion) |
| 6 | + |
| 7 | +project ( |
| 8 | + mongo-c-driver |
| 9 | + LANGUAGES C |
| 10 | + # BUILD_VERSION_SIMPLE is a CMake-compatible version number that omits suffixes |
| 11 | + VERSION "${BUILD_VERSION_SIMPLE}" |
| 12 | +) |
4 | 13 |
|
5 |
| -list (APPEND CMAKE_MODULE_PATH |
6 |
| - "${PROJECT_SOURCE_DIR}/build/cmake" |
7 |
| - ) |
| 14 | +# Set MONGOC_MAJOR_VERSION, MONGOC_MINOR_VERSION, etc. |
| 15 | +include (ParseVersion) |
| 16 | +ParseVersion ("${BUILD_VERSION}" MONGOC) |
| 17 | +# Defines additional similar variables: |
| 18 | +include (LoadVersion) |
| 19 | +file (WRITE VERSION_CURRENT "${BUILD_VERSION}") |
| 20 | +LoadVersion (VERSION_CURRENT MONGOC) |
8 | 21 |
|
9 | 22 | include (MongoSettings)
|
10 | 23 | include (MongoPlatform)
|
@@ -264,52 +277,6 @@ if (NOT MSVC)
|
264 | 277 | include (LLDLinker)
|
265 | 278 | endif ()
|
266 | 279 |
|
267 |
| -set (BUILD_VERSION "0.0.0" CACHE STRING "Library version (for both libbson and libmongoc)") |
268 |
| - |
269 |
| -include (ParseVersion) |
270 |
| - |
271 |
| -# Set MONGOC_MAJOR_VERSION, MONGOC_MINOR_VERSION, etc. |
272 |
| -if (BUILD_VERSION STREQUAL "0.0.0") |
273 |
| - if (EXISTS ${PROJECT_SOURCE_DIR}/VERSION_CURRENT) |
274 |
| - file (STRINGS ${PROJECT_SOURCE_DIR}/VERSION_CURRENT BUILD_VERSION) |
275 |
| - message (STATUS "file VERSION_CURRENT contained BUILD_VERSION ${BUILD_VERSION}") |
276 |
| - else () |
277 |
| - find_package (PythonInterp) |
278 |
| - if (PYTHONINTERP_FOUND) |
279 |
| - execute_process ( |
280 |
| - COMMAND ${PYTHON_EXECUTABLE} build/calc_release_version.py |
281 |
| - WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} |
282 |
| - OUTPUT_VARIABLE CALC_RELEASE_VERSION |
283 |
| - RESULT_VARIABLE CALC_RELEASE_VERSION_RESULT |
284 |
| - OUTPUT_STRIP_TRAILING_WHITESPACE |
285 |
| - ) |
286 |
| - if (NOT CALC_RELEASE_VERSION_RESULT STREQUAL 0) |
287 |
| - # If python failed above, stderr would tell the user about it |
288 |
| - message (FATAL_ERROR |
289 |
| - "BUILD_VERSION not specified and could not be calculated\ |
290 |
| - (script invocation failed); specify in CMake command, -DBUILD_VERSION=<version>" |
291 |
| - ) |
292 |
| - else () |
293 |
| - set (BUILD_VERSION ${CALC_RELEASE_VERSION}) |
294 |
| - message (STATUS "calculated BUILD_VERSION ${BUILD_VERSION}") |
295 |
| - endif () |
296 |
| - else () |
297 |
| - message (FATAL_ERROR |
298 |
| - "BUILD_VERSION not specified and could not be calculated\ |
299 |
| - (Python was not found on the system); specify in CMake command, -DBUILD_VERSION=<version>" |
300 |
| - ) |
301 |
| - endif () |
302 |
| - message (STATUS "storing BUILD_VERSION ${BUILD_VERSION} in file VERSION_CURRENT for later use") |
303 |
| - file (WRITE ${PROJECT_SOURCE_DIR}/VERSION_CURRENT ${BUILD_VERSION}) |
304 |
| - endif () |
305 |
| -else () |
306 |
| - message (STATUS "storing BUILD_VERSION ${BUILD_VERSION} in file VERSION_CURRENT for later use") |
307 |
| - file (WRITE ${PROJECT_SOURCE_DIR}/VERSION_CURRENT ${BUILD_VERSION}) |
308 |
| -endif () |
309 |
| - |
310 |
| -include (LoadVersion) |
311 |
| -LoadVersion (${PROJECT_SOURCE_DIR}/VERSION_CURRENT MONGOC) |
312 |
| - |
313 | 280 | if ( (ENABLE_BUILD_DEPENDECIES STREQUAL OFF) AND (NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) )
|
314 | 281 | set (ENABLE_BUILD_DEPENDECIES ON)
|
315 | 282 | endif ()
|
|
0 commit comments