aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2018-03-21 16:53:31 +0100
committerThomas White <taw@physics.org>2018-03-21 17:01:13 +0100
commit018bff49cd1f5fbd3071b092d0546be67147e893 (patch)
tree585b3a54bd37b9bb7a7a23c32cde42d0909732df /CMakeLists.txt
parent0b849787cd825f5d4e5b16f1e64552ecb10d0b76 (diff)
Separate tests for gdk-pixbuf-2.0 and GDK
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt55
1 files changed, 36 insertions, 19 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 124f17d9..3db2ab58 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -13,6 +13,8 @@ find_package(HDF5 REQUIRED COMPONENTS C)
find_package(Threads REQUIRED)
find_package(GSL REQUIRED)
find_package(GTK2 2.0.0 COMPONENTS gtk)
+find_package(GdkPixbuf2)
+find_package(GDK)
find_package(FFTW)
find_package(CBF)
find_package(TIFF)
@@ -63,6 +65,8 @@ set(HAVE_XGANDALF ${XGANDALF_FOUND})
set(HAVE_FDIP ${FDIP_FOUND})
set(HAVE_OPENCL ${OpenCL_FOUND})
set(HAVE_CBFLIB ${CBF_FOUND})
+set(HAVE_GDKPIXBUF ${GDKPIXBUF_FOUND})
+set(HAVE_GDK ${GDK_FOUND})
check_include_file(fcntl.h HAVE_FCNTL_H)
check_include_file(stdlib.h HAVE_STDLIB_H)
@@ -147,11 +151,12 @@ if(BUILD_HDFSEE AND GTK2_FOUND AND TIFF_FOUND)
add_executable(hdfsee ${HDFSEE_SOURCES})
target_include_directories(hdfsee PRIVATE
${COMMON_INCLUDES}
+ ${TIFF_INCLUDE_DIRS}
${GTK2_INCLUDE_DIRS}
)
target_link_libraries(hdfsee
${COMMON_LIBRARIES}
- TIFF::TIFF
+ ${TIFF_LIBRARIES}
${GTK2_LIBRARIES}
)
set_target_properties(hdfsee PROPERTIES
@@ -332,24 +337,36 @@ target_link_libraries(ambigator ${COMMON_LIBRARIES})
# Build Target
# geoptimiser
-if (CAIRO_FOUND AND GTK2_FOUND AND TIFF_FOUND)
- set(GEOPTIMISER_SOURCES
- src/geoptimiser.c
- src/hdfsee-render.c
- )
-
- add_executable(geoptimiser ${GEOPTIMISER_SOURCES})
- target_include_directories(geoptimiser PRIVATE ${COMMON_INCLUDES} ${CAIRO_INCLUDE_DIRS} ${GTK2_INCLUDE_DIRS})
- target_link_libraries(geoptimiser ${COMMON_LIBRARIES} ${CAIRO_LIBRARIES} ${GTK2_LIBRARIES} ${TIFF_LIBRARIES})
-
- install(
- TARGETS
- geoptimiser
-
- RUNTIME DESTINATION bin
- LIBRARY DESTINATION lib
- )
-endif (CAIRO_FOUND AND GTK2_FOUND AND TIFF_FOUND)
+set(GEOPTIMISER_SOURCES src/geoptimiser.c src/hdfsee-render.c)
+add_executable(geoptimiser ${GEOPTIMISER_SOURCES})
+target_include_directories(geoptimiser PRIVATE ${COMMON_INCLUDES})
+target_link_libraries(geoptimiser ${COMMON_LIBRARIES})
+
+# Add features one by one so that #ifdef HAVE_XX//#include XX.h always works
+# If Cairo, gdk-pixbuf and GDK are all found, geoptimiser will add PNG support
+if (CAIRO_FOUND)
+ target_include_directories(geoptimiser PRIVATE ${CAIRO_INCLUDE_DIRS})
+ target_link_libraries(geoptimiser ${CAIRO_LIBRARIES})
+endif (CAIRO_FOUND)
+
+if (GDKPIXBUF_FOUND)
+ target_include_directories(geoptimiser PRIVATE ${GDKPIXBUF_INCLUDE_DIRS})
+ target_link_libraries(geoptimiser ${GDKPIXBUF_LIBRARIES})
+endif (GDKPIXBUF_FOUND)
+
+if (GDK_FOUND)
+ target_include_directories(geoptimiser PRIVATE ${GDK_INCLUDE_DIRS})
+ target_link_libraries(geoptimiser ${GDK_LIBRARIES})
+endif (GDK_FOUND)
+
+if (TIFF_FOUND)
+ target_include_directories(geoptimiser PRIVATE ${TIFF_INCLUDE_DIRS})
+ target_link_libraries(geoptimiser ${TIFF_LIBRARIES})
+endif (TIFF_FOUND)
+
+install (TARGETS geoptimiser
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib)
# ----------------------------------------------------------------------
# Build Target