cmake_minimum_required(VERSION 3.10) project(CardMech) include(mpp/CMakeOptionMacros.txt) #---------------------------------------------------------------------------------------# add_compile_options(-Werror=return-type) #set_option(COMPILER_OPTIMIZE -O3) set_option(SPACE_DIM 3) set_option(USE_DATAMESH ON) set_option(MPP_BUILD_TYPE MppRelease) #[MppDebug, MppDebugFast, MppRelease] set_option(SUPPRESS_WARNINGS OFF) set_option(AFFINE_LINEAR_TRAFO ON) set_option(BUILD_TESTS OFF) set_option(BUILD_CARDIAC_TESTS ON) set_option(BUILD_IBTLIBRARY OFF) set_option(BUILD_TUTORIAL OFF) set_option(BUILD_TUTORIAL_TESTS OFF) set_option(CONVERT_VTU OFF) #---------------------------------------------------------------------------------------# # include M++ include(mpp/CMakeLists.txt) #---------------------------------------------------------------------------------------# # IBT CellModel Library set(LibCell_DIR ${PROJECT_SOURCE_DIR}/lib/LibCellModel) include_directories(${LibCell_DIR}/src/CellModel) include_directories(${LibCell_DIR}/src/Lattice) if(BUILD_IBTLIBRARY) add_subdirectory(${LibCell_DIR}/src/Lattice) add_subdirectory(${LibCell_DIR}/src/CellModel) set_target_properties(CellModel PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${LibCell_DIR}/out) set_target_properties(Lattice PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${LibCell_DIR}/out) set(IBT_LIBRARIES CellModel Lattice) else() set(IBT_LIBRARIES ${LibCell_DIR}/out/libCellModel.a ${LibCell_DIR}/out/libLattice.a) endif() #---------------------------------------------------------------------------------------# # Include directories include_directories(${PROJECT_SOURCE_DIR}/src/) include_directories(${PROJECT_SOURCE_DIR}/src/cellmodels) include_directories(${PROJECT_SOURCE_DIR}/src/electrophysiology) include_directories(${PROJECT_SOURCE_DIR}/src/elasticity) add_subdirectory(${PROJECT_SOURCE_DIR}/src/) #---------------------------------------------------------------------------------------# # Tools add_subdirectory(${PROJECT_SOURCE_DIR}/tools/geometries) # Executables add_executable(M++ src/MainCardMech.cpp) target_link_libraries(M++ COUPLED ELASTICITY ELECTROPHYSIOLOGY) add_executable(Elphy-M++ src/MainCardMech.cpp) target_link_libraries(Elphy-M++ COUPLED ELASTICITY ELECTROPHYSIOLOGY) #---------------------------------------------------------------------------------------# # Test Executables if(BUILD_CARDIAC_TESTS) include_directories(${PROJECT_SOURCE_DIR}/test/) add_subdirectory(${PROJECT_SOURCE_DIR}/test/) endif() #---------------------------------------------------------------------------------------#