summaryrefslogtreecommitdiff
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
commite33c029fdb7e6c0dbefb589d72f7f65920088f02 (patch)
treecc316e0c703dd38e137d3001b176652903197a50
parentfb6d84918d3fd6845f3a8376fc92984839783a2a (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).
-rw-r--r--codec/CMakeLists.txt6
-rw-r--r--libjp3dvm/CMakeLists.txt53
2 files changed, 43 insertions, 16 deletions
diff --git a/codec/CMakeLists.txt b/codec/CMakeLists.txt
index 24595c7a..bf08bc00 100644
--- a/codec/CMakeLists.txt
+++ b/codec/CMakeLists.txt
@@ -27,16 +27,14 @@ ENDIF(DONT_HAVE_GETOPT)
# Do the proper thing when building static...if only there was configured
# headers or def files instead
-IF(NOT BUILD_SHARED_LIBS)
- ADD_DEFINITIONS(-DOPJ_STATIC)
-ENDIF(NOT BUILD_SHARED_LIBS)
+ADD_DEFINITIONS(-DOPJ_STATIC)
#FIND_PACKAGE(TIFF REQUIRED)
# Loop over all executables:
FOREACH(exe jp3d_to_volume volume_to_jp3d)
ADD_EXECUTABLE(${exe} ${exe}.c ${common_SRCS})
- TARGET_LINK_LIBRARIES(${exe} ${OPJ_PREFIX}openjp3dvm) # ${TIFF_LIBRARIES})
+ TARGET_LINK_LIBRARIES(${exe} ${OPENJPEG_LIBRARY_NAME}_JP3D.static) # ${TIFF_LIBRARIES})
# On unix you need to link to the math library:
IF(UNIX)
TARGET_LINK_LIBRARIES(${exe} m)
diff --git a/libjp3dvm/CMakeLists.txt b/libjp3dvm/CMakeLists.txt
index 4c0fae41..4e9d241f 100644
--- a/libjp3dvm/CMakeLists.txt
+++ b/libjp3dvm/CMakeLists.txt
@@ -10,25 +10,54 @@ SET(JP3DVM_SRCS
bio.c cio.c dwt.c event.c jp3d.c jp3d_lib.c mct.c mqc.c openjpeg.c pi.c raw.c t1.c t1_3d.c t2.c tcd.c tgt.c volume.c
)
-# Pass proper definition to preprocessor to generate shared lib
+IF(LCMS_INCLUDE_DIR)
+ INCLUDE_DIRECTORIES( ${LCMS_INCLUDE_DIR} )
+ENDIF(LCMS_INCLUDE_DIR)
+
+# 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})
-ADD_LIBRARY(${OPJ_PREFIX}openjp3dvm ${JP3DVM_SRCS})
-SET_TARGET_PROPERTIES(${OPJ_PREFIX}openjp3dvm
+ADD_LIBRARY(${OPENJPEG_LIBRARY_NAME}_JP3D.static STATIC ${JP3DVM_SRCS})
+SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}_JP3D.static PROPERTIES OUTPUT_NAME ${OPENJPEG_LIBRARY_NAME}_JP3D)
+SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}_JP3D.static
PROPERTIES
VERSION 1.3.0
SOVERSION 1)
+IF(LCMS_LIB)
+TARGET_LINK_LIBRARIES(${OPENJPEG_LIBRARY_NAME}_JP3D.static ${LCMS_LIB})
+ENDIF(LCMS_LIB)
# Install library
-INSTALL_TARGETS(/lib/ ${OPJ_PREFIX}openjp3dvm)
+INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME}_JP3D.static
+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}_JP3D.shared SHARED ${JP3DVM_SRCS})
+ SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}_JP3D.shared PROPERTIES OUTPUT_NAME ${OPENJPEG_LIBRARY_NAME}_JP3D)
+ SET_TARGET_PROPERTIES(${OPENJPEG_LIBRARY_NAME}_JP3D.shared
+ PROPERTIES
+ VERSION 1.3.0
+ SOVERSION 1)
+ IF(LCMS_LIB)
+ TARGET_LINK_LIBRARIES(${OPENJPEG_LIBRARY_NAME}_JP3D.shared ${LCMS_LIB})
+ ENDIF(LCMS_LIB)
+ # Install library
+ INSTALL(TARGETS ${OPENJPEG_LIBRARY_NAME}_JP3D.shared
+ 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