aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/CMakeLists.txt
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2018-03-12 09:48:00 +0100
committerThomas White <taw@physics.org>2018-03-12 10:17:49 +0100
commit753ceccfb4517ae0aa4445c18ae34ca52171f28d (patch)
treea2928d9de6f10813b97363ea401cc72625ed3ce2 /libcrystfel/CMakeLists.txt
parent95bb73d90fed58f61dddc0d1d3e8afeb9879daaa (diff)
Add CMake
Diffstat (limited to 'libcrystfel/CMakeLists.txt')
-rw-r--r--libcrystfel/CMakeLists.txt121
1 files changed, 121 insertions, 0 deletions
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
+ )