blob: 2d42c1bc99c03bb5e2613d97e92e44331a03c3d8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO sandialabs/seacas
REF 47120843900fd7ef845688fa145ebf76a825bc51
SHA512 13677746457edbd4b3619576a6c474f5d8ab2eb24f648fac687e655e3121282b62994575723d18db8d18b42266d219aa4d83344ecff53f5e9a737513a3461180
HEAD_REF master
PATCHES fix_tpl_libs.patch
fix-ioss-includes.patch
deps-and-shared.patch
fix-mpi.patch
fix-headers.patch
fix-fmt-10.patch
fix-build-error-with-fmt11.patch
netcdf-c.diff
use-std-localtime.patch
)
file(REMOVE "${SOURCE_PATH}/cmake/tribits/common_tpls/find_modules/FindHDF5.cmake")
if(HDF5_WITH_PARALLEL AND NOT "mpi" IN_LIST FEATURES)
message(WARNING "${HDF5_WITH_PARALLEL} Enabling MPI in seacas.")
list(APPEND FEATURES "mpi")
elseif(NOT VCPKG_TARGET_IS_OSX)
set(PARMETIS_FEATURES mpi TPL_ENABLE_ParMETIS)
endif()
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
mpi TPL_ENABLE_MPI
matio TPL_ENABLE_Matio
# mpi TPL_ENABLE_Pnetcdf # missing Pnetcdf port
${PARMETIS_FEATURES}
)
if(VCPKG_TARGET_IS_WINDOWS)
list(APPEND FEATURE_OPTIONS "-DTPL_ENABLE_DLlib:BOOL=OFF")
endif()
set(tpl_disable_list GTest DataWarp Pamgen X11 CUDA Kokkos Faodel Pnetcdf ADIOS2 Catalyst2)
set(tpl_enable_list Zlib HDF5 Netcdf CGNS fmt Cereal)
if(VCPKG_TARGET_IS_OSX)
list(APPEND tpl_disable_list METIS)
else()
list(APPEND tpl_enable_list METIS)
endif()
set(tpl_options "")
foreach(tpl IN LISTS tpl_disable_list)
list(APPEND tpl_options "-DTPL_ENABLE_${tpl}:BOOL=OFF")
endforeach()
foreach(tpl IN LISTS tpl_enable_list)
list(APPEND tpl_options "-DTPL_ENABLE_${tpl}:BOOL=ON")
endforeach()
set(disabled_projects Chaco Aprepro_lib SuplibC SuplibCpp Nemslice Nemspread Nas2exo Cpup Epu Ejoin Conjoin Aprepro Exo_format)
set(proj_options "")
foreach(proj IN LISTS disabled_projects)
list(APPEND proj_options "-DSeacas_ENABLE_SEACAS${proj}:BOOL=OFF")
endforeach()
set(enabled_projects Ioss Nemesis Exodus)
set(proj_options "")
foreach(proj IN LISTS disabled_projects)
list(APPEND proj_options "-DSeacas_ENABLE_SEACAS${proj}:BOOL=OFF")
endforeach()
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
#--trace-expand
${FEATURE_OPTIONS}
-DBUILD_TESTING=OFF
-DSeacas_ENABLE_Zoltan:BOOL=OFF
-DSeacas_ENABLE_SEACAS:BOOL=ON
"-DSeacas_HOSTNAME:STRING=localhost"
"-DSeacas_GENERATE_REPO_VERSION_FILE:BOOL=OFF"
"-DNetcdf_ALLOW_MODERN:BOOL=ON"
"-DNetcdf_FORCE_MODERN:BOOL=ON"
"-DSeacas_ENABLE_Fortran:BOOL=OFF"
#"-DCGNS_ALLOW_PREDEFIND:BOOL=NO"
#"-DSeacas_ENABLE_ALL_PACKAGES:BOOL=ON"
${proj_options}
${tpl_options}
)
vcpkg_cmake_install()
set(cmake_config_list ${enabled_projects})
list(TRANSFORM cmake_config_list PREPEND "SEACAS")
list(APPEND cmake_config_list SEACAS)
foreach(cmake_conig IN LISTS cmake_config_list)
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/${cmake_conig}" PACKAGE_NAME cmake/${cmake_conig} DO_NOT_DELETE_PARENT_CONFIG_PATH NO_PREFIX_CORRECTION)
endforeach()
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/external_packages" PACKAGE_NAME external_packages DO_NOT_DELETE_PARENT_CONFIG_PATH NO_PREFIX_CORRECTION )
if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/cmake/Seacas")
# Case sensitive filesystems will have two Seacas folders
vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/Seacas" PACKAGE_NAME cmake/Seacas DO_NOT_DELETE_PARENT_CONFIG_PATH NO_PREFIX_CORRECTION)
endif()
set(tool_names cgns_decomp cth_pressure_map
io_info io_modify io_shell
shell_to_hex skinner sphgen struc_to_unstruc)
vcpkg_copy_tools(TOOL_NAMES ${tool_names} AUTO_CLEAN)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(GLOB remaining_bin_stuff "${CURRENT_PACKAGES_DIR}/bin/*" LIST_DIRECTORIES true)
if(NOT remaining_bin_stuff)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
else()
message(WARNING "remaining_bin_stuff:${remaining_bin_stuff}")
endif()
endif()
# vcpkg really needs: vcpkg_remove_dirs_if_empty(<dirs>)
file(GLOB remaining_cmake_dirs "${CURRENT_PACKAGES_DIR}/lib/cmake/*" LIST_DIRECTORIES true)
if(NOT remaining_cmake_dirs)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/lib/cmake" "${CURRENT_PACKAGES_DIR}/debug/lib/cmake")
else()
message(WARNING "remaining_cmake_dirs:${remaining_cmake_dirs}")
endif()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE "${CURRENT_PACKAGES_DIR}/include/SeacasConfig.cmake")
file(GLOB_RECURSE python_files LIST_DIRECTORIES true "${CURRENT_PACKAGES_DIR}/lib/*.py" "${CURRENT_PACKAGES_DIR}/debug/lib/*.py")
if(python_files)
file(REMOVE ${python_files})
endif()
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME "copyright")
|