diff --git a/CMakeLists.txt b/CMakeLists.txt index 097434b..8f8864f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,21 +28,25 @@ LIST ( SORT ly_unittest_sources ) INCLUDE_DIRECTORIES( BEFORE ${ly_inc_dir} ) # this creates the static library (.a) +if (NOT BUILD_SHARED_LIBS) ADD_LIBRARY ( ${ly_lib_static} STATIC ${ly_source_files} ) SET_TARGET_PROPERTIES( ${ly_lib_static} PROPERTIES PUBLIC_HEADER include/libyuv.h ) - +else() # this creates the shared library (.so) ADD_LIBRARY ( ${ly_lib_shared} SHARED ${ly_source_files} ) SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES OUTPUT_NAME "${ly_lib_name}" ) SET_TARGET_PROPERTIES ( ${ly_lib_shared} PROPERTIES PREFIX "lib" ) - +endif() # this creates the conversion tool ADD_EXECUTABLE ( yuvconvert ${ly_base_dir}/util/yuvconvert.cc ) -TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) - +if (BUILD_SHARED_LIBS) + TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_shared} ) +else() + TARGET_LINK_LIBRARIES ( yuvconvert ${ly_lib_static} ) +endif() INCLUDE ( FindJPEG ) -if (JPEG_FOUND) +if (JPEG_FOUND AND BUILD_SHARED_LIBS) include_directories( ${JPEG_INCLUDE_DIR} ) target_link_libraries( ${ly_lib_shared} PUBLIC ${JPEG_LIBRARY} ) target_link_libraries( yuvconvert ${JPEG_LIBRARY} ) @@ -88,11 +92,13 @@ endif() # install the conversion tool, .so, .a, and all the header files -INSTALL ( TARGETS yuvconvert DESTINATION bin ) +INSTALL ( TARGETS yuvconvert DESTINATION tools ) INSTALL ( FILES ${ly_include_files} DESTINATION include/libyuv ) -INSTALL ( TARGETS ${ly_lib_static} EXPORT libyuv-export DESTINATION lib INCLUDES DESTINATION include PUBLIC_HEADER DESTINATION include ) -INSTALL ( TARGETS ${ly_lib_shared} EXPORT libyuv-export LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) - +if (NOT BUILD_SHARED_LIBS) + INSTALL ( TARGETS ${ly_lib_static} EXPORT libyuv-export DESTINATION lib INCLUDES DESTINATION include PUBLIC_HEADER DESTINATION include ) +else() + INSTALL ( TARGETS ${ly_lib_shared} EXPORT libyuv-export LIBRARY DESTINATION lib RUNTIME DESTINATION bin ) +endif() INSTALL( EXPORT libyuv-export FILE libyuv-config.cmake DESTINATION share/cmake/libyuv/ EXPORT_LINK_INTERFACE_LIBRARIES ) # create the .deb and .rpm packages using cpack