From: Duncan Mac-Vicar P Date: Mon, 7 Jul 2008 13:38:48 +0000 (+0000) Subject: - fix some warnings from new cmake X-Git-Tag: BASE-SuSE-Code-11-Branch~656 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3b096b6ca239cd086ecb6862d80c4c984756442c;p=platform%2Fupstream%2Flibzypp.git - fix some warnings from new cmake - require cmake 2.6 - add one policy exception (for libutil) - add custom FindOpenSSL to find libcrypto --- diff --git a/CMakeLists.txt b/CMakeLists.txt index a689bdd..e411851 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,13 @@ PROJECT(libzypp) SET( PACKAGE "libzypp" ) # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked SET( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ) -cmake_minimum_required(VERSION 2.4.5) +cmake_minimum_required(VERSION 2.6) + +# allow name libraries by name mixed with full +# paths +if(COMMAND cmake_policy) + cmake_policy(SET CMP0003 NEW) +endif(COMMAND cmake_policy) INCLUDE(ZyppCommon) INCLUDE( ${CMAKE_SOURCE_DIR}/VERSION.cmake ) @@ -20,7 +26,7 @@ set( CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} -O3" ) set( CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -O3" ) ADD_DEFINITIONS( -D_FILE_OFFSET_BITS=64 ) -ADD_DEFINITIONS( -DVERSION=\\\"${VERSION}\\\" ) +ADD_DEFINITIONS( -DVERSION="${VERSION}" ) SET( LIBZYPP_VERSION_INFO "${LIBZYPP_SO_FIRST}.${LIBZYPP_AGE}.${LIBZYPP_PATCH}" ) SET( LIBZYPP_SOVERSION_INFO "${LIBZYPP_SO_FIRST}" ) diff --git a/cmake/modules/FindOpenSSL.cmake b/cmake/modules/FindOpenSSL.cmake new file mode 100644 index 0000000..dd967d1 --- /dev/null +++ b/cmake/modules/FindOpenSSL.cmake @@ -0,0 +1,100 @@ +# - Try to find the OpenSSL encryption library +# Once done this will define +# +# OPENSSL_FOUND - system has the OpenSSL library +# OPENSSL_INCLUDE_DIR - the OpenSSL include directory +# OPENSSL_LIBRARIES - The libraries needed to use OpenSSL + +if (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES) + + # in cache already + SET(OPENSSL_FOUND TRUE) + +else (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES) + + FIND_PATH(OPENSSL_INCLUDE_DIR openssl/ssl.h + /usr/include/ + /usr/local/include/ + $ENV{ProgramFiles}/OpenSSL/include/ + $ENV{SystemDrive}/OpenSSL/include/ + ) + + if(WIN32 AND MSVC) + # /MD and /MDd are the standard values - if somone wants to use + # others, the libnames have to change here too + # see http://www.openssl.org/support/faq.html#PROG2 for their meaning + + FIND_LIBRARY(SSL_EAY_DEBUG NAMES ssleay32MDd + PATHS + $ENV{ProgramFiles}/OpenSSL/lib/VC/ + $ENV{SystemDrive}/OpenSSL/lib/VC/ + ) + FIND_LIBRARY(SSL_EAY_RELEASE NAMES ssleay32MD + PATHS + $ENV{ProgramFiles}/OpenSSL/lib/VC/ + $ENV{SystemDrive}/OpenSSL/lib/VC/ + ) + FIND_LIBRARY(LIB_EAY_DEBUG NAMES libeay32MDd + PATHS + $ENV{ProgramFiles}/OpenSSL/lib/VC/ + $ENV{SystemDrive}/OpenSSL/lib/VC/ + ) + FIND_LIBRARY(LIB_EAY_RELEASE NAMES libeay32MD + PATHS + $ENV{ProgramFiles}/OpenSSL/lib/VC/ + $ENV{SystemDrive}/OpenSSL/lib/VC/ + ) + + IF(MSVC_IDE) + IF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE) + SET(OPENSSL_LIBRARIES optimized ${SSL_EAY_RELEASE} ${LIB_EAY_RELEASE} debug ${SSL_EAY_DEBUG} ${LIB_EAY_DEBUG}) + ELSE(SSL_EAY_DEBUG AND SSL_EAY_RELEASE) + MESSAGE(FATAL_ERROR "Could not find the debug and release version of openssl") + ENDIF(SSL_EAY_DEBUG AND SSL_EAY_RELEASE) + ELSE(MSVC_IDE) + STRING(TOLOWER ${CMAKE_BUILD_TYPE} CMAKE_BUILD_TYPE_TOLOWER) + IF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug) + SET(OPENSSL_LIBRARIES ${SSL_EAY_DEBUG} ${LIB_EAY_DEBUG}) + ELSE(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug) + SET(OPENSSL_LIBRARIES ${SSL_EAY_RELEASE} ${LIB_EAY_RELEASE}) + ENDIF(CMAKE_BUILD_TYPE_TOLOWER MATCHES debug) + ENDIF(MSVC_IDE) + MARK_AS_ADVANCED(SSL_EAY_DEBUG SSL_EAY_RELEASE LIB_EAY_DEBUG LIB_EAY_RELEASE) + else(WIN32 AND MSVC) + + FIND_LIBRARY(OPENSSL_LIBRARIES NAMES ssl ssleay32 ssleay32MD libeay32 libeay32MD + PATHS + /usr/lib + /usr/local/lib + ) + FIND_LIBRARY(CRYPTO_LIBRARIES crypto + PATHS + /usr/lib + /usr/local/lib + ) + + endif(WIN32 AND MSVC) + + if (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES) + set(OPENSSL_FOUND TRUE) + endif (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES) + + if (CRYPTO_LIBRARIES) + set(CRYPTO_FOUND TRUE) + message(STATUS "Found libcrypto: ${CRYPTO_LIBRARIES}") + endif (CRYPTO_LIBRARIES) + + if (OPENSSL_FOUND) + if (NOT OpenSSL_FIND_QUIETLY) + message(STATUS "Found OpenSSL: ${OPENSSL_LIBRARIES}") + endif (NOT OpenSSL_FIND_QUIETLY) + else (OPENSSL_FOUND) + if (OpenSSL_FIND_REQUIRED) + message(FATAL_ERROR "Could NOT find OpenSSL") + endif (OpenSSL_FIND_REQUIRED) + endif (OPENSSL_FOUND) + + MARK_AS_ADVANCED(OPENSSL_INCLUDE_DIR OPENSSL_LIBRARIES) + +endif (OPENSSL_INCLUDE_DIR AND OPENSSL_LIBRARIES) + diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index abb4858..62356e7 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,6 +1,6 @@ ENABLE_TESTING() -ADD_DEFINITIONS( -DTESTS_SRC_DIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}\\\" -DTESTS_BUILD_DIR=\\\"${CMAKE_CURRENT_BINARY_DIR}\\\" ) +ADD_DEFINITIONS( -DTESTS_SRC_DIR="${CMAKE_CURRENT_SOURCE_DIR}" -DTESTS_BUILD_DIR="${CMAKE_CURRENT_BINARY_DIR}" ) #ADD_SUBDIRECTORY( media EXCLUDE_FROM_ALL ) ADD_SUBDIRECTORY( zypp ) diff --git a/zypp/CMakeLists.txt b/zypp/CMakeLists.txt index fbdd2d5..ada8e49 100644 --- a/zypp/CMakeLists.txt +++ b/zypp/CMakeLists.txt @@ -2,7 +2,7 @@ # SOURCES # #################################################################### -ADD_DEFINITIONS(-DLOCALEDIR=\\\"${CMAKE_INSTALL_PREFIX}/share/locale\\\" -DTEXTDOMAIN=\\\"zypp\\\" ) +ADD_DEFINITIONS(-DLOCALEDIR="${CMAKE_INSTALL_PREFIX}/share/locale" -DTEXTDOMAIN="zypp" ) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) #FILE(WRITE filename "message to write"... ) @@ -892,7 +892,8 @@ SET_TARGET_PROPERTIES( zypp PROPERTIES VERSION "${LIBZYPP_VERSION_INFO}" ) SET_TARGET_PROPERTIES( zypp PROPERTIES SOVERSION "${LIBZYPP_SOVERSION_INFO}" ) ADD_DEPENDENCIES(zypp schema_header) # System libraries -TARGET_LINK_LIBRARIES(zypp util ) +SET(UTIL_LIBRARY util) +TARGET_LINK_LIBRARIES(zypp ${UTIL_LIBRARY} ) TARGET_LINK_LIBRARIES(zypp ${DBUS_LIBRARY} ) TARGET_LINK_LIBRARIES(zypp ${RPM_LIBRARY} ) TARGET_LINK_LIBRARIES(zypp ${GETTEXT_LIBRARIES} ) @@ -903,7 +904,7 @@ TARGET_LINK_LIBRARIES(zypp ${LIBXML_LIBRARY} ) TARGET_LINK_LIBRARIES(zypp ${ZLIB_LIBRARY} ) TARGET_LINK_LIBRARIES(zypp ${SATSOLVER_LIBRARY} ) TARGET_LINK_LIBRARIES(zypp ${OPENSSL_LIBRARIES}) -TARGET_LINK_LIBRARIES(zypp crypto) +TARGET_LINK_LIBRARIES(zypp ${CRYPTO_LIBRARIES} ) INSTALL(TARGETS zypp LIBRARY DESTINATION ${LIB_INSTALL_DIR} )