Skip to content

Commit 8280d44

Browse files
committed
some updates for cmake 4.0 and pixi
1 parent 9e6d3e5 commit 8280d44

File tree

3 files changed

+42
-53
lines changed

3 files changed

+42
-53
lines changed

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ dependencies = [
2929
"pint",
3030
"scipy",
3131
]
32-
requires-python = ">=3.8"
32+
requires-python = ">=3.8,<3.12"
3333
description = "Underworld2 is a python-friendly, parallel, scalable, easy-to-use toolkit for solving problems in solid and fluid mechanics."
3434
readme = "README.md"
3535
keywords = ["Underworld", "MPI", "Geodynamics"]

src/underworld/libUnderworld/CMakeLists.txt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
cmake_minimum_required(VERSION 3.16)
1+
#cmake_minimum_required(VERSION 3.16)
2+
cmake_minimum_required(VERSION 4.0)
23
cmake_policy(SET CMP0078 OLD)
34

45
# Set some Global options for CMAKE

src/underworld/libUnderworld/libUnderworldPy/CMakeLists.txt

Lines changed: 39 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -29,98 +29,86 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
2929

3030
SET(CMAKE_SWIG_FLAGS "-v" "-Wextra" "-O" "-c++" "-DSWIG_DO_NOT_WRAP")
3131

32-
message("Swig diagnostics:")
32+
message("Swig section diagnostics:")
3333
get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
34+
message(STATUS "INCLUDE_DIRECTORIES")
3435
foreach(dir ${dirs})
35-
message(STATUS "dir='${dir}'")
36+
message(STATUS " '${dir}'")
3637
endforeach()
3738
message(STATUS "UW_LIBRARIES=${UW_LIBRARIES}")
3839
message(STATUS "PETSc_LIBRARIES=${PETSc_LIBRARIES}")
3940
message("End Swig diagnostics:")
4041

41-
set_source_files_properties(Function.i PROPERTIES
42-
CPLUSPLUS ON
43-
SWIG_MODULE_NAME Function)
42+
set_source_files_properties(Function.i PROPERTIES CPLUSPLUS ON SWIG_MODULE_NAME Function)
4443
# This create swig module target, SWIG_MODULE_Function_REAL_NAME with CMP0078 != NEW
45-
swig_add_library(Function
46-
TYPE SHARED
47-
LANGUAGE python
48-
SOURCES Function.i
49-
)
50-
set_target_properties(${SWIG_MODULE_Function_REAL_NAME} PROPERTIES
51-
SUFFIX ".so" )
52-
53-
target_link_libraries(${SWIG_MODULE_Function_REAL_NAME}
54-
PRIVATE ${UW_LIBRARIES}
55-
PRIVATE ${PETSc_LIBRARIES})
44+
swig_add_library(Function TYPE SHARED LANGUAGE python SOURCES Function.i)
45+
set_target_properties(${SWIG_MODULE_Function_REAL_NAME} PROPERTIES SUFFIX ".so" )
46+
target_link_libraries(${SWIG_MODULE_Function_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES} PRIVATE Python3::Module)
5647

57-
set_source_files_properties(c_arrays.i PROPERTIES
58-
CPLUSPLUS ON
59-
SWIG_MODULE_NAME c_arrays)
48+
set_source_files_properties(c_arrays.i PROPERTIES CPLUSPLUS ON SWIG_MODULE_NAME c_arrays)
6049
swig_add_library(c_arrays TYPE SHARED LANGUAGE python SOURCES c_arrays.i)
6150
set_target_properties(${SWIG_MODULE_c_arrays_REAL_NAME} PROPERTIES SUFFIX ".so")
62-
target_link_libraries(${SWIG_MODULE_c_arrays_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES})
51+
target_link_libraries(${SWIG_MODULE_c_arrays_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES} PRIVATE Python3::Module)
6352

64-
set_source_files_properties(c_pointers.i PROPERTIES
65-
CPLUSPLUS ON
66-
SWIG_MODULE_NAME c_pointers)
53+
set_source_files_properties(c_pointers.i PROPERTIES CPLUSPLUS ON SWIG_MODULE_NAME c_pointers)
6754
swig_add_library(c_pointers TYPE SHARED LANGUAGE python SOURCES c_pointers.i)
6855
set_target_properties(${SWIG_MODULE_c_pointers_REAL_NAME} PROPERTIES SUFFIX ".so")
69-
target_link_libraries(${SWIG_MODULE_c_pointers_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES})
56+
target_link_libraries(${SWIG_MODULE_c_pointers_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES} PRIVATE Python3::Module)
7057

