Skip to content

plugin

The micromechanical model command line interface, run with python -m micromechanical or micromechanical.

CMakeLists_template module-attribute

CMakeLists_template = "cmake_minimum_required(VERSION {{ cmake_minimum_required }})\nproject({{ project }})\n\nset(CMAKE_CXX_STANDARD {{ cxx_standard }})\nset(CMAKE_CXX_STANDARD_REQUIRED ON)\nset(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)\n\n# Set up compiler flags\nif (MSVC)\n    add_compile_options(/bigobj)\nendif(MSVC)\n\n# set output directories\nset(OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/{{ output_directory }})\nset(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY})\nset(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY})\nfile(MAKE_DIRECTORY ${OUTPUT_DIRECTORY})\n\n# include directories\n{% for include in includes %}include_directories({{ include }})\n{% endfor %}\n{% for library, source in libraries %}\n# {{ library }} library\nadd_library({{ library }} SHARED {{ source }})\nset_target_properties({{ library }} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY})\n{% endfor %}\n"

plugin module-attribute

plugin: PluginCLI = PluginCLI()

PluginCLI

Micromechanical model plugin command line interface.

make classmethod

make(
    *plugins: str,
    project: str = "micromechanical-plugin",
    working_directory: str = "micromechanical-plugin",
    includes: str | None = None,
    build: str = "build",
    build_type: str = "Release",
    cmake_minimum_required: str = "3.16",
    cxx_standard: str | int = 11,
    output_directory: str = "",
    cmake: str = "cmake",
    cmake_generate_args: str = "",
    cmake_build_args: str = ""
)

Build a micromechanical model plugin.

PARAMETER DESCRIPTION
plugins

The plugin source file.

TYPE: str DEFAULT: ()

project

The project name

TYPE: str DEFAULT: 'micromechanical-plugin'

working_directory

The working directory

TYPE: str DEFAULT: 'micromechanical-plugin'

includes

The include directories separated by os.pathsep, relative paths are resolved to be absolute

TYPE: str DEFAULT: None

build

The build directory relative to the working directory

TYPE: str DEFAULT: 'build'

build_type

The build type

TYPE: str DEFAULT: 'Release'

cmake_minimum_required

The minimum required CMake version

TYPE: str DEFAULT: '3.16'

cxx_standard

The C++ standard

TYPE: str or int DEFAULT: 11

output_directory

The output directory relative to the working directory

TYPE: str DEFAULT: ''

cmake

The CMake executable

TYPE: str DEFAULT: 'cmake'

cmake_generate_args

Additional arguments for the CMake generate step

TYPE: str DEFAULT: ''

cmake_build_args

Additional arguments for the CMake build step

TYPE: str DEFAULT: ''