Imported Upstream version 0.7.5
[platform/upstream/libsolv.git] / ext / CMakeLists.txt
index c6bd1bc..7c25535 100644 (file)
-SET(libsatsolverext_SRCS
-    pool_fileconflicts.c repo_content.c repo_deltainfoxml.c repo_helix.c repo_products.c
-    repo_releasefile_products.c repo_repomdxml.c repo_rpmdb.c repo_rpmmd.c
-    repo_susetags.c repo_updateinfoxml.c repo_write.c repo_zyppdb.c
-    repo_deb.c)
+SET (libsolvext_SRCS
+    solv_xfopen.c testcase.c repo_testcase.c)
 
-ADD_LIBRARY(satsolverext STATIC ${libsatsolverext_SRCS})
+SET (libsolvext_HEADERS
+    tools_util.h solv_xfopen.h testcase.h)
 
-SET(libsatsolver_HEADERS
-    pool_fileconflicts.h repo_content.h repo_deltainfoxml.h repo_helix.h repo_products.h
-    repo_releasefile_products.h repo_repomdxml.h repo_rpmdb.h repo_rpmmd.h
-    repo_susetags.h repo_updateinfoxml.h repo_write.h repo_zyppdb.h
-    tools_util.h repo_deb.h)
+IF (ENABLE_RPMDB OR ENABLE_RPMPKG)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+        pool_fileconflicts.c repo_rpmdb.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+        pool_fileconflicts.h repo_rpmdb.h)
+ENDIF (ENABLE_RPMDB OR ENABLE_RPMPKG)
 
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+IF (ENABLE_PUBKEY)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       repo_pubkey.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       repo_pubkey.h)
+ENDIF (ENABLE_PUBKEY)
 
