X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=CMakeLists.txt;h=3541f496cb25ae8b9defbcc0754b40a897556d61;hb=de92b8ea19562961f973960c0f8f5aec7f6d9c75;hp=b7e5d7a39d353412888b2ad738df867ba47257ea;hpb=a997565567d8b30dc3a6f289e72324f8f2085b64;p=platform%2Fupstream%2Flibsolv.git diff --git a/CMakeLists.txt b/CMakeLists.txt index b7e5d7a..3541f49 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -17,6 +17,7 @@ OPTION (ENABLE_RPMPKG "Build with rpm package support?" OFF) OPTION (ENABLE_PUBKEY "Build with pubkey support?" OFF) OPTION (ENABLE_RPMDB_BYRPMHEADER "Build with rpmdb Header support?" OFF) OPTION (ENABLE_RPMDB_LIBRPM "Use librpm to access the rpm database?" OFF) +OPTION (ENABLE_RPMDB_BDB "Use BerkeleyDB to access the rpm database?" OFF) OPTION (ENABLE_RPMPKG_LIBRPM "Use librpm to access rpm header information?" OFF) OPTION (ENABLE_RPMMD "Build with rpmmd repository support?" OFF) OPTION (ENABLE_SUSEREPO "Build with suse repository support?" OFF) @@ -57,6 +58,9 @@ ENDIF (NOT PKGCONFIG_INSTALL_DIR) SET (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules) INSTALL( FILES ${CMAKE_MODULE_PATH}/FindLibSolv.cmake DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules ) +# for shared libraries on windows (DLLs), we just export all symbols for now +SET(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) + INCLUDE (${CMAKE_SOURCE_DIR}/VERSION.cmake) SET (have_system x) @@ -205,6 +209,12 @@ ENDIF (ENABLE_RPMDB) INCLUDE (CheckIncludeFile) IF (ENABLE_RPMDB OR ENABLE_RPMPKG_LIBRPM) + FIND_PATH (RPM_INCLUDE_DIR NAMES rpm/rpmio.h) + IF (RPM_INCLUDE_DIR) + INCLUDE_DIRECTORIES (${RPM_INCLUDE_DIR}) + SET (CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${RPM_INCLUDE_DIR}) + ENDIF (RPM_INCLUDE_DIR) + FIND_LIBRARY (RPMDB_LIBRARY NAMES rpmdb) IF (NOT RPMDB_LIBRARY) @@ -223,21 +233,27 @@ IF (ENABLE_RPMDB OR ENABLE_RPMPKG_LIBRPM) ENDIF (RPMMISC_LIBRARY) ENDIF (RPM5) - # check if rpm contains a bundled berkeley db - CHECK_INCLUDE_FILE(rpm/db.h HAVE_RPM_DB_H) - IF (NOT ENABLE_RPMDB_LIBRPM) - IF (NOT HAVE_RPM_DB_H) - FIND_LIBRARY (DB_LIBRARY NAMES db) - IF (DB_LIBRARY) - SET (RPMDB_LIBRARY ${DB_LIBRARY} ${RPMDB_LIBRARY}) - ENDIF (DB_LIBRARY) - IF (DB_INCLUDE_DIR) - INCLUDE_DIRECTORIES (${DB_INCLUDE_DIR}) - ENDIF (DB_INCLUDE_DIR) - ENDIF (NOT HAVE_RPM_DB_H) - ENDIF (NOT ENABLE_RPMDB_LIBRPM) + IF (ENABLE_RPMDB) + IF (NOT ENABLE_RPMDB_BDB) + SET (ENABLE_RPMDB_LIBRPM ON) + ENDIF (NOT ENABLE_RPMDB_BDB) + + # check if rpm contains a bundled berkeley db + CHECK_INCLUDE_FILE(rpm/db.h HAVE_RPM_DB_H) + IF (NOT ENABLE_RPMDB_LIBRPM) + IF (NOT HAVE_RPM_DB_H) + FIND_LIBRARY (DB_LIBRARY NAMES db) + IF (DB_LIBRARY) + SET (RPMDB_LIBRARY ${DB_LIBRARY} ${RPMDB_LIBRARY}) + ENDIF (DB_LIBRARY) + IF (DB_INCLUDE_DIR) + INCLUDE_DIRECTORIES (${DB_INCLUDE_DIR}) + ENDIF (DB_INCLUDE_DIR) + ENDIF (NOT HAVE_RPM_DB_H) + ENDIF (NOT ENABLE_RPMDB_LIBRPM) + ENDIF (ENABLE_RPMDB) + INCLUDE (CheckLibraryExists) - CHECK_LIBRARY_EXISTS(rpmio pgpDigGetParams "" HAVE_PGPDIGGETPARAMS) CHECK_LIBRARY_EXISTS(rpm rpmdbNextIteratorHeaderBlob "" HAVE_RPMDBNEXTITERATORHEADERBLOB) CHECK_LIBRARY_EXISTS(rpm rpmdbFStat "" HAVE_RPMDBFSTAT) ENDIF (ENABLE_RPMDB OR ENABLE_RPMPKG_LIBRPM) @@ -272,7 +288,7 @@ ENDIF (${CMAKE_MAJOR_VERSION} GREATER 2) # should create config.h with #cmakedefine instead... FOREACH (VAR HAVE_STRCHRNUL HAVE_FOPENCOOKIE HAVE_FUNOPEN WORDS_BIGENDIAN - HAVE_RPM_DB_H HAVE_PGPDIGGETPARAMS HAVE_RPMDBNEXTITERATORHEADERBLOB HAVE_RPMDBFSTAT + HAVE_RPM_DB_H HAVE_RPMDBNEXTITERATORHEADERBLOB HAVE_RPMDBFSTAT WITH_LIBXML2 WITHOUT_COOKIEOPEN) IF(${VAR}) ADD_DEFINITIONS (-D${VAR}=1) @@ -423,9 +439,9 @@ ENDIF (HAVE_LINKER_AS_NEEDED) ADD_SUBDIRECTORY (src) ADD_SUBDIRECTORY (ext) ADD_SUBDIRECTORY (tools) -IF (ENABLE_PERL OR ENABLE_PYTHON OR ENABLE_RUBY OR ENABLE_TCL) +IF (ENABLE_PERL OR ENABLE_PYTHON OR ENABLE_PYTHON3 OR ENABLE_RUBY OR ENABLE_TCL) ADD_SUBDIRECTORY (bindings) -ENDIF (ENABLE_PERL OR ENABLE_PYTHON OR ENABLE_RUBY OR ENABLE_TCL) +ENDIF (ENABLE_PERL OR ENABLE_PYTHON OR ENABLE_PYTHON3 OR ENABLE_RUBY OR ENABLE_TCL) ADD_SUBDIRECTORY (examples) ADD_SUBDIRECTORY (doc)