279abdd723
This commit significantly expands the patient simulation by adding models for the full digestive and urinary systems, as well as the spleen and spinal cord. This builds on the polymorphic organ framework by adding 9 new organ classes: - Kidneys - Bladder - Stomach - Intestines - Gallbladder - Pancreas - Esophagus - Spleen - SpinalCord Each new organ has its own header, a source file with simplified simulation logic for its unique physiological properties, and is integrated into the main patient model and simulation loop. The build system and example application have been updated to include and demonstrate this new, more comprehensive set of organs.
42 lines
1016 B
CMake
42 lines
1016 B
CMake
# CMake minimum version
|
|
cmake_minimum_required(VERSION 3.10)
|
|
|
|
# Project name
|
|
project(MedicalLib)
|
|
|
|
# Add the library
|
|
add_library(MedicalLib SHARED
|
|
src/MedicalLib.cpp
|
|
src/Patient.cpp
|
|
src/Organ.cpp
|
|
src/Heart.cpp
|
|
src/Lungs.cpp
|
|
src/Brain.cpp
|
|
src/Liver.cpp
|
|
src/Kidneys.cpp
|
|
src/Bladder.cpp
|
|
src/Stomach.cpp
|
|
src/Intestines.cpp
|
|
src/Gallbladder.cpp
|
|
src/Pancreas.cpp
|
|
src/Esophagus.cpp
|
|
src/Spleen.cpp
|
|
src/SpinalCord.cpp
|
|
)
|
|
|
|
# Define MEDICAL_LIB_EXPORT, so that __declspec(dllexport) is used
|
|
target_compile_definitions(MedicalLib PRIVATE MEDICAL_LIB_EXPORT)
|
|
|
|
# Public headers
|
|
target_include_directories(MedicalLib PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
|
|
|
|
# Set the output directory for the library
|
|
set_target_properties(MedicalLib PROPERTIES
|
|
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
|
|
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
|
|
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin
|
|
)
|
|
|
|
# Add the examples subdirectory
|
|
add_subdirectory(examples)
|