Skip to content

Commit a9f89d9

Browse files
committed
fix6
Signed-off-by: Cary Phillips <cary@ilm.com>
1 parent 853ff2a commit a9f89d9

3 files changed

Lines changed: 74 additions & 90 deletions

File tree

src/pybind11/PyBindImath/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ set(PYBINDIMATH_HEADERS
2525
# Shared Library
2626
#
2727

28-
set(PYBINDIMATH_LIBRARY PyBindImath_Python${Python3_VERSION_MAJOR}_${Python3_VERSION_MINOR}) # libPyBindImath_Python3_10.so
28+
set(PYBINDIMATH_LIBRARY PyBindImath_Python${Python3_VERSION_MAJOR}_${Python3_VERSION_MINOR}${IMATH_LIB_SUFFIX}) # libPyBindImath_Python3_10-3_2.so
2929

3030
add_library(${PYBINDIMATH_LIBRARY} SHARED ${PYBINDIMATH_SOURCES})
3131

@@ -57,6 +57,7 @@ target_link_libraries(${PYBINDIMATH_MODULE} PRIVATE Imath::Imath)
5757

5858
set_target_properties(${PYBINDIMATH_MODULE} PROPERTIES
5959
PREFIX ""
60+
DEBUG_POSTFIX ""
6061
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/python${Python3_VERSION_MAJOR}_${Python3_VERSION_MINOR}/"
6162
)
6263

src/python/PyImath/CMakeLists.txt

Lines changed: 56 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ message(STATUS "Configuring imath module")
66
#
77
# Declare the libPyImath library, identified by PYIMATH_LIBRARY
88
#
9-
# The name has a "_Python3_<minor>" suffix, i.e. libPyImath_Python3_10.so
9+
# The name has a "_Python3_<minor>" suffix, i.e. libPyImath_Python3_10-3_2.so
1010
#
1111

12-
set(PYIMATH_LIBRARY PyImath_Python${Python3_VERSION_MAJOR}_${Python3_VERSION_MINOR})
12+
set(PYIMATH_LIBRARY PyImath_Python${Python3_VERSION_MAJOR}_${Python3_VERSION_MINOR}${IMATH_LIB_SUFFIX})
1313

1414
set(PYIMATH_SOURCES
1515
PyImath.cpp
@@ -129,6 +129,8 @@ set_target_properties(${PYIMATH_LIBRARY} PROPERTIES
129129
# Declare the python module, identified by PYIMATH_MODULE
130130
#
131131

132+
set(CMAKE_DEBUG_POSTFIX "")
133+
132134
set(PYIMATH_MODULE imath)
133135

134136
set(PYIMATH_MODULE_SOURCES
@@ -146,6 +148,7 @@ endif()
146148

147149
set_target_properties(${PYIMATH_MODULE} PROPERTIES
148150
PREFIX ""
151+
OUTPUT_NAME ${PYIMATH_MODULE} # override the _d suffix for Debug builds
149152
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/python${Python3_VERSION_MAJOR}_${Python3_VERSION_MINOR}/"
150153
)
151154

@@ -195,82 +198,67 @@ if (IMATH_INSTALL)
195198

196199
include(GNUInstallDirs)
197200

198-
if(SKBUILD)
199201

200-
#
201-
# scikit-build, for the python wheel. Ignore the library, we only
202-
# need the module.
203-
#
204-
205-
message(STATUS "setting PYTHON_INSTALL_DIR to skbuild: ${SKBUILD_PLATLIB_DIR}")
206-
set(PYTHON_INSTALL_DIR ${SKBUILD_PLATLIB_DIR})
207-
set(CMAKE_BINARY_DIR ${SKBUILD_PLATLIB_DIR})
202+
#
203+
# Set the PYTHON_INSTALL_DIR but only if it's not already set,
204+
# which allows an externally-set value to take effect.
205+
#
206+
207+
if (NOT DEFINED PYTHON_INSTALL_DIR)
208208

209-
install(TARGETS ${PYIMATH_MODULE} LIBRARY DESTINATION ${PYTHON_INSTALL_DIR})
209+
set(PYTHON_INSTALL_DIR "lib/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages")
210+
message(STATUS "installing ${PYIMATH_MODULE} module to ${PYTHON_INSTALL_DIR}")
210211

211212
else()
212213

213-
#
214-
# Set the PYTHON_INSTALL_DIR but only if it's not already set,
215-
# which allows an externally-set value to take effect.
216-
#
217-
218-
if (NOT DEFINED PYTHON_INSTALL_DIR)
219-
220-
set(PYTHON_INSTALL_DIR "lib/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages")
221-
message(STATUS "installing ${PYIMATH_MODULE} module to ${PYTHON_INSTALL_DIR}")
222-
223-
else()
224-
225-
message(STATUS "installing ${PYIMATH_MODULE} module to ${PYTHON_INSTALL_DIR} (set externally)")
214+
message(STATUS "installing ${PYIMATH_MODULE} module to ${PYTHON_INSTALL_DIR} (set externally)")
226215

227-
endif()
216+
endif()
228217

229-
#
230-
# Install the python module
231-
#
218+
#
219+
# Install the python module
220+
#
232221

233-
install(TARGETS ${PYIMATH_MODULE} LIBRARY DESTINATION ${PYTHON_INSTALL_DIR})
222+
install(TARGETS ${PYIMATH_MODULE} LIBRARY DESTINATION ${PYTHON_INSTALL_DIR})
234223

235-
#
236-
# Install the library
237-
#
224+
#
225+
# Install the library
226+
#
238227

239-
install(TARGETS ${PYIMATH_LIBRARY}
240-
EXPORT "${PYIMATH_LIBRARY}Targets"
241-
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
242-
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
243-
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
244-
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
245-
)
228+
install(TARGETS ${PYIMATH_LIBRARY}
229+
EXPORT "${PYIMATH_LIBRARY}Targets"
230+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
231+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
232+
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
233+
INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
234+
)
246235

247-
# Install headers
236+
# Install headers
248237

249-
install(FILES ${PYIMATH_HEADERS}
250-
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PYIMATH_LIBRARY})
238+
install(FILES ${PYIMATH_HEADERS}
239+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/${PYIMATH_LIBRARY})
251240

252-
# Install export set for downstream CMake
241+
# Install export set for downstream CMake
253242

254-
install(EXPORT ${PYIMATH_LIBRARY}Targets
255-
FILE ${PYIMATH_LIBRARY}Targets.cmake
256-
NAMESPACE ${PYIMATH_LIBRARY}::
257-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PYIMATH_LIBRARY}
258-
)
243+
install(EXPORT ${PYIMATH_LIBRARY}Targets
244+
FILE ${PYIMATH_LIBRARY}Targets.cmake
245+
NAMESPACE ${PYIMATH_LIBRARY}::
246+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PYIMATH_LIBRARY}
247+
)
259248

260-
# Config file for find_package()
261-
include(CMakePackageConfigHelpers)
249+
# Config file for find_package()
250+
include(CMakePackageConfigHelpers)
262251

263-
write_basic_package_version_file(
264-
"${CMAKE_CURRENT_BINARY_DIR}/${PYIMATH_LIBRARY}ConfigVersion.cmake"
265-
VERSION 1.0.0
266-
COMPATIBILITY AnyNewerVersion
267-
)
252+
write_basic_package_version_file(
253+
"${CMAKE_CURRENT_BINARY_DIR}/${PYIMATH_LIBRARY}ConfigVersion.cmake"
254+
VERSION 1.0.0
255+
COMPATIBILITY AnyNewerVersion
256+
)
268257

269-
install(FILES
270-
"${CMAKE_CURRENT_BINARY_DIR}/${PYIMATH_LIBRARY}ConfigVersion.cmake"
271-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PYIMATH_LIBRARY}
272-
)
273-
endif()
258+
install(FILES
259+
"${CMAKE_CURRENT_BINARY_DIR}/${PYIMATH_LIBRARY}ConfigVersion.cmake"
260+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PYIMATH_LIBRARY}
261+
)
274262