71-
set_source_files_properties(gLucifer.i PROPERTIES CPLUSPLUS ON)
72-
set_property(SOURCE gLucifer.i PROPERTY SWIG_MODULE_NAME gLucifer)
58+
set_source_files_properties(gLucifer.i PROPERTIES CPLUSPLUS ON SWIG_MODULE_NAME gLucifer)
59+
#set_property(SOURCE gLucifer.i PROPERTY SWIG_MODULE_NAME gLucifer)
7360
swig_add_library(gLucifer TYPE SHARED LANGUAGE python SOURCES gLucifer.i)
7461
set_target_properties(${SWIG_MODULE_gLucifer_REAL_NAME} PROPERTIES SUFFIX ".so")
75-
target_link_libraries(${SWIG_MODULE_gLucifer_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES})
62+
target_link_libraries(${SWIG_MODULE_gLucifer_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES} PRIVATE Python3::Module)
63+
7664

77-
set_source_files_properties(petsc.i PROPERTIES CPLUSPLUS ON)
78-
set_property(SOURCE petsc.i PROPERTY SWIG_MODULE_NAME petsc)
65+
set_source_files_properties(petsc.i PROPERTIES CPLUSPLUS ON SWIG_MODULE_NAME petsc)
66+
#set_property(SOURCE petsc.i PROPERTY SWIG_MODULE_NAME petsc)
7967
swig_add_library(petsc TYPE SHARED LANGUAGE python SOURCES petsc.i)
8068
set_target_properties(${SWIG_MODULE_petsc_REAL_NAME} PROPERTIES SUFFIX ".so")
81-
target_link_libraries(${SWIG_MODULE_petsc_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES})
69+
target_link_libraries(${SWIG_MODULE_petsc_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES} PRIVATE Python3::Module)
8270

83-
set_source_files_properties(PICellerator.i PROPERTIES CPLUSPLUS ON)
84-
set_property(SOURCE PICellerator.i PROPERTY SWIG_MODULE_NAME PICellerator)
71+
set_source_files_properties(PICellerator.i PROPERTIES CPLUSPLUS ON SWIG_MODULE_NAME PICellerator)
72+
#set_property(SOURCE PICellerator.i PROPERTY SWIG_MODULE_NAME PICellerator)
8573
swig_add_library(PICellerator TYPE SHARED LANGUAGE python SOURCES PICellerator.i)
8674
set_target_properties(${SWIG_MODULE_PICellerator_REAL_NAME} PROPERTIES SUFFIX ".so")
87-
target_link_libraries(${SWIG_MODULE_PICellerator_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES})
75+
target_link_libraries(${SWIG_MODULE_PICellerator_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES} PRIVATE Python3::Module)
8876

89-
set_source_files_properties(Solvers.i PROPERTIES CPLUSPLUS ON)
90-
set_property(SOURCE Solvers.i PROPERTY SWIG_MODULE_NAME Solvers)
77+
set_source_files_properties(Solvers.i PROPERTIES CPLUSPLUS ON SWIG_MODULE_NAME Solvers)
78+
#set_property(SOURCE Solvers.i PROPERTY SWIG_MODULE_NAME Solvers)
9179
swig_add_library(Solvers TYPE SHARED LANGUAGE python SOURCES Solvers.i)
9280
set_target_properties(${SWIG_MODULE_Solvers_REAL_NAME} PROPERTIES SUFFIX ".so")
93-
target_link_libraries(${SWIG_MODULE_Solvers_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES})
81+
target_link_libraries(${SWIG_MODULE_Solvers_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES} PRIVATE Python3::Module)
9482

95-
set_source_files_properties(StgDomain.i PROPERTIES CPLUSPLUS ON)
96-
set_property(SOURCE StgDomain.i PROPERTY SWIG_MODULE_NAME StgDomain)
83+
set_source_files_properties(StgDomain.i PROPERTIES CPLUSPLUS ON SWIG_MODULE_NAME StgDomain)
84+
#set_property(SOURCE StgDomain.i PROPERTY SWIG_MODULE_NAME StgDomain)
9785
swig_add_library(StgDomain TYPE SHARED LANGUAGE python SOURCES StgDomain.i)
9886
set_target_properties(${SWIG_MODULE_StgDomain_REAL_NAME} PROPERTIES SUFFIX ".so")
99-
target_link_libraries(${SWIG_MODULE_StgDomain_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES})
87+
target_link_libraries(${SWIG_MODULE_StgDomain_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES} PRIVATE Python3::Module)
10088

