Skip to content

Commit 1bf49c1

Browse files
repaghroryyorke
authored andcommitted
small update to the CMakeLists.txt files, feedback on locations lib/headers
1 parent dec9f58 commit 1bf49c1

File tree

2 files changed

+26
-23
lines changed

2 files changed

+26
-23
lines changed

CMakeLists.txt

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
# CMake file for use in conjunction with scikit-build
22

3-
cmake_minimum_required(VERSION 3.4.0)
3+
cmake_minimum_required(VERSION 3.11.0)
44

55
if (CMAKE_VERSION VERSION_GREATER "3.11.99")
66
cmake_policy(SET CMP0074 NEW)
77
endif()
88

99
project(slycot VERSION ${SLYCOT_VERSION} LANGUAGES NONE)
10-
1110
# Fortran detection fails on windows, use the CMAKE_C_SIMULATE flag to
1211
# force success
1312
if(WIN32)
@@ -19,12 +18,24 @@ endif()
1918
enable_language(C)
2019
enable_language(Fortran)
2120

21+
# base site dir, use python installation for location specific includes
22+
execute_process(
23+
COMMAND "${PYTHON_EXECUTABLE}" -c
24+
"import os,numpy; print(os.path.dirname(numpy.__path__[0]))"
25+
OUTPUT_VARIABLE PYTHON_SITE
26+
OUTPUT_STRIP_TRAILING_WHITESPACE)
27+
if(WIN32)
28+
string(REPLACE "\\" "/" PYTHON_SITE ${PYTHON_SITE})
29+
endif()
2230

2331
find_package(PythonLibs REQUIRED)
2432
find_package(NumPy REQUIRED)
2533
find_package(BLAS REQUIRED)
2634
find_package(LAPACK REQUIRED)
35+
36+
message(STATUS "NumPy: ${NumPy_INCLUDE_DIR}")
2737
message(STATUS "LAPACK: ${LAPACK_LIBRARIES}")
38+
message(STATUS "BLAS: ${BLAS_LIBRARIES}")
2839
message(STATUS "Slycot version: ${SLYCOT_VERSION}")
2940

3041
# find python, standard packages, F2PY find flaky on Windows
@@ -37,15 +48,5 @@ if (WIN32)
3748
set(CMAKE_Fortran_COMPILE_OPTIONS_PIC "")
3849
endif()
3950

40-
# base site dir, use python installation for location specific includes
41-
execute_process(
42-
COMMAND "${PYTHON_EXECUTABLE}" -c
43-
"import os,numpy; print(os.path.dirname(numpy.__path__[0]))"
44-
OUTPUT_VARIABLE PYTHON_SITE
45-
OUTPUT_STRIP_TRAILING_WHITESPACE)
46-
if(WIN32)
47-
string(REPLACE "\\" "/" PYTHON_SITE ${PYTHON_SITE})
48-
endif()
49-
5051
add_subdirectory(slycot)
5152

slycot/CMakeLists.txt

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -131,21 +131,29 @@ set(CMAKE_Fortran_FLAGS )
131131

132132
add_custom_target(wrapper ALL DEPENDS ${FSOURCES})
133133
add_custom_command(
134-
OUTPUT SLYCOTmodule.c _wrappermodule.c _wrapper-f2pywrappers.f
134+
OUTPUT _wrappermodule.c _wrapper-f2pywrappers.f
135135
COMMAND ${F2PY_EXECUTABLE} -m SLYCOT
136136
${CMAKE_CURRENT_SOURCE_DIR}/${F2PYSOURCE}
137137
DEPENDS ${F2PYSOURCE_DEPS} ${F2PYSOURCE}
138138
)
139139

140140
add_library(
141141
${SLYCOT_MODULE} MODULE
142-
SLYCOTmodule.c _wrappermodule.c _wrapper-f2pywrappers.f
143-
"${PYTHON_SITE}/numpy/f2py/src/fortranobject.c"
142+
_wrappermodule.c
143+
${PYTHON_SITE}/numpy/f2py/src/fortranobject.c
144+
_wrapper-f2pywrappers.f
144145
${FSOURCES})
145146

146147
target_link_libraries(${SLYCOT_MODULE}
147148
${LAPACK_LIBRARIES})
148149

150+
target_include_directories(
151+
${SLYCOT_MODULE} PUBLIC
152+
${PYTHON_SITE}/numpy/core/include
153+
${PYTHON_SITE}/numpy/f2py/src
154+
${PYTHON_INCLUDE_DIRS}
155+
)
156+
149157
if (UNIX)
150158
if (APPLE)
151159
set_target_properties(${SLYCOT_MODULE} PROPERTIES
@@ -156,15 +164,9 @@ if (UNIX)
156164
endif()
157165
endif()
158166

159-
target_include_directories(
160-
${SLYCOT_MODULE} PUBLIC
161-
${PYTHON_SITE}/numpy/core/include
162-
${PYTHON_SITE}/numpy/f2py/src
163-
${PYTHON_INCLUDE_DIRS}
164-
)
165-
166167
python_extension_module(${SLYCOT_MODULE})
167-
install(TARGETS ${SLYCOT_MODULE} DESTINATION slycot)
168+
169+
install(TARGETS ${SLYCOT_MODULE} LIBRARY DESTINATION slycot)
168170
install(FILES ${PYSOURCE} DESTINATION slycot)
169171

170172
add_subdirectory(tests)

0 commit comments

Comments
 (0)