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
No edit summary
 
(8 intermediate revisions by the same user not shown)
Line 1: Line 1:
=== Using in a cmake project ===
Integration with our library is very simple if you are using <code>cmake</code>.
Integration with our library is very simple if you are using <code>cmake</code>.
Your basic <code>CMakeLists.txt</code> file should look something like this:
Your basic <code>CMakeLists.txt</code> file should look something like this:
Line 5: Line 7:
project(your_project_name)
project(your_project_name)
cmake_minimum_required(VERSION 2.8.12)
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
add_subdirectory(${CMAKE_SOURCE_DIR}/path/to/medusa/ medusa) # add our library's CMakeLists.txt as a subfolder
Line 12: Line 17:
add_executable(my_name my_name.cpp)
add_executable(my_name my_name.cpp)
target_link_libraries(my_name medusa)  # link to our library
target_link_libraries(my_name medusa)  # link to our library
</syntaxhighlight>
Next to the <code>CMakeLists.txt</code> file, you should put your source file <code>my_name.cpp</code>,
which can now use the Medusa library. Sample contents of the file are shown below:
<syntaxhighlight lang="cpp">
#include <medusa/Medusa.hpp>
#include <iostream>
using namespace mm;
int main() {
    BoxShape<Vec2d> box(0, 1);
    std::cout << box << std::endl;
    return 0;
}
</syntaxhighlight>
The code is then compiled by going to your build directory and writing <code>make my_name</code>.
=== Standalone usage ===
By running <code>make medusa_standalone</code> in the <code>medusa/build</code> directory, the static archive
<code>medusa/bin/libmedusa_standalone.a</code> is created. In you project, you have to include the medusa headers
<code>#include <medusa/Medusa.hpp></code>, point to their directory
<code>medusa/include/</code> and link the <code>medusa_standalone</code> library.
<syntaxhighlight lang="bash">
g++ -o my_program my_program.cpp -I /.../medusa/include -L /.../medusa/bin/ -lmedusa_standalone
</syntaxhighlight>
</syntaxhighlight>

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