101-
set_source_files_properties(StGermain.i PROPERTIES CPLUSPLUS ON)
102-
set_property(SOURCE StGermain.i PROPERTY SWIG_MODULE_NAME StGermain)
89+
set_source_files_properties(StGermain.i PROPERTIES CPLUSPLUS ON SWIG_MODULE_NAME StGermain)
90+
#set_property(SOURCE StGermain.i PROPERTY SWIG_MODULE_NAME StGermain)
10391
swig_add_library(StGermain TYPE SHARED LANGUAGE python SOURCES StGermain.i)
10492
set_target_properties(${SWIG_MODULE_StGermain_REAL_NAME} PROPERTIES SUFFIX ".so")
105-
target_link_libraries(${SWIG_MODULE_StGermain_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES})
93+
target_link_libraries(${SWIG_MODULE_StGermain_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES} PRIVATE Python3::Module)
10694

107-
set_source_files_properties(StGermain_Tools.i PROPERTIES CPLUSPLUS ON)
108-
set_property(SOURCE StGermain_Tools.i PROPERTY SWIG_MODULE_NAME StGermain_Tools)
95+
set_source_files_properties(StGermain_Tools.i PROPERTIES CPLUSPLUS ON SWIG_MODULE_NAME StGermain_Tools)
96+
#set_property(SOURCE StGermain_Tools.i PROPERTY SWIG_MODULE_NAME StGermain_Tools)
10997
swig_add_library(StGermain_Tools TYPE SHARED LANGUAGE python SOURCES StGermain_Tools.i StGermain_Tools.c)
11098
set_target_properties(${SWIG_MODULE_StGermain_Tools_REAL_NAME} PROPERTIES SUFFIX ".so")
111-
target_link_libraries(${SWIG_MODULE_StGermain_Tools_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES})
99+
target_link_libraries(${SWIG_MODULE_StGermain_Tools_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES} PRIVATE Python3::Module)
112100

113-
set_source_files_properties(StgFEM.i PROPERTIES CPLUSPLUS ON)
114-
set_property(SOURCE StgFEM.i PROPERTY SWIG_MODULE_NAME StgFEM)
101+
set_source_files_properties(StgFEM.i PROPERTIES CPLUSPLUS ON SWIG_MODULE_NAME StgFEM)
102+
#set_property(SOURCE StgFEM.i PROPERTY SWIG_MODULE_NAME StgFEM)
115103
swig_add_library(StgFEM TYPE SHARED LANGUAGE python SOURCES StgFEM.i)
116104
set_target_properties(${SWIG_MODULE_StgFEM_REAL_NAME} PROPERTIES SUFFIX ".so")
117-
target_link_libraries(${SWIG_MODULE_StgFEM_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES})
105+
target_link_libraries(${SWIG_MODULE_StgFEM_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES} PRIVATE Python3::Module)
118106

119-
set_source_files_properties(Underworld.i PROPERTIES CPLUSPLUS ON)
120-
set_property(SOURCE Underworld.i PROPERTY SWIG_MODULE_NAME Underworld)
107+
set_source_files_properties(Underworld.i PROPERTIES CPLUSPLUS ON SWIG_MODULE_NAME Underworld)
108+
#set_property(SOURCE Underworld.i PROPERTY SWIG_MODULE_NAME Underworld)
121109
swig_add_library(Underworld TYPE SHARED LANGUAGE python SOURCES Underworld.i)
122110
set_target_properties(${SWIG_MODULE_Underworld_REAL_NAME} PROPERTIES SUFFIX ".so")
123-
target_link_libraries(${SWIG_MODULE_Underworld_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES})
111+
target_link_libraries(${SWIG_MODULE_Underworld_REAL_NAME} PRIVATE ${UW_LIBRARIES} PRIVATE ${PETSc_LIBRARIES} PRIVATE Python3::Module)
124112

125113
# Handle where to install the resulting Python package
126114
if(CALL_FROM_SETUP_PY)

0 commit comments

Comments
 (0)