Skip to content

Commit 8b958bb

Browse files
Update CMakeLists.txt
1 parent c89f74d commit 8b958bb

1 file changed

Lines changed: 25 additions & 11 deletions

File tree

CMakeLists.txt

Lines changed: 25 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@ cmake_minimum_required(VERSION 3.10)
22

33
project(NEXT)
44

5+
# ============================
6+
# Detect compiler environment
7+
# ============================
8+
if (MINGW)
9+
message(STATUS "Detected MinGW GCC — using MinGW settings")
10+
set(USING_MINGW TRUE)
11+
elseif (MSVC)
12+
message(STATUS "Detected MSVC — using MSVC settings")
13+
set(USING_MSVC TRUE)
14+
endif()
15+
516
# ============================
617
# Output directories
718
# ============================
@@ -66,21 +77,24 @@ else()
6677
message(STATUS "OpenMP not found — building in single-threaded mode.")
6778
endif()
6879

69-
if (WIN32 AND MSVC AND DEFINED ENV{HDF5_DIR})
80+
# ============================
81+
# HDF5 detection
82+
# ============================
83+
84+
# MSVC: use vcpkg or prebuilt binaries
85+
if (USING_MSVC AND DEFINED ENV{HDF5_DIR})
7086
set(HDF5_ROOT "$ENV{HDF5_DIR}")
7187
set(CMAKE_PREFIX_PATH "${HDF5_ROOT};${CMAKE_PREFIX_PATH}")
7288
endif()
7389

74-
# ============================
75-
# HDF5 (raw C API)
76-
# ============================
90+
if (USING_MINGW)
91+
# MSYS2 MinGW installs HDF5 here
92+
set(CMAKE_PREFIX_PATH "C:/tools/msys64/mingw64")
93+
message(STATUS "Using MSYS2 MinGW HDF5 path: ${CMAKE_PREFIX_PATH}")
94+
endif()
95+
7796
find_package(HDF5 REQUIRED COMPONENTS C HL)
7897

79-
if(HDF5_FOUND)
80-
message(STATUS "HDF5 detected — enabling snapshot loader.")
81-
include_directories(${HDF5_INCLUDE_DIRS})
82-
target_link_libraries(next PRIVATE ${HDF5_LIBRARIES})
83-
else()
84-
message(FATAL_ERROR "HDF5 not found — please install libhdf5-dev or equivalent.")
85-
endif()
98+
include_directories(${HDF5_INCLUDE_DIRS})
99+
target_link_libraries(next PRIVATE ${HDF5_LIBRARIES})
86100

0 commit comments

Comments
 (0)