OPTION (USE_VENDORDIRS "Install the bindings in vendor directories?" OFF)
OPTION (ENABLE_RPMDB "Build with rpm database support?" OFF)
-OPTION (ENABLE_RPMDB_PUBKEY "Build with rpmdb pubkey support?" OFF)
+OPTION (ENABLE_PUBKEY "Build with pubkey support?" OFF)
+OPTION (ENABLE_RPMDB_BYRPMHEADER "Build with rpmdb Header support?" OFF)
OPTION (ENABLE_RPMMD "Build with rpmmd repository support?" OFF)
OPTION (ENABLE_SUSEREPO "Build with suse repository support?" OFF)
OPTION (ENABLE_COMPS "Build with fedora comps support?" OFF)
OPTION (ENABLE_DEBIAN "Build with debian database/repository support?" OFF)
OPTION (ENABLE_MDKREPO "Build with mandriva/mageia repository support?" OFF)
OPTION (ENABLE_ARCHREPO "Build with archlinux repository support?" OFF)
+OPTION (ENABLE_CUDFREPO "Build with cudf repository support?" OFF)
+OPTION (ENABLE_HAIKU "Build with Haiku package support?" OFF)
+OPTION (ENABLE_APPDATA "Build with AppStream appdata support?" OFF)
OPTION (ENABLE_LZMA_COMPRESSION "Build with lzma/xz compression support?" OFF)
+OPTION (ENABLE_BZIP2_COMPRESSION "Build with bzip2 compression support?" OFF)
#IF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERISION} GREATER 2.4)
#ENDIF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERISION} GREATER 2.4)
ENDIF (DEFINED LIB)
MESSAGE (STATUS "Libraries will be installed in ${LIB_INSTALL_DIR}")
SET (BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin")
+SET (MAN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/man")
+IF (IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/share/man" AND NOT IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/man")
+ SET (MAN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/man")
+ENDIF (IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/share/man" AND NOT IS_DIRECTORY "${CMAKE_INSTALL_PREFIX}/man")
+MESSAGE(STATUS "Man pages will be installed in ${MAN_INSTALL_DIR}")
####################################################################
# CONFIGURATION #
MESSAGE (STATUS "Building for SUSE")
ADD_DEFINITIONS (-DSUSE)
SET (ENABLE_RPMDB ON)
-SET (ENABLE_RPMDB_PUBKEY ON)
+SET (ENABLE_PUBKEY ON)
+SET (ENABLE_RPMDB_BYRPMHEADER ON)
SET (ENABLE_RPMMD ON)
SET (ENABLE_SUSEREPO ON)
SET (ENABLE_HELIXREPO ON)
+SET (ENABLE_LINKED_PKGS ON)
SET (have_system ${have_system}x)
ENDIF (SUSE)
MESSAGE (STATUS "Building for Mandriva/Mageia")
ADD_DEFINITIONS (-DMANDRIVA)
SET (ENABLE_MDKREPO ON)
+SET (ENABLE_RPMDB ON)
SET (have_system ${have_system}x)
ENDIF (MANDRIVA)
+IF (HAIKU)
+MESSAGE(STATUS "Building for Haiku")
+FIND_LIBRARY(HAIKU_BE_LIBRARY NAMES be)
+FIND_LIBRARY(HAIKU_NETWORK_LIBRARY NAMES network)
+FIND_LIBRARY(HAIKU_PACKAGE_LIBRARY NAMES package)
+SET (HAIKU_SYSTEM_LIBRARIES
+ ${HAIKU_BE_LIBRARY} ${HAIKU_NETWORK_LIBRARY} ${HAIKU_PACKAGE_LIBRARY})
+ADD_DEFINITIONS (-DHAIKU)
+SET (ENABLE_HAIKU ON)
+SET (have_system ${have_system}x)
+ENDIF (HAIKU)
+
IF (${have_system} STREQUAL x)
MESSAGE (STATUS "Building for no system")
ADD_DEFINITIONS (-DNOSYSTEM)
IF (ENABLE_LZMA_COMPRESSION)
FIND_PACKAGE (LZMA REQUIRED)
ENDIF (ENABLE_LZMA_COMPRESSION)
+IF (ENABLE_BZIP2_COMPRESSION)
+FIND_PACKAGE (BZip2 REQUIRED)
+ENDIF (ENABLE_BZIP2_COMPRESSION)
IF (RPM5)
MESSAGE (STATUS "Enabling RPM 5 support")
ADD_DEFINITIONS (-DMULTI_SEMANTICS)
ENDIF (MULTI_SEMANTICS)
+INCLUDE (CheckIncludeFile)
IF (ENABLE_RPMDB)
FIND_LIBRARY (RPMDB_LIBRARY NAMES rpmdb)
ENDIF (RPMMISC_LIBRARY)
ENDIF (RPM5)
- IF (RPM5 OR FEDORA)
+ # check if rpm contains a bundled berkeley db
+ CHECK_INCLUDE_FILE(rpm/db.h HAVE_RPM_DB_H)
+ 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)
- ENDIF (RPM5 OR FEDORA)
+ ENDIF (NOT HAVE_RPM_DB_H)
+ INCLUDE (CheckLibraryExists)
+ CHECK_LIBRARY_EXISTS(rpmio pgpDigGetParams "" HAVE_PGPDIGGETPARAMS)
ENDIF (ENABLE_RPMDB)
+IF (ENABLE_PUBKEY)
+ SET (ENABLE_PGPVRFY ON)
+ENDIF (ENABLE_PUBKEY)
+
INCLUDE (CheckFunctionExists)
INCLUDE (TestBigEndian)
# should create config.h with #cmakedefine instead...
FOREACH (VAR HAVE_STRCHRNUL HAVE_FOPENCOOKIE HAVE_FUNOPEN WORDS_BIGENDIAN
- ENABLE_RPMDB ENABLE_RPMDB_PUBKEY ENABLE_RPMMD ENABLE_SUSEREPO ENABLE_COMPS
- ENABLE_HELIXREPO ENABLE_MDKREPO ENABLE_ARCHREPO ENABLE_DEBIAN
- ENABLE_LZMA_COMPRESSION)
+ HAVE_RPM_DB_H HAVE_PGPDIGGETPARAMS
+ ENABLE_RPMDB ENABLE_PUBKEY ENABLE_RPMMD ENABLE_RPMDB_BYRPMHEADER ENABLE_SUSEREPO ENABLE_COMPS
+ ENABLE_HELIXREPO ENABLE_MDKREPO ENABLE_ARCHREPO ENABLE_DEBIAN ENABLE_HAIKU
+ ENABLE_LZMA_COMPRESSION ENABLE_BZIP2_COMPRESSION ENABLE_PGPVRFY ENABLE_APPDATA
+ ENABLE_LINKED_PKGS)
IF(${VAR})
ADD_DEFINITIONS (-D${VAR}=1)
SET (SWIG_FLAGS ${SWIG_FLAGS} -D${VAR})
MESSAGE (STATUS "Looking for modules in ${CMAKE_MODULE_PATH}")
-set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wl,--as-needed")
+set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} -O3")
set (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS} -g -O3")
set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} -g3 -O0")
+SET (SYSTEM_LIBRARIES ${EXPAT_LIBRARY} ${ZLIB_LIBRARY})
+IF (ENABLE_LZMA_COMPRESSION)
+SET (SYSTEM_LIBRARIES ${SYSTEM_LIBRARIES} ${LZMA_LIBRARY})
+ENDIF (ENABLE_LZMA_COMPRESSION)
+IF (ENABLE_BZIP2_COMPRESSION)
+SET (SYSTEM_LIBRARIES ${SYSTEM_LIBRARIES} ${BZIP2_LIBRARIES})
+ENDIF (ENABLE_BZIP2_COMPRESSION)
+IF (ENABLE_RPMDB)
+SET (SYSTEM_LIBRARIES ${RPMDB_LIBRARY} ${SYSTEM_LIBRARIES})
+ENDIF (ENABLE_RPMDB)
+IF (ENABLE_HAIKU)
+SET (SYSTEM_LIBRARIES ${HAIKU_SYSTEM_LIBRARIES} ${SYSTEM_LIBRARIES})
+ENDIF (ENABLE_HAIKU)
+SET (SYSTEM_LIBRARIES "-Wl,--as-needed" ${SYSTEM_LIBRARIES})
+
ADD_SUBDIRECTORY (src)
ADD_SUBDIRECTORY (ext)
ADD_SUBDIRECTORY (tools)
ADD_SUBDIRECTORY (bindings)
ENDIF (ENABLE_PERL OR ENABLE_PYTHON OR ENABLE_RUBY)
ADD_SUBDIRECTORY (examples)
+ADD_SUBDIRECTORY (doc)
MESSAGE (STATUS "Version: ${VERSION}")