libkdcraw from trunk : update internal LibRaw to 0.7.0-alpha5
[kdegraphics.git] / libs / libkdcraw / CMakeLists.txt
blob2c5fd0864abd050006b1c464a3b17343b2957325
1 PROJECT(libkdcraw)
3 OPTION(ENABLE_OPENMP "Build with OpenMP support to use LibRaw parallel demosaicing operation" OFF)
5 # =======================================================
6 # Information to update before to release this library.
8 # Library version history:
9 # API      ABI
10 # 0.1.0 => 0.1.0  (KDE3)
11 # 0.1.1 => 1.0.0  (KDE3)
12 # 0.1.2 => 2.0.0  (KDE3)
13 # 0.1.3 => 2.1.0  (KDE3)
14 # 0.1.4 => 3.0.0  (KDE3)
15 # 0.1.5 => 4.0.0  (KDE3)
16 # 0.2.0 => 5.0.0  (released with KDE 4.1.0)
17 # 0.3.0 => 6.0.0  (released with KDE 4.1.2)
18 # 0.4.0 => 7.0.0  (using libRaw-Released with KDE 4.2.0)
19 # 0.5.0 => 7.1.0  (Released with KDE 4.3.0)
21 # Library API version
22 SET(DCRAW_LIB_MAJOR_VERSION "0")
23 SET(DCRAW_LIB_MINOR_VERSION "5")
24 SET(DCRAW_LIB_PATCH_VERSION "0")
26 # Suffix to add at end of version string. Usual values are:
27 # "-svn"   : alpha code unstable from svn. Do not use in production
28 # "-beta1" : beta1 release.
29 # "-beta2" : beta2 release.
30 # "-beta3" : beta3 release.
31 # "-rc"    : release candidate.
32 # ""       : final relase. Can be used in production.
33 SET(DCRAW_LIB_SUFFIX_VERSION "")
35 # Library ABI version used by linker.
36 # For details : http://www.gnu.org/software/libtool/manual.html#Updating-version-info
37 SET(DCRAW_LIB_SO_CUR_VERSION "7")
38 SET(DCRAW_LIB_SO_REV_VERSION "1")
39 SET(DCRAW_LIB_SO_AGE_VERSION "0")
41 # =======================================================
42 # Set env. variables accordinly.
44 SET(DCRAW_LIB_VERSION_STRING "${DCRAW_LIB_MAJOR_VERSION}.${DCRAW_LIB_MINOR_VERSION}.${DCRAW_LIB_PATCH_VERSION}${DCRAW_LIB_SUFFIX_VERSION}")
45 SET(DCRAW_LIB_VERSION_ID "0x0${DCRAW_LIB_MAJOR_VERSION}0${DCRAW_LIB_MINOR_VERSION}0${DCRAW_LIB_PATCH_VERSION}")
47 SET(DCRAW_LIB_SO_VERSION_STRING "${DCRAW_LIB_SO_CUR_VERSION}.${DCRAW_LIB_SO_REV_VERSION}.${DCRAW_LIB_SO_AGE_VERSION}")
49 # =======================================================
50 # LibRAW source code
52 IF( NOT WIN32)
53     FIND_LIBRARY(MATH_LIBRARY m)
54 ENDIF( NOT WIN32 )
56 find_package(LCMS REQUIRED)
58 # Flag to compile Little CMS code from LibRaw
59 ADD_DEFINITIONS(-DUSE_LCMS)
61 # Flag to debug LibRaw
62 ADD_DEFINITIONS(-DDCRAW_VERBOSE)
64 # LibRaw use C++ exception.
65 ADD_DEFINITIONS(${KDE4_ENABLE_EXCEPTIONS})
67 # OpenMP support to use parallelized code.
68 IF(ENABLE_OPENMP)
69     ADD_DEFINITIONS(-fopenmp)
70     SET(OPENMP_LDFLAGS -lgomp)
71 ENDIF(ENABLE_OPENMP)
73 # Under Windows, use specific flag to compile.
74 IF( WIN32 )
75     ADD_DEFINITIONS( -DDJGPP )
76 ENDIF( WIN32 )
78 INCLUDE_DIRECTORIES(
79                     ${JPEG_INCLUDE_DIR}
80                     ${LCMS_INCLUDE_DIR}
81                     ${CMAKE_CURRENT_SOURCE_DIR}/libraw
82                    )
84 # Do not compile LibRaw with KDE FINAL mode.
85 KDE4_NO_ENABLE_FINAL(libraw)
87 SET(libraw_LIB_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/libraw/internal/dcraw_common.cpp
88                     ${CMAKE_CURRENT_SOURCE_DIR}/libraw/internal/dcraw_fileio.cpp
89                     ${CMAKE_CURRENT_SOURCE_DIR}/libraw/internal/foveon.cpp
90                     ${CMAKE_CURRENT_SOURCE_DIR}/libraw/src/libraw_cxx.cpp
91                     ${CMAKE_CURRENT_SOURCE_DIR}/libraw/src/libraw_c_api.cpp
92    )
94 # =======================================================
96 IF(NOT WIN32)
97   CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libkdcraw.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libkdcraw.pc)
98   CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libkdcraw.lsm.cmake ${CMAKE_CURRENT_BINARY_DIR}/libkdcraw.lsm)
99   INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libkdcraw.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
100 ENDIF(NOT WIN32)
102 SUBDIRS(icons)
103 SUBDIRS(libkdcraw)
104 SUBDIRS(test)
105 SUBDIRS(profiles)