-INSTALL(FILES ${libsatsolverext_HEADERS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include/satsolver")
-INSTALL(TARGETS satsolverext LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})
+IF (ENABLE_PGPVRFY)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       solv_pgpvrfy.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       solv_pgpvrfy.h)
+ENDIF (ENABLE_PGPVRFY)
+
+IF (ENABLE_RPMMD)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       repo_repomdxml.c repo_rpmmd.c
+       repo_deltainfoxml.c repo_updateinfoxml.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       repo_repomdxml.h repo_rpmmd.h
+       repo_deltainfoxml.h repo_updateinfoxml.h)
+ENDIF (ENABLE_RPMMD)
+
+IF (ENABLE_SUSEREPO)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       repo_content.c repo_products.c repo_releasefile_products.c
+       repo_susetags.c repo_zyppdb.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       repo_content.h repo_products.h repo_releasefile_products.h
+       repo_susetags.h repo_zyppdb.h)
+ENDIF (ENABLE_SUSEREPO)
+
+# old cmake does not support parenthetical expressions...
+IF (ENABLE_COMPLEX_DEPS)
+IF (ENABLE_SUSEREPO OR ENABLE_RPMMD OR ENABLE_RPMDB OR ENABLE_RPMPKG)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       pool_parserpmrichdep.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       pool_parserpmrichdep.h)
+ENDIF (ENABLE_SUSEREPO OR ENABLE_RPMMD OR ENABLE_RPMDB OR ENABLE_RPMPKG)
+ENDIF (ENABLE_COMPLEX_DEPS)
+
+IF (SUSE)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       repo_autopattern.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       repo_autopattern.h)
+ENDIF (SUSE)
+
+IF (ENABLE_COMPS)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       repo_comps.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       repo_comps.h)
+ENDIF (ENABLE_COMPS)
+
+IF (ENABLE_DEBIAN)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       repo_deb.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       repo_deb.h)
+ENDIF (ENABLE_DEBIAN)
+
+IF (ENABLE_HELIXREPO)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       repo_helix.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       repo_helix.h)
+ENDIF (ENABLE_HELIXREPO)
+
+IF (ENABLE_MDKREPO)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       repo_mdk.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       repo_mdk.h)
+ENDIF (ENABLE_MDKREPO)
+
+IF (ENABLE_ARCHREPO)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       repo_arch.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       repo_arch.h)
+ENDIF (ENABLE_ARCHREPO)
+
+IF (ENABLE_CUDFREPO)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       repo_cudf.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       repo_cudf.h)
+ENDIF (ENABLE_CUDFREPO)
+
+IF (ENABLE_HAIKU)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       repo_haiku.cpp)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       repo_haiku.h)
+ENDIF (ENABLE_HAIKU)
+
+IF (ENABLE_APPDATA)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       repo_appdata.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       repo_appdata.h)
+ENDIF (ENABLE_APPDATA)
+
+IF (ENABLE_CONDA)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       repo_conda.c)
+    SET (libsolvext_HEADERS ${libsolvext_HEADERS}
+       repo_conda.h)
+ENDIF (ENABLE_CONDA)
+
+IF (ENABLE_RPMMD OR ENABLE_SUSEREPO)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       repodata_diskusage.c)
+ENDIF (ENABLE_RPMMD OR ENABLE_SUSEREPO)
+
+IF (ENABLE_RPMMD OR ENABLE_SUSEREPO OR ENABLE_APPDATA OR ENABLE_COMPS OR ENABLE_HELIXREPO OR ENABLE_MDKREPO)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       solv_xmlparser.c)
+ENDIF (ENABLE_RPMMD OR ENABLE_SUSEREPO OR ENABLE_APPDATA OR ENABLE_COMPS OR ENABLE_HELIXREPO OR ENABLE_MDKREPO)
+
+IF (ENABLE_CONDA)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       solv_jsonparser.c)
+ENDIF (ENABLE_CONDA)
+
+IF (ENABLE_ZCHUNK_COMPRESSION)
+    SET (libsolvext_SRCS ${libsolvext_SRCS}
+       solv_zchunk.c)
+ENDIF (ENABLE_ZCHUNK_COMPRESSION)
+
+IF (NOT MSVC)
+SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
+ENDIF (NOT MSVC)
+IF (HAVE_LINKER_VERSION_SCRIPT)
+SET (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LINK_FLAGS} -Wl,--version-script=${CMAKE_SOURCE_DIR}/ext/libsolvext.ver")
+ENDIF (HAVE_LINKER_VERSION_SCRIPT)
+
+IF (DISABLE_SHARED)
+ADD_LIBRARY (libsolvext STATIC ${libsolvext_SRCS})
+ELSE (DISABLE_SHARED)
+ADD_LIBRARY (libsolvext SHARED ${libsolvext_SRCS})
+TARGET_LINK_LIBRARIES(libsolvext libsolv ${SYSTEM_LIBRARIES})
+ENDIF (DISABLE_SHARED)
+
+IF (WIN32)
+  INCLUDE_DIRECTORIES (${PROJECT_SOURCE_DIR}/win32/)
+ENDIF ()
+
+SET_TARGET_PROPERTIES(libsolvext PROPERTIES OUTPUT_NAME "solvext")
+SET_TARGET_PROPERTIES(libsolvext PROPERTIES SOVERSION ${LIBSOLVEXT_SOVERSION})
+SET_TARGET_PROPERTIES(libsolvext PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_LIBDIR})
+
+INSTALL (FILES ${libsolvext_HEADERS} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/solv")
+INSTALL (TARGETS libsolvext LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+IF (ENABLE_STATIC AND NOT DISABLE_SHARED)
+ADD_LIBRARY (libsolvext_static STATIC ${libsolvext_SRCS})
+SET_TARGET_PROPERTIES(libsolvext_static PROPERTIES OUTPUT_NAME "solvext")
+SET_TARGET_PROPERTIES(libsolvext_static PROPERTIES SOVERSION ${LIBSOLVEXT_SOVERSION})
+INSTALL (TARGETS libsolvext_static LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ENDIF (ENABLE_STATIC AND NOT DISABLE_SHARED)