push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,71 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c1bc953edf..f6aaf92fb5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,6 +2,7 @@
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
mark_as_advanced(FORCE CMAKE_INSTALL_PREFIX)
+include(GNUInstallDirs)
project(FEBio)
set(FEBIO_LIBS FEBioFluid FEBioLib FEBioMech FEBioMix FEBioOpt FECore NumCore FEAMR FEBioRVE FEImgLib)
@@ -51,7 +52,7 @@
find_library(TEMP NAMES ${libName}.lib ${ARGV3}.lib ${ARGV4}.lib ${ARGV5}.lib ${ARGV6}.lib
PATHS ${${libDir}} NO_DEFAULT_PATH)
else()
- find_library(TEMP NAMES lib${libName}.a lib${ARGV3}.a lib${ARGV4}.a lib${ARGV5}.a lib${ARGV6}.a
+ find_library(TEMP NAMES lib${libName}.a lib${ARGV3}.a lib${ARGV4}.a lib${ARGV5}.a lib${ARGV6}.a lib${libName}@so@ lib${ARGV3}@so@ lib${ARGV4}@so@ lib${ARGV5}@so@ lib${ARGV6}@so@
PATHS ${${libDir}} NO_DEFAULT_PATH)
endif()
@@ -154,7 +155,7 @@
##### Find Source Files #####
macro(findHdrSrc name)
- file(GLOB HDR_${name} "${name}/*.h")
+ file(GLOB HDR_${name} "${name}/*.h" "${name}/*.hpp")
file(GLOB SRC_${name} "${name}/*.cpp")
endmacro()
@@ -171,8 +172,9 @@
macro(addLib name TYPE)
string(TOLOWER ${name} lname)
- add_library(${lname} ${TYPE} ${HDR_${name}} ${SRC_${name}})
+ add_library(${lname} ${TYPE} ${SRC_${name}})
set_property(TARGET ${lname} PROPERTY AUTOGEN_BUILD_DIR ${CMAKE_BINARY_DIR}/CMakeFiles/AutoGen/${name}_autogen)
+ target_sources(${lname} PUBLIC FILE_SET HEADERS TYPE HEADERS FILES ${HDR_${name}})
if(NOT WIN32)
set_property(TARGET ${lname} PROPERTY POSITION_INDEPENDENT_CODE ON)
@@ -181,6 +183,8 @@
if(APPLE)
target_link_libraries(${lname} PRIVATE "-undefined dynamic_lookup")
endif()
+
+ install(TARGETS ${lname} FILE_SET HEADERS)
endmacro()
foreach(name IN LISTS FEBIO_LIBS)
@@ -194,6 +198,7 @@
##### Set up executable compilation #####
file(GLOB SOURCES "FEBio/*.cpp")
add_executable (febio4 ${SOURCES})
+install(TARGETS febio4)
if(WIN32)
target_compile_options(febio4 PRIVATE /openmp)
@@ -269,7 +274,6 @@
mark_as_advanced(EXTRA_INC)
##### Setup includes, defnitions, and linking options #####
-include_directories(${PROJECT_SOURCE_DIR})
# Link LEVMAR
if(USE_LEVMAR)
@@ -438,3 +442,4 @@
file(WRITE ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/febio.xml "${filedata}")
endif()
+install(FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/febio.xml TYPE BIN)

View File

@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchFromGitHub,
fetchpatch2,
replaceVars,
cmake,
ninja,
zlib,
mklSupport ? true,
mkl,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "FEBio";
version = "4.8";
src = fetchFromGitHub {
owner = "febiosoftware";
repo = "FEBio";
rev = "v${finalAttrs.version}";
hash = "sha256-x2QYnMMiGd2x2jvBMLBK7zdJv3yzYHkJ6a+0xes6OOk=";
};
patches = [
# Fix library searching and installation
(replaceVars ./fix-cmake.patch {
so = stdenv.hostPlatform.extensions.sharedLibrary;
})
# Fixed missing header include for strcpy
# https://github.com/febiosoftware/FEBio/pull/92
(fetchpatch2 {
url = "https://github.com/febiosoftware/FEBio/commit/ad9e80e2aa8737828855458a703822f578db2fd3.patch?full_index=1";
hash = "sha256-/uLnJB/oAwLQnsZtJnUlaAEpyZVLG6o2riRwwMCH8rI=";
})
];
cmakeFlags = lib.optionals mklSupport [
(lib.cmakeBool "USE_MKL" true)
(lib.cmakeFeature "MKLROOT" "${mkl}")
];
nativeBuildInputs = [
cmake
ninja
];
buildInputs = [ zlib ] ++ lib.optionals mklSupport [ mkl ];
meta = {
description = "Software tool for nonlinear finite element analysis in biomechanics and biophysics";
license = with lib.licenses; [ mit ];
homepage = "https://febio.org/";
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ Scriptkiddi ];
};
})