From 753ceccfb4517ae0aa4445c18ae34ca52171f28d Mon Sep 17 00:00:00 2001 From: Thomas White Date: Mon, 12 Mar 2018 09:48:00 +0100 Subject: Add CMake --- libcrystfel/CMakeLists.txt | 121 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 libcrystfel/CMakeLists.txt (limited to 'libcrystfel/CMakeLists.txt') diff --git a/libcrystfel/CMakeLists.txt b/libcrystfel/CMakeLists.txt new file mode 100644 index 00000000..ade08ed9 --- /dev/null +++ b/libcrystfel/CMakeLists.txt @@ -0,0 +1,121 @@ +project(libcrystfel) + + +set(LIBCRYSTFEL_SOURCES + src/reflist.c + src/utils.c + src/cell.c + src/detector.c + src/thread-pool.c + src/image.c + src/hdf5-file.c + src/geometry.c + src/peakfinder8.c + src/statistics.c + src/symmetry.c + src/stream.c + src/peaks.c + src/reflist-utils.c + src/filters.c + src/render.c + src/index.c + src/dirax.c + src/mosflm.c + src/cell-utils.c + src/integer_matrix.c + src/crystal.c + src/xds.c + src/integration.c + src/predict-refine.c + src/histogram.c + src/events.c + src/felix.c + src/peakfinder8.c + src/taketwo.c + ) + +if(HAVE_FFTW) + set(LIBCRYSTFEL_FFTW_SOURCES + src/asdf.c + ) +endif(HAVE_FFTW) + +set(LIBCRYSTFEL_HEADER + ../version.h + src/hdf5-file.h + src/reflist.h + src/symmetry.h + src/cell.h + src/reflist-utils.h + src/thread-pool.h + src/statistics.h + src/utils.h + src/detector.h + src/geometry.h + src/peakfinder8.h + src/peaks.h + src/stream.h + src/render.h + src/index.h + src/image.h + src/filters.h + src/dirax.h + src/mosflm.h + src/cell-utils.h + src/integer_matrix.h + src/crystal.h + src/xds.h + src/predict-refine.h + src/integration.h + src/histogram.h + src/events.h + src/asdf.h + src/felix.h + src/peakfinder8.h + src/taketwo.h + ) + +add_library(${PROJECT_NAME} SHARED + ${LIBCRYSTFEL_SOURCES} + ${LIBCRYSTFEL_FFTW_SOURCES} + ${LIBCRYSTFEL_HEADER} + ) + +set_target_properties(${PROJECT_NAME} PROPERTIES PREFIX "") +target_include_directories(${PROJECT_NAME} INTERFACE ${PROJECT_SOURCE_DIR}/src) +target_include_directories(${PROJECT_NAME} PRIVATE ${HDF5_INCLUDE_DIRS}) +target_link_libraries(${PROJECT_NAME} PRIVATE util ${HDF5_C_LIBRARIES}) + +if(XGANDALF_FOUND) + target_include_directories(${PROJECT_NAME} PRIVATE ${XGANDALF_INCLUDES}) + target_link_libraries(${PROJECT_NAME} PRIVATE ${XGANDALF_LIBRARIES}) +endif(XGANDALF_FOUND) +if(FDIP_FOUND) + target_include_directories(${PROJECT_NAME} PRIVATE ${FDIP_INCLUDES}) + target_link_libraries(${PROJECT_NAME} PRIVATE ${FDIP_LIBRARIES}) +endif(FDIP_FOUND) +if(PINKINDEXER_FOUND) + target_include_directories(${PROJECT_NAME} PRIVATE ${PINKINDEXER_INCLUDES}) + target_link_libraries(${PROJECT_NAME} PRIVATE ${PINKINDEXER_LIBRARIES}) +endif(PINKINDEXER_FOUND) +if(NBP_FOUND) + target_include_directories(${PROJECT_NAME} PRIVATE ${NBP_INCLUDES}) + target_link_libraries(${PROJECT_NAME} PRIVATE ${NBP_LIBRARIES}) +endif(NBP_FOUND) +if(FFTW_FOUND) + target_include_directories(${PROJECT_NAME} PRIVATE ${FFTW_INCLUDES}) + target_link_libraries(${PROJECT_NAME} PRIVATE ${FFTW_LIBRARIES}) +endif(FFTW_FOUND) +if(CBF_FOUND) + target_include_directories(${PROJECT_NAME} PRIVATE ${CBF_INCLUDES}) + target_link_libraries(${PROJECT_NAME} PRIVATE ${CBF_LIBRARIES}) +endif(CBF_FOUND) +target_compile_options(${PROJECT_NAME} PRIVATE -Wall) + +install( + TARGETS + libcrystfel + + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ) -- cgit v1.2.3