Changed cmake version test to allow for cmake 2.8.11.x
[openjpeg.git] / src / lib / openjpwl / CMakeLists.txt
1 # Makefile for the main JPWL OpenJPEG codecs: JPWL_ j2k_to_image and JPWL_image_to_j2k
2
3 add_definitions(-DUSE_JPWL)
4
5 set(OPENJPEG_SRCS
6   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/bio.c
7   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/cio.c
8   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/dwt.c
9   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/event.c
10   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/image.c
11   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/j2k.c
12   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/jp2.c
13   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/jpt.c
14   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/mct.c
15   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/mqc.c
16   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/openjpeg.c
17   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/j2k_lib.c
18   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/pi.c
19   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/raw.c
20   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/t1.c
21   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/t2.c
22   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/tcd.c
23   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2/tgt.c
24 )
25
26 set(JPWL_SRCS crc.c jpwl.c jpwl_lib.c rs.c)
27 if(APPLE)
28   set_source_files_properties(
29     rs.c
30     PROPERTIES
31     COMPILE_FLAGS -fno-common)
32 endif()
33
34 include_directories(
35   ${OPENJPEG_BINARY_DIR}/src/lib/openjp2 # opj_config.h
36   ${OPENJPEG_SOURCE_DIR}/src/lib/openmj2
37   ${OPENJPEG_SOURCE_DIR}/src/lib/openjpwl
38   )
39
40 # Build the library
41 if(WIN32)
42   if(BUILD_SHARED_LIBS)
43     add_definitions(-DOPJ_EXPORTS)
44   else()
45     add_definitions(-DOPJ_STATIC)
46   endif()
47 endif()
48 add_library(openjpwl ${JPWL_SRCS} ${OPENJPEG_SRCS})
49 if(UNIX)
50   target_link_libraries(openjpwl m)
51 endif()
52 set_target_properties(openjpwl
53   PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES})
54 if(NOT ${CMAKE_VERSION} VERSION_LESS "2.8.12")
55   target_compile_options(openjpwl PRIVATE ${OPENJPEG_LIBRARY_COMPILE_OPTIONS})
56 endif()
57
58 # Install library
59 install(TARGETS openjpwl
60   EXPORT OpenJPEGTargets
61   RUNTIME DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
62   LIBRARY DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
63   ARCHIVE DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
64 )