Skip to content

Commit 386479c

Browse files
committed
Revert "Switch back to PythonLibs"
This reverts commit 860b6da.
1 parent 5fe6ce1 commit 386479c

File tree

2 files changed

+22
-43
lines changed

2 files changed

+22
-43
lines changed

.github/workflows/build_osx.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,16 +105,14 @@ jobs:
105105
"-DOCC_INCLUDE_DIR=$base/occt-7.8.1/include/opencascade" \
106106
"-DOCC_LIBRARY_DIR=$base/occt-7.8.1/lib" \
107107
"-DPYTHON_EXECUTABLE=$base/python-3.9.11/bin/python3" \
108-
"-DPYTHON_INCLUDE_DIR=$base/python-3.9.11/include/python3.9" \
109-
"-DPYTHON_LIBRARY=$base/python-3.9.11/lib/libpython3.9.dylib" \
110108
"-DBOOST_ROOT=$base/boost-1.86.0" \
111109
"-DGMP_LIBRARY_DIR=$base/gmp-6.2.1/lib" \
112110
"-DMPFR_LIBRARY_DIR=$base/mpfr-3.1.6/lib"
113111
make -j4 install
114112
115113
- name: Package .zip archives
116114
run: |
117-
base=$(find ./IfcOpenShell/build -maxdepth 4 -name install)
115+
base=$GITHUB_WORKSPACE/IfcOpenShell/build/Darwin/${{ matrix.cpuarch }}/10.9/install
118116
mkdir -p $GITHUB_WORKSPACE/package
119117
cd $GITHUB_WORKSPACE/package
120118

CMakeLists.txt

Lines changed: 21 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ OPTION(ENABLE_TESTS "Enable tests." ON)
1010
OPTION(USE_BUILD_SCRIPT_OUTPUT "Use the ifcopenshell nix/build-all.py or win/build-all.cmd build script output to find dependencies." ON)
1111
OPTION(ENABLE_PYTHON_WRAPPER "Enable Python wrapper." OFF)
1212

13-
cmake_policy(SET CMP0148 OLD)
14-
1513
include(CTest)
1614

1715
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
@@ -318,17 +316,14 @@ if (ENABLE_PYTHON_WRAPPER)
318316
MESSAGE(FATAL_ERROR "ENABLE_PYTHON_WRAPPER enabled, but unable to find SWIG. Disable ENABLE_PYTHON_WRAPPER or fix SWIG paths to proceed.")
319317
ENDIF()
320318
INCLUDE(${SWIG_USE_FILE})
321-
find_package(PythonLibs)
322-
IF(NOT PYTHONLIBS_FOUND OR "$PYTHON_INCLUDE_DIRS}" STREQUAL "")
319+
find_package(Python COMPONENTS Interpreter Development)
320+
IF(NOT Python_FOUND)
323321
MESSAGE(FATAL_ERROR "ENABLE_PYTHON_WRAPPER enabled, but unable to find Python lib or header. Disable ENABLE_PYTHON_WRAPPER or fix Python paths to proceed.")
324322
ENDIF()
325-
find_package(PythonInterp)
326-
IF(NOT PYTHONINTERP_FOUND OR "${PYTHON_EXECUTABLE}" STREQUAL "")
327-
MESSAGE(FATAL_ERROR "ENABLE_PYTHON_WRAPPER enabled, but unable to find Python interpreter. Disable ENABLE_PYTHON_WRAPPER or fix Python paths to proceed.")
328-
ENDIF()
329-
330-
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIRS})
323+
324+
INCLUDE_DIRECTORIES(${Python_INCLUDE_DIRS})
331325
INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR})
326+
link_directories(${Python_LIBRARY_DIRS})
332327

333328
SET(CMAKE_SWIG_FLAGS ${SWIG_DEFINES})
334329
SET_SOURCE_FILES_PROPERTIES(wrap/wrapper.i PROPERTIES CPLUSPLUS ON)
@@ -337,40 +332,26 @@ if (ENABLE_PYTHON_WRAPPER)
337332
# On osx there is some state in the python dylib. With `-Wl,undefined,suppress` we can ignore the missing symbols at compile time.
338333
SWIG_LINK_LIBRARIES(voxec libvoxec)
339334
else()
340-
SWIG_LINK_LIBRARIES(voxec libvoxec ${PYTHON_LIBRARIES})
335+
SWIG_LINK_LIBRARIES(voxec libvoxec ${Python_LIBRARIES})
341336
endif()
342337

