Author: dmacvicar Date: Mon Nov 26 14:52:28 2007 New Revision: 42393 URL: http://svn.opensuse.org/viewcvs/yast?rev=42393&view=rev Log: basic cmake insfrastructure for yast Added: trunk/devtools/devtools/cmake/ trunk/devtools/devtools/cmake/Makefile.am trunk/devtools/devtools/cmake/modules/ trunk/devtools/devtools/cmake/modules/FindYast.cmake trunk/devtools/devtools/cmake/modules/Makefile.am trunk/devtools/devtools/cmake/modules/YastCommon.cmake Modified: trunk/devtools/devtools/Makefile.am Modified: trunk/devtools/devtools/Makefile.am URL: http://svn.opensuse.org/viewcvs/yast/trunk/devtools/devtools/Makefile.am?rev=42393&r1=42392&r2=42393&view=diff ============================================================================== --- trunk/devtools/devtools/Makefile.am (original) +++ trunk/devtools/devtools/Makefile.am Mon Nov 26 14:52:28 2007 @@ -2,4 +2,4 @@ # Makefile.am for devtools/devtools # -SUBDIRS = bin admin skeletons doc data +SUBDIRS = bin admin skeletons doc data cmake Added: trunk/devtools/devtools/cmake/Makefile.am URL: http://svn.opensuse.org/viewcvs/yast/trunk/devtools/devtools/cmake/Makefile.am?rev=42393&view=auto ============================================================================== --- trunk/devtools/devtools/cmake/Makefile.am (added) +++ trunk/devtools/devtools/cmake/Makefile.am Mon Nov 26 14:52:28 2007 @@ -0,0 +1,5 @@ +# +# Makefile.am for devtools/devtools +# + +SUBDIRS = modules Added: trunk/devtools/devtools/cmake/modules/FindYast.cmake URL: http://svn.opensuse.org/viewcvs/yast/trunk/devtools/devtools/cmake/modules/FindYast.cmake?rev=42393&view=auto ============================================================================== --- trunk/devtools/devtools/cmake/modules/FindYast.cmake (added) +++ trunk/devtools/devtools/cmake/modules/FindYast.cmake Mon Nov 26 14:52:28 2007 @@ -0,0 +1,78 @@ +# set /usr as default prefix if not set +IF ( DEFINED CMAKE_INSTALL_PREFIX ) + MESSAGE(STATUS "prefix set to ${CMAKE_INSTALL_PREFIX}") +ELSE ( DEFINED CMAKE_INSTALL_PREFIX ) + SET(CMAKE_INSTALL_PREFIX /usr) + MESSAGE(STATUS "No prefix, set to default /usr") +ENDIF ( DEFINED CMAKE_INSTALL_PREFIX ) + +# Library +IF ( DEFINED LIB ) + SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIB}" ) +ELSE ( DEFINED LIB ) + IF (CMAKE_SIZEOF_VOID_P MATCHES "8") + SET( LIB_SUFFIX "64" ) + ENDIF(CMAKE_SIZEOF_VOID_P MATCHES "8") + SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" ) +ENDIF ( DEFINED LIB ) +MESSAGE(STATUS "Libraries will be installed in ${LIB_INSTALL_DIR}" ) + +if(YAST_INCLUDE_DIR AND YAST_LIBRARY AND YAST_YCP_LIBRARY) + # Already in cache, be silent + set(YAST_FIND_QUIETLY TRUE) +endif(YAST_INCLUDE_DIR AND YAST_LIBRARY AND YAST_YCP_LIBRARY) + +set(YAST_LIBRARY) +set(YAST_INCLUDE_DIR) +set(YAST_YCP_LIBRARY) + +FIND_PATH(YAST_INCLUDE_DIR Y2.h + ${CMAKE_INSTALL_PREFIX}/include/YaST2 + /usr/include/YaST2 + /usr/local/include/YaST2 +) + +SET(YAST_PLUGIN_DIR ${LIB_INSTALL_DIR}/YaST2/plugin) + +FIND_LIBRARY(YAST_LIBRARY NAMES y2 + PATHS + ${LIB_INSTALL_DIR} + /usr/local/lib +) + +FIND_LIBRARY(YAST_YCP_LIBRARY NAMES ycp + PATHS + ${LIB_INSTALL_DIR} + /usr/local/lib +) + +FIND_LIBRARY(YAST_PLUGIN_WFM_LIBRARY NAMES py2wfm + PATHS + ${YAST_PLUGIN_DIR} + /usr/lib + /usr/local/lib +) + +FIND_LIBRARY(YAST_PLUGIN_SCR_LIBRARY NAMES py2scr + PATHS + ${YAST_PLUGIN_DIR} + ${LIB_INSTALL_DIR} + /usr/local/lib +) + +SET(CMAKE_MODULE_PATH "${CMAKE_INSTALL_PREFIX}/share/YaST2/data/devtools/cmake/modules" ${CMAKE_MODULE_PATH}) + +if(YAST_INCLUDE_DIR AND YAST_LIBRARY AND YAST_YCP_LIBRARY) + MESSAGE( STATUS "YaST2 found: includes in ${YAST_INCLUDE_DIR}, library in ${YAST_LIBRARY}") + MESSAGE( STATUS " plugins in ${YAST_PLUGIN_DIR}") + MESSAGE( STATUS " scr in ${YAST_PLUGIN_SCR_LIBRARY}") + MESSAGE( STATUS " wfm in ${YAST_PLUGIN_WFM_LIBRARY}") + set(YAST_FOUND TRUE) +else(YAST_INCLUDE_DIR AND YAST_LIBRARY AND YAST_YCP_LIBRARY) + MESSAGE( STATUS "YaST2 not found") +endif(YAST_INCLUDE_DIR AND YAST_LIBRARY AND YAST_YCP_LIBRARY) + +MARK_AS_ADVANCED(YAST_INCLUDE_DIR YAST_LIBRARY YAST_YCP_LIBRARY YAST_PLUGIN_WFM_LIBRARY YAST_PLUGIN_SCR_LIBRARY ${YAST_PLUGIN_DIR}) + + + Added: trunk/devtools/devtools/cmake/modules/Makefile.am URL: http://svn.opensuse.org/viewcvs/yast/trunk/devtools/devtools/cmake/modules/Makefile.am?rev=42393&view=auto ============================================================================== --- trunk/devtools/devtools/cmake/modules/Makefile.am (added) +++ trunk/devtools/devtools/cmake/modules/Makefile.am Mon Nov 26 14:52:28 2007 @@ -0,0 +1,7 @@ +cmakedir = /usr/share/cmake/Modules +ycmakedir = @YAST2DEVTOOLS@/cmake/modules + +cmake_DATA = FindYast.cmake +ycmake_DATA = YastCommon.cmake + +EXTRA_DIST = $(cmake_DATA) $(ycmake_DATA) \ No newline at end of file Added: trunk/devtools/devtools/cmake/modules/YastCommon.cmake URL: http://svn.opensuse.org/viewcvs/yast/trunk/devtools/devtools/cmake/modules/YastCommon.cmake?rev=42393&view=auto ============================================================================== --- trunk/devtools/devtools/cmake/modules/YastCommon.cmake (added) +++ trunk/devtools/devtools/cmake/modules/YastCommon.cmake Mon Nov 26 14:52:28 2007 @@ -0,0 +1,67 @@ +#SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O3 -Wall -Woverloaded-virtual" ) +#SET( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O3 -Wall" ) + +# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked +SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules ${CMAKE_MODULE_PATH}) +#SET(CMAKE_MODULE_PATH ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules ${CMAKE_MODULE_PATH}) + +IF (NOT DEFINED PACKAGE) + FILE(READ "${CMAKE_SOURCE_DIR}/RPMNAME" PACKAGE) +ENDIF (NOT DEFINED PACKAGE) + +MESSAGE(STATUS "package name set to '${PACKAGE}'") +INCLUDE(${CMAKE_SOURCE_DIR}/VERSION.cmake) +SET ( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" ) + +#################################################################### +# RPM SPEC # +#################################################################### +MESSAGE(STATUS "Writing spec file...") +CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/${PACKAGE}.spec.in ${CMAKE_BINARY_DIR}/package/${PACKAGE}.spec @ONLY) +#################################################################### + +SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "-") +SET(CPACK_PACKAGE_VENDOR "-") +SET(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR}) +SET(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR}) +SET(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH}) + +SET( CPACK_GENERATOR "TBZ2") +SET( CPACK_SOURCE_GENERATOR "TBZ2") +SET( CPACK_SOURCE_PACKAGE_FILE_NAME "${PACKAGE}-${VERSION}" ) + +# The following components are regex's to match anywhere (unless anchored) +# in absolute path + filename to find files or directories to be excluded +# from source tarball. +SET (CPACK_SOURCE_IGNORE_FILES +"/CVS/;/.svn/;/.libs/;/.deps/;.swp$;.#;/#;/build/" +"~$" +"\\\\.cvsignore$" +"/package" +"Makefile\\\\.in$" +) +INCLUDE(CPack) + +INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) + +ADD_CUSTOM_TARGET( svncheck + COMMAND cd $(CMAKE_SOURCE_DIR) && ! LC_ALL=C svn status --show-updates --quiet | grep -v '^Status against revision' +) + +SET( AUTOBUILD_COMMAND + COMMAND ${CMAKE_MAKE_PROGRAM} package_source + COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2 ${CMAKE_BINARY_DIR}/package + COMMAND ${CMAKE_COMMAND} -E remove ${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2 + COMMAND ${CMAKE_COMMAND} -E copy "${CMAKE_SOURCE_DIR}/package/${PACKAGE}.changes" "${CMAKE_BINARY_DIR}/package/${PACKAGE}.changes" +) + +ADD_CUSTOM_TARGET( srcpackage_local + ${AUTOBUILD_COMMAND} +) + +ADD_CUSTOM_TARGET( srcpackage + COMMAND ${CMAKE_MAKE_PROGRAM} svncheck + ${AUTOBUILD_COMMAND} +) + + -- To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org For additional commands, e-mail: yast-commit+help@opensuse.org