275263
endif()
276264

@@ -297,3 +285,10 @@ if (MSVC)
297285
target_compile_options(${PYIMATH_LIBRARY} PRIVATE /bigobj)
298286
endif()
299287

288+
#
289+
# Suppress boost's pragma messages about deprecated headers:
290+
# include/boost/detail/iterator.hpp:13:1: note: ‘#pragma message: This header is deprecated. Use <iterator> instead.’
291+
# BOOST_HEADER_DEPRECATED("<iterator>")
292+
#
293+
294+
target_compile_definitions(${PYIMATH_LIBRARY} PRIVATE BOOST_ALLOW_DEPRECATED_HEADERS BOOST_BIND_GLOBAL_PLACEHOLDERS)

src/python/PyImathNumpy/CMakeLists.txt

Lines changed: 16 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ message(STATUS "Configuring imathnumpy module")
55

66
set(PYIMATHNUMPY_MODULE imathnumpy)
77

8+
set(CMAKE_DEBUG_POSTFIX "")
9+
810
add_library(${PYIMATHNUMPY_MODULE} MODULE imathnumpymodule.cpp)
911

1012
target_link_libraries(${PYIMATHNUMPY_MODULE}
@@ -17,6 +19,7 @@ target_link_libraries(${PYIMATHNUMPY_MODULE}
1719

1820
set_target_properties(${PYIMATHNUMPY_MODULE} PROPERTIES
1921
PREFIX ""
22+
OUTPUT_NAME ${PYIMATHNUMPY_MODULE} # override the _d suffix for Debug builds
2023
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/python${Python3_VERSION_MAJOR}_${Python3_VERSION_MINOR}/"
2124
)
2225

@@ -33,40 +36,23 @@ if (IMATH_INSTALL)
3336

3437
include(GNUInstallDirs)
3538

36-
if(SKBUILD)
37-
38-
#
39-
# scikit-build, for the python wheel. Ignore the library, we only
40-
# need the module.
41-
#
42-
43-
message(STATUS "setting PYTHON_INSTALL_DIR to skbuild: ${SKBUILD_PLATLIB_DIR}")
44-
set(PYTHON_INSTALL_DIR ${SKBUILD_PLATLIB_DIR})
45-
set(CMAKE_BINARY_DIR ${SKBUILD_PLATLIB_DIR})
39+
#
40+
# Set the PYTHON_INSTALL_DIR but only if it's not already set,
41+
# which allows an externally-set value to take effect.
42+
#
43+
44+
if (NOT DEFINED PYTHON_INSTALL_DIR)
4645

47-
install(TARGETS ${PYIMATHNUMPY_MODULE} LIBRARY DESTINATION ${PYTHON_INSTALL_DIR})
46+
set(PYTHON_INSTALL_DIR "lib/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages")
47+
message(STATUS "installing ${PYIMATHNUMPY_MODULE} module to ${PYTHON_INSTALL_DIR}")
4848

4949
else()
5050

51-
#
52-
# Set the PYTHON_INSTALL_DIR but only if it's not already set,
53-
# which allows an externally-set value to take effect.
54-
#
55-
56-
if (NOT DEFINED PYTHON_INSTALL_DIR)
57-
58-
set(PYTHON_INSTALL_DIR "lib/python${Python3_VERSION_MAJOR}.${Python3_VERSION_MINOR}/site-packages")
59-
message(STATUS "installing ${PYIMATHNUMPY_MODULE} module to ${PYTHON_INSTALL_DIR}")
60-
61-
else()
62-
63-
message(STATUS "installing ${PYIMATHNUMPY_MODULE} module to ${PYTHON_INSTALL_DIR} (set externally)")
64-
65-
endif()
51+
message(STATUS "installing ${PYIMATHNUMPY_MODULE} module to ${PYTHON_INSTALL_DIR} (set externally)")
6652

67-
install(TARGETS ${PYIMATHNUMPY_MODULE} LIBRARY DESTINATION ${PYTHON_INSTALL_DIR})
68-
6953
endif()
54+
55+
install(TARGETS ${PYIMATHNUMPY_MODULE} LIBRARY DESTINATION ${PYTHON_INSTALL_DIR})
7056

7157
endif()
7258

@@ -88,3 +74,5 @@ elseif(NOT CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
8874
PROPERTIES COMPILE_FLAGS "-Wdeprecated-declarations"
8975
)
9076
endif()
77+
78+
target_compile_definitions(${PYIMATH_LIBRARY} PRIVATE BOOST_ALLOW_DEPRECATED_HEADERS BOOST_BIND_GLOBAL_PLACEHOLDERS)

0 commit comments

Comments
 (0)