Toggle menu
71
399
28
3.6K
Medusa: Coordinate Free Meshless Method implementation
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Including this library in your project: Difference between revisions

From Medusa: Coordinate Free Meshless Method implementation
 
Line 8: Line 8:
cmake_minimum_required(VERSION 2.8.12)
cmake_minimum_required(VERSION 2.8.12)


set(CMAKE_CXX_FLAGS "-O3 -Wall -fopenmp -DNDEBUG") # modify flags appropriately for your project
add_compile_options(-std=c++11 -Wall -O3 -fopenmp) # modify flags appropriately for your project
# add_compile_definitions(NDEBUG)  # disable asserts


add_subdirectory(${CMAKE_SOURCE_DIR}/path/to/medusa/ medusa) # add our library's CMakeLists.txt as a subfolder
add_subdirectory(${CMAKE_SOURCE_DIR}/path/to/medusa/ medusa) # add our library's CMakeLists.txt as a subfolder

Latest revision as of 11:34, 16 August 2019

Using in a cmake project

Integration with our library is very simple if you are using cmake. Your basic CMakeLists.txt file should look something like this:

project(your_project_name)
cmake_minimum_required(VERSION 2.8.12)

add_compile_options(-std=c++11 -Wall -O3 -fopenmp)  # modify flags appropriately for your project
# add_compile_definitions(NDEBUG)  # disable asserts

add_subdirectory(${CMAKE_SOURCE_DIR}/path/to/medusa/ medusa) # add our library's CMakeLists.txt as a subfolder
include_directories(${CMAKE_SOURCE_DIR}/path/to/medusa/include/)  # include medusa headers directory

# define your own executables below
add_executable(my_name my_name.cpp)
target_link_libraries(my_name medusa)  # link to our library


Next to the CMakeLists.txt file, you should put your source file my_name.cpp, which can now use the Medusa library. Sample contents of the file are shown below:

#include <medusa/Medusa.hpp>
#include <iostream>

using namespace mm;

int main() {
    BoxShape<Vec2d> box(0, 1);
    std::cout << box << std::endl;
    return 0;
}

The code is then compiled by going to your build directory and writing make my_name.

Standalone usage

By running make medusa_standalone in the medusa/build directory, the static archive medusa/bin/libmedusa_standalone.a is created. In you project, you have to include the medusa headers #include <medusa/Medusa.hpp>, point to their directory medusa/include/ and link the medusa_standalone library.

g++ -o my_program my_program.cpp -I /.../medusa/include -L /.../medusa/bin/ -lmedusa_standalone