Skip to content

Commit f079035

Browse files
committed
modernize if available
1 parent 6b4d5f3 commit f079035

File tree

2 files changed

+6
-35
lines changed

2 files changed

+6
-35
lines changed

CMakeLists.txt

Lines changed: 5 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -68,23 +68,8 @@ ELSE(WIN32)
6868
SET(LINK create_symlink)
6969
ENDIF(WIN32)
7070

71-
set(PYTHON_COMPONENTS Interpreter)
72-
if(CMAKE_VERSION VERSION_LESS "3.18")
73-
# Development.Module only require headers, so it's best for our module
74-
# But it's not available before CMake 3.18
75-
set(PYTHON_COMPONENTS ${PYTHON_COMPONENTS} Development)
76-
else()
77-
set(PYTHON_COMPONENTS ${PYTHON_COMPONENTS} Development.Module)
78-
endif()
79-
if(NOT CMAKE_VERSION VERSION_LESS "3.14")
80-
# NumPy provides a standard CMake imported target,
81-
# But it's not available before CMake 3.14
82-
set(PYTHON_COMPONENTS ${PYTHON_COMPONENTS} NumPy)
83-
endif()
71+
set(PYTHON_COMPONENTS Interpreter Development.Module NumPy)
8472
FINDPYTHON()
85-
if(CMAKE_VERSION VERSION_LESS "3.14")
86-
FIND_NUMPY()
87-
endif()
8873

8974
IF(WIN32)
9075
LINK_DIRECTORIES(${PYTHON_LIBRARY_DIRS})
@@ -218,19 +203,10 @@ TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME}
218203
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
219204
$<INSTALL_INTERFACE:include>)
220205

221-
if(TARGET Eigen3::Eigen)
222-
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC Eigen3::Eigen)
223-
else()
224-
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} SYSTEM PUBLIC ${EIGEN3_INCLUDE_DIR})
225-
endif()
206+
MODERNIZE_LINK(${PROJECT_NAME} SCOPE PUBLIC TARGETS Eigen3::Eigen INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR})
226207

227-
if(TARGET Python3::NumPy)
228-
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC Python3::NumPy)
229-
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} SYSTEM PRIVATE ${Python3_INCLUDE_DIRS})
230-
else()
231-
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} SYSTEM PUBLIC ${NUMPY_INCLUDE_DIRS})
232-
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} SYSTEM PRIVATE ${PYTHON_INCLUDE_DIRS})
233-
endif()
208+
MODERNIZE_LINK(${PROJECT_NAME} SCOPE PUBLIC TARGETS Python3::NumPy INCLUDE_DIRS ${NUMPY_INCLUDE_DIR})
209+
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} SYSTEM PRIVATE ${PYTHON_INCLUDE_DIRS})
234210

235211
IF(SUFFIX_SO_VERSION)
236212
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES SOVERSION ${PROJECT_VERSION})
@@ -242,12 +218,7 @@ ELSE()
242218
TARGET_COMPILE_OPTIONS(${PROJECT_NAME} PRIVATE $<$<CXX_COMPILER_ID:MSVC>:-bigobj>)
243219
ENDIF()
244220

245-
if(TARGET Boost::python3${Python3_VERSION_MINOR} AND NOT APPLE)
246-
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC Boost::python3${Python3_VERSION_MINOR})
247-
else()
248-
TARGET_LINK_BOOST_PYTHON(${PROJECT_NAME} PUBLIC)
249-
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} SYSTEM PUBLIC ${Boost_INCLUDE_DIRS})
250-
endif()
221+
TARGET_LINK_BOOST_PYTHON(${PROJECT_NAME} PUBLIC)
251222
INSTALL(TARGETS ${PROJECT_NAME}
252223
EXPORT ${TARGETS_EXPORT_NAME}
253224
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}

0 commit comments

Comments
 (0)