1 # Collect all files that may contain translatable texts
2 FILE( GLOB_RECURSE POT_FILE_DEPENDS RELATIVE ${LIBZYPP_SOURCE_DIR} "*.h" "*.cc" )
3 SET( POT_FILE_DEPENDS ${POT_FILE_DEPENDS} PARENT_SCOPE )
6 ADD_DEFINITIONS(-DLOCALEDIR="${CMAKE_INSTALL_PREFIX}/share/locale" -DTEXTDOMAIN="zypp" -DZYPP_DLL )
7 INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
9 IF (ENABLE_ZCHUNK_COMPRESSION)
10 INCLUDE_DIRECTORIES( ${ZCHUNK_INCLUDEDIR} )
11 ENDIF(ENABLE_ZCHUNK_COMPRESSION)
12 #FILE(WRITE filename "message to write"... )
31 PluginFrameException.cc
33 PluginScriptException.cc
86 VendorSupportOptions.cc
101 ${CMAKE_CURRENT_BINARY_DIR}/APIConfig.h
125 PluginFrameException.h
127 PluginScriptException.h
198 VendorSupportOptions.h
208 INSTALL( FILES ${zypp_HEADERS} DESTINATION "${INCLUDE_INSTALL_DIR}/zypp" )
212 base/CleanerThread.cc
213 base/DrunkenBishop.cc
222 base/ReferenceCounted.cc
223 base/SetRelationMixin.cc
230 base/ExternalDataSource.cc
232 base/UserRequestException.cc
234 base/ProfilingFormater.cc
239 SET( zypp_base_HEADERS
252 base/DefaultIntegral.h
255 base/UserRequestException.h
257 base/ExternalDataSource.h
277 base/ProfilingFormater.h
278 base/ProvideNumericId.h
280 base/ReferenceCounted.h
281 base/SetRelationMixin.h
284 base/SimpleStreambuf.h
292 base/ValueTransform.h
297 IF (ENABLE_ZCHUNK_COMPRESSION)
299 list( APPEND zypp_base_SRCS
303 list( APPEND zypp_base_HEADERS
307 ENDIF(ENABLE_ZCHUNK_COMPRESSION)
311 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/base
316 media/MediaException.cc
318 media/MediaHandler.cc
327 media/MediaMultiCurl.cc
331 media/MediaManager.cc
332 media/MediaUserAuth.cc
333 media/CredentialFileReader.cc
334 media/CredentialManager.cc
336 media/TransferSettings.cc
337 media/MediaPriority.cc
338 media/MetaLinkParser.cc
340 media/MediaBlockList.cc
341 media/UrlResolverPlugin.cc
344 SET( zypp_media_HEADERS
349 media/MediaMultiCurl.h
352 media/MediaException.h
359 media/MediaUserAuth.h
362 media/CredentialFileReader.h
363 media/CredentialManager.h
365 media/TransferSettings.h
366 media/MediaPriority.h
367 media/MetaLinkParser.h
369 media/MediaBlockList.h
370 media/UrlResolverPlugin.h
374 ${zypp_media_HEADERS}
375 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/media
378 IF ( LIBPROXY_FOUND )
379 SET(zypp_media_proxyinfo_libproxy_SRCS media/proxyinfo/ProxyInfoLibproxy.cc)
380 SET(zypp_media_proxyinfo_libproxy_HEADERS media/proxyinfo/ProxyInfoLibproxy.h)
381 ENDIF( LIBPROXY_FOUND )
383 SET( zypp_media_proxyinfo_SRCS
384 media/proxyinfo/ProxyInfoSysconfig.cc
385 ${zypp_media_proxyinfo_libproxy_SRCS}
388 SET( zypp_media_proxyinfo_HEADERS
389 media/proxyinfo/ProxyInfoImpl.h
390 media/proxyinfo/ProxyInfoSysconfig.h
391 ${zypp_media_proxyinfo_libproxy_HEADERS}
392 media/proxyinfo/ProxyInfos.h
396 ${zypp_media_proxyinfo_HEADERS}
397 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/media/proxyinfo
400 SET( zypp_parser_SRCS
401 parser/ParseException.cc
404 parser/HistoryLogReader.cc
405 parser/RepoFileReader.cc
406 parser/RepoindexFileReader.cc
407 parser/ServiceFileReader.cc
408 parser/ProductFileReader.cc
411 SET( zypp_parser_HEADERS
412 parser/ParseException.h
415 parser/HistoryLogReader.h
416 parser/ParserProgress.h
417 parser/RepoFileReader.h
418 parser/RepoindexFileReader.h
419 parser/ServiceFileReader.h
420 parser/ProductFileReader.h
424 ${zypp_parser_HEADERS}
425 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/parser
428 SET( zypp_parser_susetags_SRCS
429 parser/susetags/RepoIndex.cc
430 parser/susetags/ContentFileReader.cc
433 SET( zypp_parser_susetags_HEADERS
434 parser/susetags/RepoIndex.h
435 parser/susetags/ContentFileReader.h
439 ${zypp_parser_susetags_HEADERS}
440 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/parser/susetags
443 SET( zypp_parser_xml_SRCS
445 parser/xml/ParseDef.cc
446 parser/xml/ParseDefConsume.cc
447 parser/xml/ParseDefException.cc
449 parser/xml/XmlEscape.cc
450 parser/xml/XmlString.cc
451 parser/xml/libxmlfwd.cc
454 SET( zypp_parser_xml_HEADERS
457 parser/xml/ParseDef.h
458 parser/xml/ParseDefConsume.h
459 parser/xml/ParseDefException.h
460 parser/xml/ParseDefTraits.h
462 parser/xml/XmlEscape.h
463 parser/xml/XmlString.h
464 parser/xml/libxmlfwd.h
468 ${zypp_parser_xml_HEADERS}
469 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/parser/xml
472 SET( zypp_parser_yum_SRCS
473 parser/yum/RepomdFileReader.cc
476 SET( zypp_parser_yum_HEADERS
477 parser/yum/RepomdFileReader.h
481 ${zypp_parser_yum_HEADERS}
482 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/parser/yum
490 SET( zypp_pool_HEADERS
499 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/pool
502 # SET( zypp_solver_detail_SRCS )
504 SET( zypp_solver_HEADERS
509 ${zypp_solver_HEADERS}
510 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/solver
513 SET( zypp_solver_detail_SRCS
514 solver/detail/ProblemSolutionIgnore.cc
515 solver/detail/ProblemSolutionCombi.cc
516 solver/detail/Resolver.cc
517 solver/detail/SolutionAction.cc
518 solver/detail/Testcase.cc
519 solver/detail/SolverQueueItem.cc
520 solver/detail/SolverQueueItemInstall.cc
521 solver/detail/SolverQueueItemDelete.cc
522 solver/detail/SolverQueueItemUpdate.cc
523 solver/detail/SolverQueueItemInstallOneOf.cc
524 solver/detail/SolverQueueItemLock.cc
525 solver/detail/SATResolver.cc
526 solver/detail/SystemCheck.cc
529 SET( zypp_solver_detail_HEADERS
530 solver/detail/ProblemSolutionIgnore.h
531 solver/detail/ProblemSolutionCombi.h
532 solver/detail/Resolver.h
533 solver/detail/SolutionAction.h
534 solver/detail/Testcase.h
535 solver/detail/Types.h
536 solver/detail/SolverQueueItem.h
537 solver/detail/SolverQueueItemInstall.h
538 solver/detail/SolverQueueItemDelete.h
539 solver/detail/SolverQueueItemUpdate.h
540 solver/detail/SolverQueueItemInstallOneOf.h
541 solver/detail/SolverQueueItemLock.h
542 solver/detail/ItemCapKind.h
543 solver/detail/SATResolver.h
544 solver/detail/SystemCheck.h
548 ${zypp_solver_detail_HEADERS}
549 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/solver/detail
569 SET( zypp_sat_HEADERS
584 sat/LookupAttrTools.h
590 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/sat
593 SET( zypp_sat_detail_SRCS
594 sat/detail/PoolImpl.cc
597 SET( zypp_sat_detail_HEADERS
598 sat/detail/PoolMember.h
599 sat/detail/PoolImpl.h
603 ${zypp_sat_detail_HEADERS}
604 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/sat/detail
608 SET( zypp_target_SRCS
609 target/RpmPostTransCollector.cc
610 target/RequestedLocalesFile.cc
611 target/SolvIdentFile.cc
612 target/HardLocksFile.cc
613 target/CommitPackageCache.cc
614 target/CommitPackageCacheImpl.cc
615 target/CommitPackageCacheReadAhead.cc
616 target/TargetCallbackReceiver.cc
617 target/TargetException.cc
619 target/TargetImpl.commitFindFileConflicts.cc
623 SET( zypp_target_HEADERS
624 target/RpmPostTransCollector.h
625 target/RequestedLocalesFile.h
626 target/SolvIdentFile.h
627 target/HardLocksFile.h
628 target/CommitPackageCache.h
629 target/CommitPackageCacheImpl.h
630 target/CommitPackageCacheReadAhead.h
631 target/TargetCallbackReceiver.h
632 target/TargetException.h
637 ${zypp_target_HEADERS}
638 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/target
641 SET( zypp_target_modalias_SRCS
642 target/modalias/Modalias.cc
645 SET( zypp_target_modalias_HEADERS
646 target/modalias/Modalias.h
650 ${zypp_target_modalias_HEADERS}
651 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/target/modalias
654 SET( zypp_target_rpm_SRCS
655 target/rpm/BinHeader.cc
656 target/rpm/RpmCallbacks.cc
658 target/rpm/RpmException.cc
659 target/rpm/RpmHeader.cc
660 target/rpm/librpmDb.cc
663 SET( zypp_target_rpm_HEADERS
664 target/rpm/BinHeader.h
665 target/rpm/RpmCallbacks.h
666 target/rpm/RpmFlags.h
668 target/rpm/RpmException.h
669 target/rpm/RpmHeader.h
671 target/rpm/librpmDb.h
675 ${zypp_target_rpm_HEADERS}
676 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/target/rpm
683 ui/UserWantedPackages.cc
690 ui/SelectableTraits.h
692 ui/UserWantedPackages.h
697 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/ui
705 SET( zypp_url_HEADERS
713 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/url
716 SET( zypp_zypp_detail_SRCS
717 zypp_detail/ZYppImpl.cc
720 SET( zypp_zypp_detail_HEADERS
721 zypp_detail/ZYppImpl.h
722 zypp_detail/ZYppReadOnlyHack.h
726 ${zypp_zypp_detail_HEADERS}
727 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/zypp_detail
731 repo/RepoException.cc
732 repo/RepoMirrorList.cc
735 repo/PackageProvider.cc
736 repo/SrcPackageProvider.cc
737 repo/RepoProvideFile.cc
738 repo/DeltaCandidates.cc
739 repo/Applydeltarpm.cc
741 repo/SUSEMediaVerifier.cc
742 repo/MediaInfoDownloader.cc
744 repo/RepoVariables.cc
746 repo/PluginServices.cc
750 SET( zypp_repo_HEADERS
752 repo/RepoMirrorList.h
755 repo/PackageProvider.h
756 repo/SrcPackageProvider.h
757 repo/RepoProvideFile.h
758 repo/DeltaCandidates.h
761 repo/SUSEMediaVerifier.h
762 repo/MediaInfoDownloader.h
766 repo/PluginServices.h
772 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/repo
775 SET( zypp_repo_yum_SRCS
776 repo/yum/Downloader.cc
779 SET( zypp_repo_yum_HEADERS
780 repo/yum/Downloader.h
783 SET( zypp_repo_susetags_SRCS
784 repo/susetags/Downloader.cc
787 SET( zypp_repo_susetags_HEADERS
788 repo/susetags/Downloader.h
791 ####################################################################
793 SET( zypp_misc_HEADERS
795 misc/DefaultLoadSystem.h
796 misc/CheckAccessDeleted.h
801 misc/DefaultLoadSystem.cc
802 misc/CheckAccessDeleted.cc
808 DESTINATION ${INCLUDE_INSTALL_DIR}/zypp/misc
811 ####################################################################
813 add_subdirectory( zyppng )
818 ${zypp_parser_susetags_SRCS}
819 ${zypp_parser_xml_SRCS}
820 ${zypp_parser_yum_SRCS}
822 ${zypp_media_proxyinfo_SRCS}
826 ${zypp_repo_yum_SRCS}
827 ${zypp_repo_susetags_SRCS}
828 ${zypp_repo_data_SRCS}
829 ${zypp_target_rpm_SRCS}
830 ${zypp_target_hal_SRCS}
831 ${zypp_target_modalias_SRCS}
833 ${zypp_solver_detail_SRCS}
836 ${zypp_zypp_detail_SRCS}
838 ${zypp_sat_detail_SRCS}
844 SET( zypp_lib_HEADERS
845 ${zypp_target_rpm_HEADERS}
846 ${zypp_parser_tagfile_HEADERS}
847 ${zypp_parser_susetags_HEADERS}
848 ${zypp_parser_yum_HEADERS}
849 ${zypp_parser_xml_HEADERS}
850 ${zypp_parser_HEADERS}
852 ${zypp_media_HEADERS}
853 ${zypp_media_proxyinfo_HEADERS}
855 ${zypp_solver_HEADERS}
856 ${zypp_solver_detail_HEADERS}
858 ${zypp_sat_detail_HEADERS}
861 ${zypp_zypp_detail_HEADERS}
863 ${zypp_source_susetags_HEADERS}
864 ${zypp_target_modalias_HEADERS}
865 ${zypp_target_HEADERS}
872 # Macro to set the log group for a list of files
874 MACRO( SET_LOGGROUP _group _files )
875 SET_SOURCE_FILES_PROPERTIES( ${_files} COMPILE_FLAGS -DZYPP_BASE_LOGGER_LOGGROUP=\\"${_group}\\" )
876 FOREACH (_currentFile ${ARGN})
877 #MESSAGE( STATUS "setting loggroup to \"${_group}\" for ${_currentFile}" )
878 SET_SOURCE_FILES_PROPERTIES( ${_currentFile} COMPILE_FLAGS -DZYPP_BASE_LOGGER_LOGGROUP=\\"${_group}\\" )
879 ENDFOREACH (_currentFile ${ARGN})
880 ENDMACRO( SET_LOGGROUP )
882 # Default loggroup for all files
883 SET_LOGGROUP( "zypp" ${zypp_lib_SRCS} )
885 # override some defaults
886 SET_LOGGROUP( "libsolv" ${zypp_sat_SRCS} )
887 #SET_LOGGROUP( "group" ${zypp_target_rpm_SRCS} )
888 #SET_LOGGROUP( "group" ${zypp_parser_yum2_SRCS} )
889 #SET_LOGGROUP( "group" ${zypp_capability_SRCS} )
890 #SET_LOGGROUP( "group" ${zypp_ui_SRCS} )
891 #SET_LOGGROUP( "group" ${zypp_media_SRCS} )
892 #SET_LOGGROUP( "group" ${zypp_parser_xml_SRCS} )
893 #SET_LOGGROUP( "group" ${zypp_media_proxyinfo_SRCS} )
894 #SET_LOGGROUP( "group" ${zypp_source_yum_SRCS} )
895 #SET_LOGGROUP( "group" ${zypp_base_SRCS} )
896 #SET_LOGGROUP( "group" ${zypp_solver_detail_SRCS} )
897 #SET_LOGGROUP( "group" ${zypp_sat_SRCS} )
898 #SET_LOGGROUP( "group" ${zypp_url_SRCS} )
899 #SET_LOGGROUP( "group" ${zypp_source_SRCS} )
900 #SET_LOGGROUP( "group" ${zypp_parser_SRCS} )
901 #SET_LOGGROUP( "group" ${zypp_SRCS} )
902 #SET_LOGGROUP( "group" ${zypp_zypp_detail_SRCS} )
903 #SET_LOGGROUP( "group" ${zypp_source_susetags_SRCS} )
904 #SET_LOGGROUP( "group" ${zypp_target_modalias_SRCS} )
905 #SET_LOGGROUP( "group" ${zypp_target_SRCS} )
906 #SET_LOGGROUP( "group" ${zypp_parser_yum_SRCS} )
907 #SET_LOGGROUP( "group" ${zypp_pool_SRCS} )
909 ADD_LIBRARY( zypp-objlib OBJECT ${zypp_lib_SRCS} ${zypp_lib_HEADERS} )
911 macro( ADDZYPPLIB LIBNAME )
912 message( "ADDING lib ${LIBNAME} to project" )
913 ADD_LIBRARY(${LIBNAME} SHARED $<TARGET_OBJECTS:zypp-objlib> )
914 SET_TARGET_PROPERTIES( ${LIBNAME} PROPERTIES VERSION "${LIBZYPP_VERSION_INFO}" )
915 SET_TARGET_PROPERTIES( ${LIBNAME} PROPERTIES SOVERSION "${LIBZYPP_SOVERSION_INFO}" )
917 SET(UTIL_LIBRARY util)
918 TARGET_LINK_LIBRARIES(${LIBNAME} ${UTIL_LIBRARY} )
919 TARGET_LINK_LIBRARIES(${LIBNAME} ${RPM_LIBRARY} )
920 TARGET_LINK_LIBRARIES(${LIBNAME} ${GETTEXT_LIBRARIES} )
921 TARGET_LINK_LIBRARIES(${LIBNAME} ${CURL_LIBRARIES} )
922 TARGET_LINK_LIBRARIES(${LIBNAME} ${LIBXML2_LIBRARIES} )
923 TARGET_LINK_LIBRARIES(${LIBNAME} ${ZLIB_LIBRARY} )
924 TARGET_LINK_LIBRARIES(${LIBNAME} ${LibSolv_LIBRARIES} )
925 TARGET_LINK_LIBRARIES(${LIBNAME} ${OPENSSL_LIBRARIES} )
926 TARGET_LINK_LIBRARIES(${LIBNAME} ${CRYPTO_LIBRARIES} )
927 TARGET_LINK_LIBRARIES(${LIBNAME} ${SIGNALS_LIBRARY})
928 TARGET_LINK_LIBRARIES(${LIBNAME} ${Boost_THREAD_LIBRARY})
929 TARGET_LINK_LIBRARIES(${LIBNAME} ${GPGME_PTHREAD_LIBRARIES})
930 target_link_libraries(${LIBNAME} ${SIGCPP_LIBRARIES})
931 target_link_libraries(${LIBNAME} ${LIBGLIB_LIBRARIES})
932 target_link_libraries(${LIBNAME} ${YAML_CPP_LIBRARIES})
934 IF (ENABLE_ZSTD_COMPRESSION)
935 TARGET_LINK_LIBRARIES(${LIBNAME} ${ZSTD_LIBRARY})
936 ENDIF (ENABLE_ZSTD_COMPRESSION)
938 IF (ENABLE_ZCHUNK_COMPRESSION)
939 TARGET_LINK_LIBRARIES(${LIBNAME} ${ZCHUNK_LDFLAGS})
940 ENDIF(ENABLE_ZCHUNK_COMPRESSION)
943 TARGET_LINK_LIBRARIES(${LIBNAME} ${UDEV_LIBRARY} )
946 TARGET_LINK_LIBRARIES(${LIBNAME} ${HAL_LIBRARY} ${HAL_STORAGE_LIBRARY} ${DBUS_LIBRARY} )
950 TARGET_LINK_LIBRARIES( ${LIBNAME} ${LIBPROXY_LIBRARIES} )
954 #Release library stripped from most symbols, thats what we release to the packages
956 set_target_properties ( zypp PROPERTIES LINK_FLAGS "-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libzypp.map" )
958 INSTALL(TARGETS zypp LIBRARY DESTINATION ${LIB_INSTALL_DIR} )
960 #library build just for using it in tests, contains all symbols
961 ADDZYPPLIB(zypp-allsym)
962 ADD_DEPENDENCIES( zypp-allsym zypp )
964 #this part does nothing yet, only when switching away from using a map file to
965 #a approach where symbols are exported explicitely it would make a difference
966 #ZYPPNG symbols need to be added to the map file to be exported
968 ADD_DEFINITIONS(-DEXPORT_EXPERIMENTAL_API)
969 INCLUDE(GenerateExportHeader)
970 message("Exporting experimental libzypp-ng API")
971 GENERATE_EXPORT_HEADER(
976 ENDIF ( EXPORT_NG_API )
978 # install XML schemas
979 FILE( GLOB YUM_SCHEMA_FILES ${LIBZYPP_SOURCE_DIR}/zypp/parser/yum/schema/*.rng )
980 INSTALL(FILES ${YUM_SCHEMA_FILES} DESTINATION "${CMAKE_INSTALL_PREFIX}/share/zypp/schema/yum" )
982 ADD_CUSTOM_TARGET ( buildmon
983 COMMAND test ! -x ./buildmon || ./buildmon
987 TARGET zypp POST_BUILD
988 COMMAND test ! -x ./buildmon || ./buildmon