cmake: fix python pre release support

This commit is contained in:
Mizux Seiha
2025-12-02 11:34:39 +01:00
committed by Corentin Le Molgat
parent 78ea1566e6
commit 9845ee219b
4 changed files with 14 additions and 4 deletions

View File

@@ -19,11 +19,11 @@ list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
option(CMAKE_EXPORT_COMPILE_COMMANDS "Export compile command" ON)
include(utils)
set_version(VERSION)
set_version(VERSION RELEASE)
project(ortools VERSION ${VERSION} LANGUAGES CXX C)
set(PROJECT_NAMESPACE ortools)
message(STATUS "${PROJECT_NAME} version: ${PROJECT_VERSION}")
message(STATUS "${PROJECT_NAME} version: ${PROJECT_VERSION} release: ${RELEASE}")
#message(STATUS "major: ${PROJECT_VERSION_MAJOR}")
#message(STATUS "minor: ${PROJECT_VERSION_MINOR}")
#message(STATUS "patch: ${PROJECT_VERSION_PATCH}")

View File

@@ -425,6 +425,11 @@ file(TOUCH ${PYTHON_PROJECT_DIR}/sat/python/py.typed)
# setup.py.in contains cmake variable e.g. @PYTHON_PROJECT@ and
# generator expression e.g. $<TARGET_FILE_NAME:pyFoo>
if(RELEASE)
set(PYTHON_RELEASE "")
else()
set(PYTHON_RELEASE "rc1")
endif()
configure_file(
${PROJECT_SOURCE_DIR}/ortools/python/setup.py.in
${PROJECT_BINARY_DIR}/python/setup.py.in

View File

@@ -35,13 +35,14 @@ function(get_patch_from_git VERSION_PATCH VERSION_MAJOR)
set(${VERSION_PATCH} ${PATCH} PARENT_SCOPE)
endfunction()
function(set_version VERSION)
function(set_version VERSION RELEASE)
if(DEFINED ENV{OR_TOOLS_MAJOR} AND DEFINED ENV{OR_TOOLS_MINOR})
set(MAJOR $ENV{OR_TOOLS_MAJOR})
set(MINOR $ENV{OR_TOOLS_MINOR})
else()
# Get Major and Minor from Version.txt
file(STRINGS "Version.txt" VERSION_STR)
set(IS_RELEASE TRUE)
foreach(STR ${VERSION_STR})
if(${STR} MATCHES "OR_TOOLS_MAJOR=(.*)")
set(MAJOR ${CMAKE_MATCH_1})
@@ -49,6 +50,9 @@ function(set_version VERSION)
if(${STR} MATCHES "OR_TOOLS_MINOR=(.*)")
set(MINOR ${CMAKE_MATCH_1})
endif()
if(${STR} MATCHES "^PRE_RELEASE=YES\$")
set(IS_RELEASE FALSE)
endif()
endforeach()
endif()
@@ -64,6 +68,7 @@ function(set_version VERSION)
endif()
endif()
set(${VERSION} "${MAJOR}.${MINOR}.${PATCH}" PARENT_SCOPE)
set(${RELEASE} ${IS_RELEASE} PARENT_SCOPE)
endfunction()

View File

@@ -39,7 +39,7 @@ def read(fname):
setup(
name='@PYTHON_PROJECT@',
version='@PROJECT_VERSION@',
version='@PROJECT_VERSION@@PYTHON_RELEASE@',
packages=find_packages(),
python_requires='>= 3.9',
install_requires=[