Skip to content

Commit 71dac43

Browse files
committed
more python package cleanup #17459
1 parent 4eb7464 commit 71dac43

File tree

4 files changed

+27
-37
lines changed

4 files changed

+27
-37
lines changed

.github/workflows/docker.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ on:
55
paths:
66
- '.github/workflows/docker.yml'
77
- 'build_config/docker/Dockerfile.ubuntu.git'
8+
branches:
9+
- '**'
810
tags:
911
- '*'
1012
workflow_dispatch:

CMakeLists.txt

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -245,12 +245,8 @@ if (MSVC AND ENABLE_PYTHON_BINDINGS)
245245
endif()
246246
endif()
247247

248-
execute_process(COMMAND ${Python_EXECUTABLE} -c "import setuptools; import build; import pip; build.__version__"
249-
RESULT_VARIABLE PYTHON_SETUPTOOLS_MISSING ERROR_QUIET)
250-
if (MSVC)
251-
# disable the installation of python wheels during "cmake --install" on Windows because they go into a strange location, see #17288
252-
set(PYTHON_SETUPTOOLS_MISSING True)
253-
endif()
248+
execute_process(COMMAND ${Python_EXECUTABLE} -c "import build, pip; build.__version__"
249+
RESULT_VARIABLE PYTHON_BUILD_MISSING ERROR_QUIET)
254250

255251
# exclusive from Apple
256252
if (APPLE)
@@ -690,16 +686,18 @@ endif ()
690686
install(EXPORT SUMOConfig DESTINATION ${DATA_PATH}cmake NAMESPACE SUMO::)
691687

692688
set(SUMO_TOOLS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/tools")
693-
if (NOT ${PYTHON_SETUPTOOLS_MISSING})
694-
if (NOT VERBOSE_SUB)
695-
set(PYTHON_BUILD_OPTS "-C--quiet")
696-
endif ()
697-
install(CODE "execute_process(COMMAND ${Python_EXECUTABLE} ./build_config/version.py ./build_config/setup-sumolib.py ./setup.py WORKING_DIRECTORY ${SUMO_TOOLS_DIR} COMMAND ${Python_EXECUTABLE} -m build ${PYTHON_BUILD_OPTS} --no-isolation --wheel . -o ${CMAKE_BINARY_DIR})"
698-
COMPONENT pysumolib)
699-
install(CODE "execute_process(COMMAND ${Python_EXECUTABLE} ./build_config/version.py ./build_config/setup-traci.py ./setup.py WORKING_DIRECTORY ${SUMO_TOOLS_DIR} COMMAND ${Python_EXECUTABLE} -m build ${PYTHON_BUILD_OPTS} --no-isolation --wheel . -o ${CMAKE_BINARY_DIR})"
700-
COMPONENT pytraci)
701-
install(CODE "execute_process(COMMAND ${Python_EXECUTABLE} -m pip install --root=\$ENV{DESTDIR}/ --prefix=${CMAKE_INSTALL_PREFIX} -f ${CMAKE_BINARY_DIR} --no-index traci)"
702-
COMPONENT pytraci)
689+
if (${CMAKE_VERSION} VERSION_GREATER 3.6.0 AND NOT ${PYTHON_BUILD_MISSING})
690+
install(CODE "execute_process(COMMAND ${Python_EXECUTABLE} tools/build_config/version.py --pep440 build_config/pyproject/sumolib.toml pyproject.toml \
691+
COMMAND ${Python_EXECUTABLE} -m build --wheel . -o ${CMAKE_BINARY_DIR} \
692+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})"
693+
COMPONENT python_package EXCLUDE_FROM_ALL)
694+
install(CODE "execute_process(COMMAND ${Python_EXECUTABLE} tools/build_config/version.py --pep440 build_config/pyproject/traci.toml pyproject.toml \
695+
COMMAND ${Python_EXECUTABLE} -m build --wheel . -o ${CMAKE_BINARY_DIR} \
696+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})"
697+
COMPONENT python_package EXCLUDE_FROM_ALL)
698+
install(CODE "execute_process(COMMAND ${Python_EXECUTABLE} -m pip install --prefix=\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX} -f ${CMAKE_BINARY_DIR} --no-index traci \
699+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})"
700+
COMPONENT python_package EXCLUDE_FROM_ALL)
703701
endif ()
704702

705703
if (SUMO_LIBRARIES AND WIN32)

src/libsumo/CMakeLists.txt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,9 +177,11 @@ if (SWIG_FOUND)
177177
SWIG_ADD_LIBRARY(libsumo LANGUAGE python SOURCES libsumo.i)
178178
add_dependencies(${SWIG_MODULE_libsumo_REAL_NAME} generate-version-h install_dll)
179179
target_link_libraries(libsumo ${sumo_link_libraries} Python::Module)
180-
if (NOT ${PYTHON_SETUPTOOLS_MISSING})
181-
install(CODE "execute_process(COMMAND ${Python_EXECUTABLE} ./build_config/version.py ./build_config/setup-libsumo.py ./setup.py COMMAND ${Python_EXECUTABLE} -m pip install --no-build-isolation --root=\$ENV{DESTDIR}/ --prefix=${CMAKE_INSTALL_PREFIX} -f ${CMAKE_BINARY_DIR} . WORKING_DIRECTORY ${SUMO_TOOLS_DIR})"
182-
COMPONENT pylibsumo)
180+
if (NOT ${PYTHON_BUILD_MISSING})
181+
install(CODE "execute_process(COMMAND ${Python_EXECUTABLE} tools/build_config/version.py --pep440 build_config/pyproject/libsumo_local.toml pyproject.toml \
182+
COMMAND ${Python_EXECUTABLE} -m pip install --prefix=\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX} -f ${CMAKE_BINARY_DIR} . \
183+
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})"
184+
COMPONENT python_package EXCLUDE_FROM_ALL)
183185
endif()
184186
endif()
185187
endif(ENABLE_PYTHON_BINDINGS)

