revert to previous behaviour for cmake: builds (and links) dynamically by default...
[openjpeg.git] / libopenjpeg / CMakeLists.txt
index 9200772e7a2c59d4c967e5474fbeab277634b7e0..d1d77a2b6d81646b540c188fb88125cf25fff6d9 100644 (file)
@@ -1,13 +1,11 @@
 INCLUDE_REGULAR_EXPRESSION("^.*$")
 # Defines the source code for the library
-SET(OpenJPEG_SRCS
+SET(OPENJPEG_SRCS
   bio.c
   cio.c
   dwt.c
   event.c
-  fix.c
   image.c
-  int.c
   j2k.c
   j2k_lib.c
   jp2.c
@@ -21,17 +19,41 @@ SET(OpenJPEG_SRCS
   t2.c
   tcd.c
   tgt.c
+  opj_convert.c
 )
 
-# Pass proper definition to preprocessor to generate
-# shared lib
-IF(WIN32 AND BUILD_SHARED_LIBS)
-  ADD_DEFINITIONS(-DOPJ_EXPORTS)
-ENDIF(WIN32 AND BUILD_SHARED_LIBS)
+IF(LCMS_INCLUDE_DIR)
+  INCLUDE_DIRECTORIES( ${LCMS_INCLUDE_DIR} )
+ENDIF(LCMS_INCLUDE_DIR)
 
-# Create the library
-ADD_LIBRARY(${OPJ_PREFIX}openjpeg ${OpenJPEG_SRCS})
+# Build the library
+IF(WIN32)
+  IF(BUILD_SHARED_LIBS)
+    ADD_DEFINITIONS(-DOPJ_EXPORTS)
+  ELSE(BUILD_SHARED_LIBS)
+    ADD_DEFINITIONS(-DOPJ_STATIC)
+  ENDIF(BUILD_SHARED_LIBS)
+ENDIF(WIN32)
+ADD_LIBRARY(${OPENJPEG_LIBRARY_NAME} ${OPENJPEG_SRCS})
+SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME} PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES})
+IF(LCMS_LIB)
+  TARGET_LINK_LIBRARIES(${OPENJPEG_LIBRARY_NAME} ${LCMS_LIB})
+ENDIF(LCMS_LIB)
 
 # Install library
-INSTALL_TARGETS(/lib/ ${OPJ_PREFIX}openjpeg)
+INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME}
+  EXPORT OpenJPEGTargets
+  DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
+)
+
+# Install includes files
+INSTALL(FILES openjpeg.h
+  DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR}/${subdir} COMPONENT Headers
+)
+INSTALL(CODE
+  "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)")
 
+# install man page of the library
+INSTALL(
+  FILES       ../doc/man/man3/libopenjpeg.3
+  DESTINATION ${OPENJPEG_INSTALL_MAN_DIR}/man3)