Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 12 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,18 @@ add_library(oms::3rd::sundials::kinsol ALIAS sundials_kinsol_static)
#########################################################################
## zlib.
message(STATUS "##### 3rdParty zlib")
set(ZLIB_BUILD_SHARED OFF CACHE BOOL "Disable zlib shared library")
set(ZLIB_BUILD_TESTING OFF CACHE BOOL "Disable zlib's own test suite; it registers global ctest targets (zlib_install, zlib_find_package_*, ...) that don't apply when zlib is only vendored as a static-lib dependency")
add_subdirectory(zlib EXCLUDE_FROM_ALL)
option(OM_USE_SYSTEM_ZLIB "Use system zlib" OFF)
if (OM_USE_SYSTEM_ZLIB)
set(ZLIB_USE_STATIC_LIBS ON)
find_package(ZLIB MODULE REQUIRED)
unset(ZLIB_USE_STATIC_LIBS)
add_library(zlibstatic INTERFACE)
target_link_libraries(zlibstatic INTERFACE ZLIB::ZLIB)
else ()
set(ZLIB_BUILD_SHARED OFF CACHE BOOL "Disable zlib shared library")
set(ZLIB_BUILD_TESTING OFF CACHE BOOL "Disable zlib's own test suite; it registers global ctest targets (zlib_install, zlib_find_package_*, ...) that don't apply when zlib is only vendored as a static-lib dependency")
add_subdirectory(zlib EXCLUDE_FROM_ALL)
endif ()
add_library(oms::3rd::zlib ALIAS zlibstatic)
# Expose zlibstatic as ZLIB::ZLIB so libzip's find_package(ZLIB) resolves to our
# in-tree build without requiring a system zlib (e.g. Alpine, Windows).
Expand Down
16 changes: 13 additions & 3 deletions fmi4c/src/fmi4c.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,14 +24,20 @@
#include <sys/stat.h>
#endif

#if defined(__x86_64__) || defined(_M_X64)
#define arch_str "x86_64"
#if defined(__x86_64__) || defined(_M_X64) || defined(__aarch64__) || defined(__arm64__) || defined(_M_ARM64)
#define bits_str "64"
#else
#define arch_str "x86"
#define bits_str "32"
#endif

#if defined(__aarch64__) || defined(__arm64__) || defined(_M_ARM64)
#define arch_str "aarch64"
#elif defined(__x86_64__) || defined(_M_X64)
#define arch_str "x86_64"
#else
#define arch_str "x86"
#endif

#if defined(__CYGWIN__)
#define dirsep_str "/"
#elif defined(_WIN32)
Expand All @@ -44,6 +50,10 @@
#define dllext_str ".dll"
#define fmi12_system_str "win"
#define fmi3_system_str "windows"
#elif defined(__APPLE__)
#define dllext_str ".dylib"
#define fmi12_system_str "darwin"
#define fmi3_system_str "darwin"
#else
#define dllext_str ".so"
#define fmi12_system_str "linux"
Expand Down