343-
EXECUTE_PROCESS(
344-
COMMAND ${PYTHON_EXECUTABLE} -c "import sysconfig; print(sysconfig.get_config_var('EXT_SUFFIX'))"
345-
OUTPUT_VARIABLE PYTHON_EXTENSION_SUFFIX
346-
OUTPUT_STRIP_TRAILING_WHITESPACE
347-
)
348-
MESSAGE(STATUS "${PYTHON_EXTENSION_SUFFIX}")
349-
SET_TARGET_PROPERTIES(${SWIG_MODULE_voxec_REAL_NAME} PROPERTIES SUFFIX ${PYTHON_EXTENSION_SUFFIX})
350-
351-
EXECUTE_PROCESS(
352-
COMMAND ${PYTHON_EXECUTABLE} -c "import sysconfig; print(sysconfig.get_path('platlib'))"
353-
OUTPUT_VARIABLE PYTHON_PLATLIB
354-
OUTPUT_STRIP_TRAILING_WHITESPACE
355-
)
356-
357-
INSTALL(FILES "${CMAKE_BINARY_DIR}/voxec.py" "${CMAKE_CURRENT_SOURCE_DIR}/module/__init__.py"
358-
DESTINATION "${PYTHON_PLATLIB}/voxec/")
359-
INSTALL(TARGETS ${SWIG_MODULE_voxec_REAL_NAME}
360-
DESTINATION "${PYTHON_PLATLIB}/voxec/")
338+
INSTALL(FILES "${CMAKE_BINARY_DIR}/voxec.py" "${CMAKE_CURRENT_SOURCE_DIR}/module/__init__.py"
339+
DESTINATION "${Python_SITEARCH}/voxec/")
340+
INSTALL(TARGETS ${SWIG_MODULE_voxec_REAL_NAME}
341+
DESTINATION "${Python_SITEARCH}/voxec/")
361342
endif()
362343

363344
if (ENABLE_TESTS)
364345
file(GLOB test_filenames tests/*.cpp)
365346
foreach(filename ${test_filenames})
366-
get_filename_component(test_name ${filename} NAME_WE)
367-
add_executable("${test_name}" ${filename})
368-
SET(libvoxec_IF_USED "")
369-
if ("${test_name}" MATCHES "parser")
370-
SET(libvoxec_IF_USED libvoxec)
371-
endif()
372-
target_link_libraries("${test_name}" gtest_main libvoxel ${libvoxec_IF_USED} ${IFC_LIBRARIES} ${ICU_LIBRARIES} ${Boost_LIBRARIES} ${OCC_LIBRARIES} ${LIB_RT} ${dl} ${CMAKE_THREAD_LIBS_INIT})
373-
add_test(NAME "${test_name}" COMMAND "${test_name}")
347+
get_filename_component(test_name ${filename} NAME_WE)
348+
add_executable("${test_name}" ${filename})
349+
SET(libvoxec_IF_USED "")
350+
if ("${test_name}" MATCHES "parser")
351+
SET(libvoxec_IF_USED libvoxec)
352+
endif()
353+
target_link_libraries("${test_name}" gtest_main libvoxel ${libvoxec_IF_USED} ${IFC_LIBRARIES} ${ICU_LIBRARIES} ${Boost_LIBRARIES} ${OCC_LIBRARIES} ${LIB_RT} ${dl} ${CMAKE_THREAD_LIBS_INIT})
354+
add_test(NAME "${test_name}" COMMAND "${test_name}")
374355
endforeach()
375356
endif()
376357

@@ -382,8 +363,8 @@ target_link_libraries(voxec_exe libvoxec)
382363
set_property(TARGET voxec_exe PROPERTY OUTPUT_NAME voxec)
383364

384365
install(TARGETS voxec_exe libvoxel libvoxec
385-
RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
386-
LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
387-
ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
366+
RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
367+
LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
368+
ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
388369

389370
install(FILES ${LIBVOXELIZER_HEADER_FILES} ${LIBVOXEC_HEADER_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/voxel)

0 commit comments

Comments
 (0)