Skip to content

Commit 8b256d5

Browse files
henryiiijcfr
andcommitted
feat: Remove obsolete LANGUAGE_LEVEL argument
Starting with Cython 3.0, language level defaults to "3str". See https://cython.readthedocs.io/en/latest/src/userguide/migrating_to_cy30.html#python-3-syntax-semantics Co-authored-by: Jean-Christophe Fillion-Robin <[email protected]>
1 parent 4b7d4d9 commit 8b256d5

File tree

1 file changed

+2
-28
lines changed

1 file changed

+2
-28
lines changed

src/cython_cmake/cmake/UseCython.cmake

Lines changed: 2 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
#
1010
# Cython_compile_pyx(<pyx_file1> [<pyx_file2> ...]
1111
# [LANGUAGE C | CXX]
12-
# [LANGUAGE_LEVEL 2 | 3 | 3str]
12+
# [CYTHON_ARGS <args> ...]
1313
# [OUTPUT_VARIABLE <OutputVariable>])
1414
#
1515
# Options:
@@ -19,15 +19,6 @@
1919
# generated, unless the C language is not enabled for the project; in this
2020
# case, a C++ file is generated by default.
2121
#
22-
# ``LANGUAGE_LEVEL [2 | 3 | 3str]``
23-
# Force compilation using either Python-2, Python-3 or Python-3str syntax and
24-
# code semantics.
25-
# By default, Python-3str syntax and semantics are used if the major version
26-
# of Python found is 3 and Cython >=3 is used. Otherwise, Python-2 syntax and
27-
# semantics are used.
28-
# Using the Python-3str syntax and semantics means there cython does not assume
29-
# unicode is used by by default for string literals under Python 2
30-
#
3122
# ``CYTHON_ARGS <args>``
3223
# Specify additional arguments for the cythonization process.
3324
#
@@ -76,7 +67,7 @@
7667

7768
function(Cython_compile_pyx)
7869
set(_options )
79-
set(_one_value LANGUAGE_LEVEL LANGUAGE OUTPUT_VARIABLE)
70+
set(_one_value LANGUAGE OUTPUT_VARIABLE)
8071
set(_multi_value CYTHON_ARGS)
8172

8273
cmake_parse_arguments(_args
@@ -112,22 +103,6 @@ function(Cython_compile_pyx)
112103
set(_language_arg ${_language_${_language}_arg})
113104
set(_language_extension ${_language_${_language}_extension})
114105

115-
# Set language level
116-
set(_language_level ${_args_LANGUAGE_LEVEL})
117-
if(NOT _args_LANGUAGE_LEVEL)
118-
set(_language_level "3str")
119-
else()
120-
if(NOT _language_level MATCHES "^(2|3|3str)$")
121-
message(FATAL_ERROR "LANGUAGE_LEVEL must be one of 2, 3, or 3str")
122-
endif()
123-
endif()
124-
125-
set(_language_level_2_arg "-2")
126-
set(_language_level_3_arg "-3")
127-
set(_language_level_3str_arg "--3str")
128-
129-
set(_language_level_arg "${_language_level_${_language_level}_arg}")
130-
131106
# Generated depfile is expected to have the ".dep" extension and be located along
132107
# side the generated source file.
133108
set(_depfile ${generated_file}.dep)
@@ -153,7 +128,6 @@ function(Cython_compile_pyx)
153128
COMMAND ${CYTHON_EXECUTABLE}
154129
ARGS
155130
${_language_arg}
156-
${_language_level_arg}
157131
${_args_CYTHON_ARGS}
158132
${_depfile_arg}
159133
${pyx_location}

0 commit comments

Comments
 (0)