diff options
| author | Antonin Descampe <antonin@gmail.com> | 2010-11-28 17:07:04 +0000 |
|---|---|---|
| committer | Antonin Descampe <antonin@gmail.com> | 2010-11-28 17:07:04 +0000 |
| commit | eb5694ca2a629f707736cbf203b21472ba6a0716 (patch) | |
| tree | d579066b589f5a0ca1de9451aa2c932240cfb226 /libopenjpeg | |
| parent | 389166e86e14a3a09ccf3d28ca0ee64968c5de45 (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.txt | 48 |
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 |
