From 95bb73d90fed58f61dddc0d1d3e8afeb9879daaa Mon Sep 17 00:00:00 2001 From: Thomas White Date: Mon, 12 Mar 2018 09:57:31 +0100 Subject: Remove autotools --- libcrystfel/Makefile.am | 41 ----------------------------------------- 1 file changed, 41 deletions(-) delete mode 100644 libcrystfel/Makefile.am (limited to 'libcrystfel') diff --git a/libcrystfel/Makefile.am b/libcrystfel/Makefile.am deleted file mode 100644 index 24cb7358..00000000 --- a/libcrystfel/Makefile.am +++ /dev/null @@ -1,41 +0,0 @@ -lib_LTLIBRARIES = libcrystfel.la -libcrystfel_la_LIBADD = ../lib/libgnu.la @LIBCRYSTFEL_LIBS@ $(PTY_LIB) -libcrystfel_la_LDFLAGS = -version-info 9:0:0 - -libcrystfel_la_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/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/taketwo.c src/peakfinder8.c - -if HAVE_FFTW -libcrystfel_la_SOURCES += src/asdf.c -endif - -libcrystfel_la_includedir=$(includedir)/crystfel/ - -libcrystfel_la_include_HEADERS = ${top_srcdir}/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/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/taketwo.h src/peakfinder8.h - -AM_CPPFLAGS = -DDATADIR=\""$(datadir)"\" -I$(top_builddir)/lib -Wall -AM_CPPFLAGS += -I$(top_srcdir)/lib @LIBCRYSTFEL_CFLAGS@ - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = crystfel.pc -- cgit v1.2.3 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') 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 From ea8e7bc35e5c09096c04f5c269451a330d59c49b Mon Sep 17 00:00:00 2001 From: Thomas White Date: Tue, 13 Mar 2018 10:01:13 +0100 Subject: Nicer way of getting Git revision This will need a separate way to create the official releases (which shouldn't have Git revisions attached) --- libcrystfel/CMakeLists.txt | 1 - libcrystfel/src/reflist-utils.c | 6 ++++-- libcrystfel/src/stream.c | 1 - 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'libcrystfel') diff --git a/libcrystfel/CMakeLists.txt b/libcrystfel/CMakeLists.txt index ade08ed9..5b3fc14c 100644 --- a/libcrystfel/CMakeLists.txt +++ b/libcrystfel/CMakeLists.txt @@ -41,7 +41,6 @@ if(HAVE_FFTW) endif(HAVE_FFTW) set(LIBCRYSTFEL_HEADER - ../version.h src/hdf5-file.h src/reflist.h src/symmetry.h diff --git a/libcrystfel/src/reflist-utils.c b/libcrystfel/src/reflist-utils.c index 7ff78f52..54c467b3 100644 --- a/libcrystfel/src/reflist-utils.c +++ b/libcrystfel/src/reflist-utils.c @@ -27,18 +27,20 @@ * */ +#ifdef HAVE_CONFIG_H +#include +#endif + #include #include #include - #include "reflist.h" #include "cell.h" #include "cell-utils.h" #include "utils.h" #include "reflist-utils.h" #include "symmetry.h" -#include "version.h" /** diff --git a/libcrystfel/src/stream.c b/libcrystfel/src/stream.c index d7d997cf..0f4dcd6b 100644 --- a/libcrystfel/src/stream.c +++ b/libcrystfel/src/stream.c @@ -44,7 +44,6 @@ #include #include -#include "version.h" #include "cell.h" #include "cell-utils.h" #include "utils.h" -- cgit v1.2.3 From 12e5aaa14841a7b6b8b80a1e32a2512354801f10 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Wed, 21 Mar 2018 11:37:28 +0100 Subject: Improve/fix tests for clock_gettime and sched_setaffinity --- libcrystfel/src/thread-pool.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'libcrystfel') diff --git a/libcrystfel/src/thread-pool.c b/libcrystfel/src/thread-pool.c index 6824947c..7ce55d85 100644 --- a/libcrystfel/src/thread-pool.c +++ b/libcrystfel/src/thread-pool.c @@ -30,6 +30,10 @@ #include #endif +#ifdef HAVE_CPU_AFFINITY +#define _GNU_SOURCE +#include +#endif #include #include @@ -39,11 +43,6 @@ #include #include -#ifdef HAVE_CPU_AFFINITY -#include -#endif - - #include "utils.h" -- cgit v1.2.3 From 2d71de8b4d932bb71906b7437334c0f189e139b5 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Thu, 22 Mar 2018 11:05:55 +0100 Subject: Formatting --- libcrystfel/CMakeLists.txt | 204 ++++++++++++++++++++++----------------------- 1 file changed, 101 insertions(+), 103 deletions(-) (limited to 'libcrystfel') diff --git a/libcrystfel/CMakeLists.txt b/libcrystfel/CMakeLists.txt index 5b3fc14c..9a05c1a0 100644 --- a/libcrystfel/CMakeLists.txt +++ b/libcrystfel/CMakeLists.txt @@ -1,120 +1,118 @@ 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 - ) + 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) +if (HAVE_FFTW) + set(LIBCRYSTFEL_FFTW_SOURCES src/asdf.c) +endif (HAVE_FFTW) -set(LIBCRYSTFEL_HEADER - 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 - ) +set(LIBCRYSTFEL_HEADERS + 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} - ) + ${LIBCRYSTFEL_HEADERS}) 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) +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) -install( - TARGETS - libcrystfel +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) - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ) +install (TARGETS libcrystfel + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib) -- cgit v1.2.3 From fba58042c236d8ceec09c7310583797401eda0ab Mon Sep 17 00:00:00 2001 From: Thomas White Date: Thu, 22 Mar 2018 11:26:35 +0100 Subject: Test for Curses --- libcrystfel/CMakeLists.txt | 5 +++++ libcrystfel/src/integration.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'libcrystfel') diff --git a/libcrystfel/CMakeLists.txt b/libcrystfel/CMakeLists.txt index 9a05c1a0..5d0ee069 100644 --- a/libcrystfel/CMakeLists.txt +++ b/libcrystfel/CMakeLists.txt @@ -111,6 +111,11 @@ if (CBF_FOUND) target_link_libraries(${PROJECT_NAME} PRIVATE ${CBF_LIBRARIES}) endif (CBF_FOUND) +if (CURSES_FOUND) + target_include_directories(${PROJECT_NAME} PRIVATE ${CURSES_INCLUDE_DIRS}) + target_link_libraries(${PROJECT_NAME} PRIVATE ${CURSES_LIBRARIES}) +endif (CURSES_FOUND) + target_compile_options(${PROJECT_NAME} PRIVATE -Wall) install (TARGETS libcrystfel diff --git a/libcrystfel/src/integration.c b/libcrystfel/src/integration.c index c18ae110..d7a34954 100644 --- a/libcrystfel/src/integration.c +++ b/libcrystfel/src/integration.c @@ -39,7 +39,7 @@ #include #include -#ifdef HAVE_CURSES_COLOR +#ifdef HAVE_CURSES #include #endif @@ -177,7 +177,7 @@ static float boxi(struct intcontext *ic, struct peak_box *bx, int p, int q) } -#ifdef HAVE_CURSES_COLOR +#ifdef HAVE_CURSES static void colour_on(enum boxmask_val b) { switch ( b ) { @@ -225,7 +225,7 @@ static void colour_off(enum boxmask_val b) #endif -#ifdef HAVE_CURSES_COLOR +#ifdef HAVE_CURSES static void show_reference_profile(struct intcontext *ic, int i) { int q; @@ -254,7 +254,7 @@ static void show_reference_profile(struct intcontext *ic, int i) static void show_peak_box(struct intcontext *ic, struct peak_box *bx, pthread_mutex_t *term_lock) { -#ifdef HAVE_CURSES_COLOR +#ifdef HAVE_CURSES int q; signed int h, k, l; double fs, ss; -- cgit v1.2.3 From 3acd99472ac6debed64ce25a0c545c2c9b974ae2 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Wed, 28 Mar 2018 11:38:55 +0200 Subject: Stuff for crystfel.pc --- libcrystfel/crystfel.pc.in | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) (limited to 'libcrystfel') diff --git a/libcrystfel/crystfel.pc.in b/libcrystfel/crystfel.pc.in index 3e9bf89b..7539cad1 100644 --- a/libcrystfel/crystfel.pc.in +++ b/libcrystfel/crystfel.pc.in @@ -1,10 +1,11 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ +prefix=${CMAKE_INSTALL_PREFIX} +exec_prefix=${CMAKE_INSTALL_PREFIX} +libdir=${CMAKE_INSTALL_FULL_LIBDIR} +includedir=${CMAKE_INSTALL_FULL_INCLUDEDIR} Name: CrystFEL Description: Useful routines for crystallography using a free-electron laser -Version: @VERSION@ -Cflags: -I${includedir} @LIBCRYSTFEL_CFLAGS@ -Libs: -L${libdir} -lcrystfel @LIBCRYSTFEL_LIBS@ +Version: ${PROJECT_VERSION}+${GIT_SHA1} +Cflags: -I${CMAKE_INSTALL_FULL_INCLUDEDIR} -pthread +Libs: -L${CMAKE_INSTALL_FULL_LIBDIR} -lcrystfel +Requires: gsl -- cgit v1.2.3