Skip to content

Using SymEngine from a Cpp project

Paul Miller edited this page Aug 20, 2020 · 5 revisions

Another CMake project

To use SymEngine from another CMake project include the following in yourCMakeLists.txt file

find_package(SymEngine 0.6.0 CONFIG)

You can give the path to the SymEngine installation directory if it was installed to a non standard location by,

find_package(SymEngine 0.6.0 CONFIG PATHS /path/to/install/dir/lib/cmake/symengine)

Alternatively, you can give the path to the build directory.

find_package(SymEngine 0.6.0 CONFIG PATHS /path/to/build/dir)

An example project would be,

cmake_minimum_required(VERSION 2.8)
find_package(SymEngine 0.6.0 CONFIG)
set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE} "-std=c++0x")

include_directories(${SYMENGINE_INCLUDE_DIRS})
add_executable(example main.cpp)
target_link_libraries(example ${SYMENGINE_LIBRARIES})

More options are here

Non CMake projects

You can get the include flags and link flags needed for SymEngine using the command line CMake.

compile_flags=`cmake --find-package -DNAME=SymEngine -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=COMPILE`
link_flags=`cmake --find-package -DNAME=SymEngine -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=LINK`

g++ $compile_flags main.cpp $link_flags -std=c++11