summaryrefslogtreecommitdiff
path: root/libopenjpeg
diff options
context:
space:
mode:
authorAntonin Descampe <antonin@gmail.com>2010-11-28 17:07:04 +0000
committerAntonin Descampe <antonin@gmail.com>2010-11-28 17:07:04 +0000
commiteb5694ca2a629f707736cbf203b21472ba6a0716 (patch)
treed579066b589f5a0ca1de9451aa2c932240cfb226 /libopenjpeg
parent389166e86e14a3a09ccf3d28ca0ee64968c5de45 (diff)
changed cmake behaviour: executables are now always statically linked. When -DBUIL_SHARED_LIBS option is ON (the default), the shared versions of the libraries are also built (but executables remain linked against the static libraries).
Diffstat (limited to 'libopenjpeg')
-rw-r--r--libopenjpeg/CMakeLists.txt48
1 files changed, 34 insertions, 14 deletions
diff --git a/libopenjpeg/CMakeLists.txt b/libopenjpeg/CMakeLists.txt
index 96192b7b..eb891d89 100644
--- a/libopenjpeg/CMakeLists.txt
+++ b/libopenjpeg/CMakeLists.txt
@@ -21,31 +21,51 @@ SET(OPENJPEG_SRCS
tgt.c
opj_convert.c
)
+
IF(LCMS_INCLUDE_DIR)
INCLUDE_DIRECTORIES( ${LCMS_INCLUDE_DIR} )
ENDIF(LCMS_INCLUDE_DIR)
-# Pass proper definition to preprocessor to generate shared lib
+
+# Build the static library
IF(WIN32)
- IF(BUILD_SHARED_LIBS)
- ADD_DEFINITIONS(-DOPJ_EXPORTS)
- ELSE(BUILD_SHARED_LIBS)
- ADD_DEFINITIONS(-DOPJ_STATIC)
- ENDIF(BUILD_SHARED_LIBS)
+ ADD_DEFINITIONS(-DOPJ_STATIC)
ENDIF(WIN32)
-
-# Create the library
-ADD_LIBRARY(${OPENJPEG_LIBRARY_NAME} ${OPENJPEG_SRCS})
-SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME} PROPERTIES
- ${OPENJPEG_LIBRARY_PROPERTIES})
+ADD_LIBRARY(${OPENJPEG_LIBRARY_NAME}.static STATIC ${OPENJPEG_SRCS})
+SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}.static PROPERTIES OUTPUT_NAME ${OPENJPEG_LIBRARY_NAME})
+SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}.static PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES})
IF(LCMS_LIB)
- TARGET_LINK_LIBRARIES(${OPENJPEG_LIBRARY_NAME} ${LCMS_LIB})
+ TARGET_LINK_LIBRARIES(${OPENJPEG_LIBRARY_NAME}.static ${LCMS_LIB})
ENDIF(LCMS_LIB)
# Install library
-INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME}
+INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME}.static
EXPORT OpenJPEGTargets
- DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
+ DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
)
+# If BUILD_SHARED_LIBS is ON, also build the shared library
+IF(BUILD_SHARED_LIBS)
+ # replace flag for static build with flag for shared build
+ IF(WIN32)
+ REMOVE_DEFINITIONS(-DOPJ_STATIC)
+ ADD_DEFINITIONS(-DOPJ_EXPORTS)
+ ENDIF(WIN32)
+ # Create the shared library
+ ADD_LIBRARY(${OPENJPEG_LIBRARY_NAME}.shared SHARED ${OPENJPEG_SRCS})
+ SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}.shared PROPERTIES OUTPUT_NAME ${OPENJPEG_LIBRARY_NAME})
+ SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}.shared PROPERTIES ${OPENJPEG_LIBRARY_PROPERTIES})
+ IF(LCMS_LIB)
+ TARGET_LINK_LIBRARIES(${OPENJPEG_LIBRARY_NAME}.shared ${LCMS_LIB})
+ ENDIF(LCMS_LIB)
+ # Install library
+ INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME}.shared
+ EXPORT OpenJPEGTargets
+ DESTINATION ${OPENJPEG_INSTALL_LIB_DIR} COMPONENT Libraries
+ )
+ IF(WIN32)
+ REMOVE_DEFINITIONS(-DOPJ_EXPORTS)
+ ENDIF(WIN32)
+ENDIF(BUILD_SHARED_LIBS)
+
# Install includes files
INSTALL(FILES openjpeg.h
DESTINATION ${OPENJPEG_INSTALL_INCLUDE_DIR}/${subdir} COMPONENT Headers