PROJECT(libzypp)
+# Library
+IF ( ${LIB_SUFFIX} )
+ SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" )
+ELSE ( ${LIB_SUFFIX} )
+ IF ( EXISTS "${CMAKE_INSTALL_PREFIX}/lib64" )
+ SET( LIB_SUFFIX "64" )
+ ENDIF ( EXISTS "${CMAKE_INSTALL_PREFIX}/lib64" )
+ SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" )
+ENDIF ( ${LIB_SUFFIX} )
+MESSAGE(STATUS "Libraries will be installed in ${LIB_INSTALL_DIR}" )
####################################################################
# CONFIGURATION #
####################################################################
####################################################################
-INCLUDE(DefineInstallationPaths)
-
SET( DOC_INSTALL_DIR
- "${SHARE_INSTALL_PREFIX}/doc/packages/${PACKAGE}"
+ "${CMAKE_INSTALL_PREFIX}/share/doc/packages/${PACKAGE}"
CACHE PATH "The install dir for documentation (default prefix/share/doc/packages/${PACKAGE})"
FORCE
)
+++ /dev/null
-if (UNIX)
- IF (NOT APPLICATION_NAME)
- MESSAGE(STATUS "${PROJECT_NAME} is used as APPLICATION_NAME")
- SET(APPLICATION_NAME ${PROJECT_NAME})
- ENDIF (NOT APPLICATION_NAME)
-
- # Suffix for Linux
- SET(LIB_SUFFIX
- CACHE STRING "Define suffix of directory name (32/64)"
- )
-
- SET(EXEC_INSTALL_PREFIX
- "${CMAKE_INSTALL_PREFIX}"
- CACHE PATH "Base directory for executables and libraries"
- FORCE
- )
- SET(SHARE_INSTALL_PREFIX
- "${CMAKE_INSTALL_PREFIX}/share"
- CACHE PATH "Base directory for files which go to share/"
- FORCE
- )
- SET(DATA_INSTALL_PREFIX
- "${SHARE_INSTALL_PREFIX}/${APPLICATION_NAME}"
- CACHE PATH "The parent directory where applications can install their data" FORCE)
-
- # The following are directories where stuff will be installed to
- SET(BIN_INSTALL_DIR
- "${EXEC_INSTALL_PREFIX}/bin"
- CACHE PATH "The ${APPLICATION_NAME} binary install dir (default prefix/bin)"
- FORCE
- )
- SET(SBIN_INSTALL_DIR
- "${EXEC_INSTALL_PREFIX}/sbin"
- CACHE PATH "The ${APPLICATION_NAME} sbin install dir (default prefix/sbin)"
- FORCE
- )
- SET(LIB_INSTALL_DIR
- "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}"
- CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is prefix/lib)"
- FORCE
- )
- SET(LIBEXEC_INSTALL_DIR
- "${EXEC_INSTALL_PREFIX}/libexec"
- CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is prefix/libexec)"
- FORCE
- )
- SET(PLUGIN_INSTALL_DIR
- "${LIB_INSTALL_DIR}/${APPLICATION_NAME}"
- CACHE PATH "The subdirectory relative to the install prefix where plugins will be installed (default is prefix/lib/${APPLICATION_NAME})"
- FORCE
- )
- SET(INCLUDE_INSTALL_DIR
- "${CMAKE_INSTALL_PREFIX}/include"
- CACHE PATH "The subdirectory to the header prefix (default prefix/include)"
- FORCE
- )
-
- SET(DATA_INSTALL_DIR
- "${DATA_INSTALL_PREFIX}"
- CACHE PATH "The parent directory where applications can install their data (default prefix/share/${APPLICATION_NAME})"
- FORCE
- )
- SET(HTML_INSTALL_DIR
- "${DATA_INSTALL_PREFIX}/doc/HTML"
- CACHE PATH "The HTML install dir for documentation (default data/doc/html)"
- FORCE
- )
- SET(ICON_INSTALL_DIR
- "${DATA_INSTALL_PREFIX}/icons"
- CACHE PATH "The icon install dir (default data/icons/)"
- FORCE
- )
- SET(SOUND_INSTALL_DIR
- "${DATA_INSTALL_PREFIX}/sounds"
- CACHE PATH "The install dir for sound files (default data/sounds)"
- FORCE
- )
-
- SET(LOCALE_INSTALL_DIR
- "${SHARE_INSTALL_PREFIX}/locale"
- CACHE PATH "The install dir for translations (default prefix/share/locale)"
- FORCE
- )
-
- SET(XDG_APPS_DIR
- "${SHARE_INSTALL_PREFIX}/applications/"
- CACHE PATH "The XDG apps dir"
- FORCE
- )
- SET(XDG_DIRECTORY_DIR
- "${SHARE_INSTALL_PREFIX}/desktop-directories"
- CACHE PATH "The XDG directory"
- FORCE
- )
-
- SET(SYSCONF_INSTALL_DIR
- "${EXEC_INSTALL_PREFIX}/etc"
- CACHE PATH "The ${APPLICATION_NAME} sysconfig install dir (default prefix/etc)"
- FORCE
- )
- SET(MAN_INSTALL_DIR
- "${SHARE_INSTALL_PREFIX}/man"
- CACHE PATH "The ${APPLICATION_NAME} man install dir (default prefix/man)"
- FORCE
- )
- SET(INFO_INSTALL_DIR
- "${SHARE_INSTALL_PREFIX}/info"
- CACHE PATH "The ${APPLICATION_NAME} info install dir (default prefix/info)"
- FORCE
- )
-endif (UNIX)
-
-if (WIN32)
- # Same same
- SET(BIN_INSTALL_DIR .)
- SET(SBIN_INSTALL_DIR .)
- SET(LIB_INSTALL_DIR .)
- SET(PLUGIN_INSTALL_DIR plugins)
- SET(HTML_INSTALL_DIR doc/HTML)
- SET(ICON_INSTALL_DIR .)
- SET(SOUND_INSTALL_DIR .)
- SET(LOCALE_INSTALL_DIR lang)
-endif (WIN32)
-
FIND_PROGRAM(GETTEXT_MSGFMT_EXECUTABLE msgfmt)
-MACRO(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFile)
+MACRO(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFile )
SET(_gmoFiles)
GET_FILENAME_COMPONENT(_potBasename ${_potFile} NAME_WE)
GET_FILENAME_COMPONENT(_absPotFile ${_potFile} ABSOLUTE)
- MESSAGE( STATUS "pot: ${_potFile} converted to ${_potBasename}")
+# MESSAGE( STATUS "pot: ${_potFile} converted to ${_potBasename}")
SET(_addToAll)
IF(${_firstPoFile} STREQUAL "ALL")
GET_FILENAME_COMPONENT(_abs_PATH ${_absFile} PATH)
GET_FILENAME_COMPONENT(_lang ${_absFile} NAME_WE)
SET(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
-
+
+ SET( updatedPos "${CMAKE_CURRENT_BINARY_DIR}/${_lang}.po" ${updatedPos} )
+
+ ADD_CUSTOM_COMMAND(
+ OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_lang}.po"
+ COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet -o "${CMAKE_CURRENT_BINARY_DIR}/${_lang}.po" -s ${_absFile} ${_absPotFile}
+ DEPENDS ${_potFile}
+ )
+
ADD_CUSTOM_COMMAND(
OUTPUT ${_gmoFile}
- COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none -s ${_absFile} ${_absPotFile}
COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_absFile}
- DEPENDS ${_absPotFile} ${_absFile}
+ DEPENDS ${_absPotFile} ${_absFile}
)
INSTALL(FILES ${_gmoFile} DESTINATION share/locale/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo)
ENDFOREACH (_currentPoFile )
- ADD_CUSTOM_TARGET(translations ${_addToAll} DEPENDS ${_gmoFiles})
-
+ ADD_CUSTOM_TARGET(translations ${_addToAll} DEPENDS ${_gmoFiles} ${updatedPos})
+#ADD_CUSTOM_TARGET(update_translations ${_addToAll} DEPENDS ${updatedPos} )
ENDMACRO(GETTEXT_CREATE_TRANSLATIONS )
+MACRO(UPDATE_TRANSLATIONS)
+ FILE( GLOB NEW_PO_FILES ${CMAKE_BINARY_DIR}/po/*.po )
+ FOREACH (currentPoFile ${NEW_PO_FILES})
+ GET_FILENAME_COMPONENT( lang ${currentPoFile} NAME_WE)
+ ADD_CUSTOM_COMMAND(
+ OUTPUT "${CMAKE_SOURCE_DIR}/po/${lang}.po"
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${currentPoFile} "${CMAKE_SOURCE_DIR}/po/${lang}.po"
+ DEPENDS ${currentPoFile}
+ )
+ ENDFOREACH (currentPoFile )
+ ADD_CUSTOM_TARGET(update_translations ${_addToAll} DEPENDS ${NEW_PO_FILES} )
+ENDMACRO(UPDATE_TRANSLATIONS)
+
IF (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE )
SET(GETTEXT_FOUND TRUE)
ELSE (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE )
%suse_update_desktop_file -G "" -C "" package-manager
make -C po install DESTDIR=$RPM_BUILD_ROOT
# Create filelist with translatins
+cd ..
%{find_lang} zypp
%{_docdir}/%{name}
%dir %{prefix}/include/zypp
%{prefix}/include/zypp/*
-%{prefix}/share/cmake/Modules/FindLibzypp.cmake
+%{prefix}/share/cmake/Modules/FindZypp.cmake
%{_libdir}/pkgconfig/libzypp.pc
%changelog -n libzypp
FILE( GLOB LIBZYPP_PO_FILES ${CMAKE_SOURCE_DIR}/po/*.po )
GETTEXT_CREATE_TRANSLATIONS( "${CMAKE_SOURCE_DIR}/po/zypp.pot" ${LIBZYPP_PO_FILES} )
+UPDATE_TRANSLATIONS()
\ No newline at end of file
TARGET_LINK_LIBRARIES( zypp-querypool zypp )
TARGET_LINK_LIBRARIES( zypp-querypool xml2 )
-INSTALL(TARGETS zypp-querypool RUNTIME DESTINATION ${LIB_INSTALL_DIR}/zypp )
\ No newline at end of file
+INSTALL(TARGETS zypp-querypool RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/zypp )
\ No newline at end of file