Imported Upstream version 0.7.13
[platform/upstream/libsolv.git] / CMakeLists.txt
index b7e5d7a..347bb0d 100644 (file)
@@ -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)
@@ -223,19 +227,26 @@ 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)
@@ -423,9 +434,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)