Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 26 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -99,26 +99,40 @@ endif()
# libqcdloop configuration
include_directories(src/qcdloop src)
FILE(GLOB_RECURSE Headers "src/qcdloop/*.h")
add_library(qcdloop SHARED src/box.cc
src/bubble.cc
src/cache.cc
src/qcdloop.cc
src/tadpole.cc
src/tools.cc
src/topology.cc
src/triangle.cc
src/types.cc
src/wrapper.cc
${Headers}
option(ENABLE_STATIC_LIBRARY "Build static libqcdloop.a in addition to the shared library" OFF)
set(QCDLOOP_SOURCES src/box.cc
src/bubble.cc
src/cache.cc
src/qcdloop.cc
src/tadpole.cc
src/tools.cc
src/topology.cc
src/triangle.cc
src/types.cc
src/wrapper.cc
${Headers}
)

add_library(qcdloop SHARED ${QCDLOOP_SOURCES})

set(QCDLOOP_INSTALL_TARGETS qcdloop)
if(ENABLE_STATIC_LIBRARY)
add_library(qcdloop_static STATIC ${QCDLOOP_SOURCES})
set_target_properties(qcdloop_static PROPERTIES OUTPUT_NAME qcdloop)
target_link_libraries(qcdloop_static ${QUADMATH_LIBRARY})
list(APPEND QCDLOOP_INSTALL_TARGETS qcdloop_static)
endif()

target_link_libraries(qcdloop ${QUADMATH_LIBRARY})
install(FILES ${CMAKE_BINARY_DIR}/src/qcdloop-config
DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ
GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
install(FILES ${PROJECT_SOURCE_DIR}/src/qcdloop.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
install(DIRECTORY src/qcdloop DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(TARGETS qcdloop DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS ${QCDLOOP_INSTALL_TARGETS}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})

# enable disable fortran/wrapper (to avoid name conflicts with ql1.x)
option(ENABLE_FORTRAN_WRAPPER "Enable fortran wrapper" ON)
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ C++11 and `quadmath` features (e.g. `gcc >= 5`).
Other qcdloop cmake options are:
- `ENABLE_EXAMPLES`, build examples in C++, default `OFF`.
- `ENABLE_FORTRAN_WRAPPER`, include fortran wrapper in the library, default `ON`.
- `ENABLE_STATIC_LIBRARY`, build `libqcdloop.a` in addition to the shared library, default `OFF`.

The fortran wrapper follows the previous syntax in `qcdloop`, see details in table 2 of https://arxiv.org/pdf/1605.03181.pdf.

Expand Down