f1934d174553647d0d50fa7a3738910d96614010
[openjpeg.git] / libopenjpeg / CMakeLists.txt
1 INCLUDE_REGULAR_EXPRESSION("^.*$")
2 # Defines the source code for the library
3 SET(OPENJPEG_SRCS
4   bio.c
5   cio.c
6   dwt.c
7   event.c
8   image.c
9   j2k.c
10   j2k_lib.c
11   jp2.c
12   jpt.c
13   mct.c
14   mqc.c
15   openjpeg.c
16   pi.c
17   raw.c
18   t1.c
19   t2.c
20   tcd.c
21   tgt.c
22   opj_convert.c
23 )
24
25 IF(LCMS_INCLUDE_DIR)
26   INCLUDE_DIRECTORIES( ${LCMS_INCLUDE_DIR} )
27 ENDIF(LCMS_INCLUDE_DIR)
28
29 # Build the static library
30 IF(WIN32)
31   ADD_DEFINITIONS(-DOPJ_STATIC)
32 ENDIF(WIN32)
33 ADD_LIBRARY(${OPENJPEG_LIBRARY_NAME}.static STATIC ${OPENJPEG_SRCS})
34 SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}.static PROPERTIES CLEAN_DIRECT_OUTPUT 1 OUTPUT_NAME ${OPENJPEG_LIBRARY_NAME} PREFIX "lib")
35 SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}.static PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES})
36 IF(LCMS_LIB)
37   TARGET_LINK_LIBRARIES(${OPENJPEG_LIBRARY_NAME}.static ${LCMS_LIB})
38 ENDIF(LCMS_LIB)
39 # Install library
40 INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME}.static
41   EXPORT OpenJPEGTargets
42   DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
43 )
44
45 # If BUILD_SHARED_LIBS is ON, also build the shared library
46 IF(BUILD_SHARED_LIBS)
47   # replace flag for static build with flag for shared build
48   IF(WIN32)
49     REMOVE_DEFINITIONS(-DOPJ_STATIC)
50     ADD_DEFINITIONS(-DOPJ_EXPORTS)
51   ENDIF(WIN32)
52   # Create the shared library
53   ADD_LIBRARY(${OPENJPEG_LIBRARY_NAME}.shared SHARED ${OPENJPEG_SRCS})
54   SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}.shared PROPERTIES OUTPUT_NAME ${OPENJPEG_LIBRARY_NAME})
55   SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}.shared PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES})
56   IF(LCMS_LIB)
57     TARGET_LINK_LIBRARIES(${OPENJPEG_LIBRARY_NAME}.shared ${LCMS_LIB})
58   ENDIF(LCMS_LIB)
59   # Install library
60   INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME}.shared
61     EXPORT OpenJPEGTargets
62     DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
63   )
64   IF(WIN32)
65     REMOVE_DEFINITIONS(-DOPJ_EXPORTS)
66   ENDIF(WIN32)
67 ENDIF(BUILD_SHARED_LIBS)
68
69 # Install includes files
70 INSTALL(FILES openjpeg.h
71   DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR}/${subdir} COMPONENT Headers
72 )
73 INSTALL(CODE
74   "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E create_symlink \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${OPENJPEG_INSTALL_INCLUDE_DIR}/${subdir}/openjpeg.h \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${OPENJPEG_INSTALL_INCLUDE_DIR}/openjpeg.h)")
75
76 # install man page of the library
77 INSTALL(
78   FILES       ../doc/man/man3/libopenjpeg.3
79   DESTINATION ${OPENJPEG_INSTALL_MAN_DIR}/man3)