From 8453320cf602bc9f2ccdcea1e85d480b789a5cd1 Mon Sep 17 00:00:00 2001 From: Michael Jackson Date: Mon, 17 Apr 2023 10:28:36 -0400 Subject: [PATCH] GHC_FileSystem: Add failure warning for macOS systems < 10.15 Signed-off-by: Michael Jackson --- CMakeLists.txt | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 21daf7954..07fd4b7f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -422,16 +422,29 @@ endif() # Determine if we need the ghcFilesystem library #------------------------------------------------------------------------------- set(SIMPL_USE_GHC_FILESYSTEM OFF) -if(APPLE AND CMAKE_OSX_DEPLOYMENT_TARGET VERSION_LESS 10.15) - set(SIMPL_USE_GHC_FILESYSTEM ON) -elseif(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU" AND "${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0) + +if(APPLE) + exec_program(uname ARGS -v OUTPUT_VARIABLE DARWIN_VERSION) + string(REGEX MATCH "[0-9]+" DARWIN_VERSION ${DARWIN_VERSION}) + if(DARWIN_VERSION VERSION_LESS 19) + message(STATUS "The current macOS System is too old to compile and will fail. Please set the SIMPL_USE_GHC_FILESYSTEM=ON variable to allow Ebsdlib to compile") + endif() + message(STATUS "SIMPL: DARWIN_VERSION ${DARWIN_VERSION}") + message(STATUS "SIMPL: CMAKE_OSX_DEPLOYMENT_TARGET: ${CMAKE_OSX_DEPLOYMENT_TARGET}") +endif() +if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" AND ${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0) set(SIMPL_USE_GHC_FILESYSTEM ON) endif() + +message(STATUS "SIMPL: SIMPL_USE_GHC_FILESYSTEM: ${SIMPL_USE_GHC_FILESYSTEM}") + if(SIMPL_USE_GHC_FILESYSTEM) find_package(ghcFilesystem REQUIRED NAMES ghc_filesystem ghcFilesystem) endif() + + # ----------------------------------------------------------------------- # -- Add in the SIMPL Sources into a library add_subdirectory( ${SIMPLProj_SOURCE_DIR}/Source/SIMPLib ${PROJECT_BINARY_DIR}/SIMPLib)