src/libtraci/CMakeLists.txt

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -76,16 +76,12 @@ if (SWIG_FOUND)
7676
set(CMAKE_SWIG_FLAGS -package org.eclipse.sumo.libtraci)
7777
set(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_BINARY_DIR}/java)
7878
set(SWIG_MODULE_libtracijni_EXTRA_DEPS ${libtraci_HEADERS} ../libsumo/libsumo_typemap.i)
79-
if (${CMAKE_VERSION} VERSION_GREATER 3.8.0)
80-
SWIG_ADD_LIBRARY(libtracijni LANGUAGE java SOURCES libtraci.i)
81-
else()
82-
SWIG_ADD_MODULE(libtracijni java libtraci.i)
83-
endif()
79+
SWIG_ADD_LIBRARY(libtracijni LANGUAGE java SOURCES libtraci.i)
8480
if ((GNU_COMPILER OR CLANG_COMPILER) AND NOT APPLE)
8581
set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-Wno-strict-aliasing")
86-
swig_link_libraries(libtracijni -Wl,--whole-archive libtracistatic ${libtcpip} -Wl,--no-whole-archive)
82+
target_link_libraries(libtracijni -Wl,--whole-archive libtracistatic ${libtcpip} -Wl,--no-whole-archive)
8783
else()
88-
swig_link_libraries(libtracijni libtracistatic ${libtcpip})
84+
target_link_libraries(libtracijni libtracistatic ${libtcpip})
8985
endif()
9086
if (MVN_EXECUTABLE)
9187
ADD_CUSTOM_COMMAND(TARGET libtracijni POST_BUILD
@@ -110,16 +106,12 @@ if (SWIG_FOUND)
110106
set(CMAKE_SWIG_FLAGS -namespace ${CS_NAMESPACE})
111107
set(CMAKE_SWIG_OUTDIR ${CMAKE_CURRENT_BINARY_DIR}/${CS_NAMESPACE})
112108
set(SWIG_MODULE_libtracics_EXTRA_DEPS ${libtraci_HEADERS} ../libsumo/libsumo_typemap.i)
113-
if (${CMAKE_VERSION} VERSION_GREATER 3.8.0)
114-
SWIG_ADD_LIBRARY(libtracics LANGUAGE CSharp SOURCES libtraci.i)
115-
else()
116-
SWIG_ADD_MODULE(libtracics CSharp libtraci.i)
117-
endif()
109+
SWIG_ADD_LIBRARY(libtracics LANGUAGE CSharp SOURCES libtraci.i)
118110
if ((GNU_COMPILER OR CLANG_COMPILER) AND NOT APPLE)
119111
set_source_files_properties(${swig_generated_file_fullname} PROPERTIES COMPILE_FLAGS "-Wno-strict-aliasing")
120-
swig_link_libraries(libtracics -Wl,--whole-archive libtracistatic ${libtcpip} -Wl,--no-whole-archive)
112+
target_link_libraries(libtracics -Wl,--whole-archive libtracistatic ${libtcpip} -Wl,--no-whole-archive)
121113
else()
122-
swig_link_libraries(libtracics libtracistatic ${libtcpip})
114+
target_link_libraries(libtracics libtracistatic ${libtcpip})
123115
endif()
124116
ADD_CUSTOM_COMMAND(TARGET libtracics POST_BUILD
125117
COMMAND ${CMAKE_COMMAND} -E tar "cf" "$<TARGET_FILE_DIR:libtracics>/libtracics-sources.zip" --format=zip "${CS_NAMESPACE}"
@@ -145,10 +137,6 @@ if (SWIG_FOUND)
145137
endif()
146138
SWIG_ADD_LIBRARY(libtraci LANGUAGE python SOURCES libtraci.i)
147139
target_link_libraries(libtraci libtracistatic ${libtcpip} Python::Module)
148-
if (NOT ${PYTHON_SETUPTOOLS_MISSING})
149-
install(CODE "execute_process(COMMAND ${Python_EXECUTABLE} ./build_config/version.py ./build_config/setup-libtraci.py ./setup.py COMMAND ${Python_EXECUTABLE} -m pip install --no-build-isolation --root=\$ENV{DESTDIR}/ --prefix=${CMAKE_INSTALL_PREFIX} -f ${CMAKE_BINARY_DIR} . WORKING_DIRECTORY ${SUMO_TOOLS_DIR})"
150-
COMPONENT pylibtraci)
151-
endif()
152140
endif()
153141
endif(ENABLE_PYTHON_BINDINGS)
154142

0 commit comments

Comments
 (0)