@@ -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
1414set (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+
132134set (PYIMATH_MODULE imath)
133135
134136set (PYIMATH_MODULE_SOURCES
@@ -146,6 +148,7 @@ endif()
146148
147149set_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
275263endif ()
276264
@@ -297,3 +285,10 @@ if (MSVC)
297285 target_compile_options (${PYIMATH_LIBRARY} PRIVATE /bigobj )
298286endif ()
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 )
0 commit comments