Mailinglist Archive: yast-commit (864 mails)

< Previous Next >
[yast-commit] r42393 - in /trunk/devtools/devtools: Makefile.am cmake/ cmake/Makefile.am cmake/modules/ cmake/modules/FindYast.cmake cmake/modules/Makefile.am cmake/modules/YastCommon.cmake
  • From: dmacvicar@xxxxxxxxxxxxxxxx
  • Date: Mon, 26 Nov 2007 13:52:29 -0000
  • Message-id: <20071126135229.68B7E25ED9@xxxxxxxxxxxxxxxx>
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@xxxxxxxxxxxx
For additional commands, e-mail: yast-commit+help@xxxxxxxxxxxx

< Previous Next >
This Thread
  • No further messages