PROJECT(satsolver)
+cmake_minimum_required(VERSION 2.4)
+
+#IF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERISION} GREATER 2.4)
+#ENDIF(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERISION} GREATER 2.4)
+
+if(COMMAND cmake_policy)
+ # escape preprocessor, see -DVERSION below
+ cmake_policy(SET CMP0005 OLD)
+endif(COMMAND cmake_policy)
+
# Library
IF ( DEFINED LIB )
SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/${LIB}" )
INCLUDE( ${CMAKE_SOURCE_DIR}/VERSION.cmake )
FIND_PACKAGE(EXPAT REQUIRED)
-#FIND_PACKAGE(Ruby REQUIRED)
+FIND_PACKAGE(Check REQUIRED)
+FIND_PACKAGE(ZLIB REQUIRED)
+
FIND_LIBRARY(RPMDB_LIBRARY NAMES rpmdb)
SET( PACKAGE "satsolver" )
ADD_DEFINITIONS( -D_FILE_OFFSET_BITS=64 )
ADD_DEFINITIONS( -DVERSION=\\\"${VERSION}\\\" )
-SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "mls solver")
+SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "SAT Solver library")
SET(CPACK_PACKAGE_VENDOR "Novell Inc.")
SET(CPACK_PACKAGE_VERSION_MAJOR ${LIBSATSOLVER_MAJOR})
SET(CPACK_PACKAGE_VERSION_MINOR ${LIBSATSOLVER_MINOR})
"Makefile\\\\.in$"
"testsuite/data.libzypp/kernel-tests/kernel-hardware"
"testsuite/data.libzypp/yast-tests/kernel3-hardware"
+# cmake cache files
+"CMakeCache.txt"
+"CMakeFiles"
)
INCLUDE(CPack)
####################################################################
MESSAGE(STATUS "Looking modules in ${CMAKE_MODULE_PATH}")
-FIND_PROGRAM(SWIG_EXECUTABLE
- NAMES swig-1.3 swig
- PATHS ${SWIG_DIR} ${SWIG_DIR}/.. ${SWIG_DIR}/../../bin /usr/bin /usr/local/bin ${CMAKE_INSTALL_PREFIX}/bin
-)
+#FIND_PROGRAM(SWIG_EXECUTABLE
+# NAMES swig-1.3 swig
+# PATHS ${SWIG_DIR} ${SWIG_DIR}/.. ${SWIG_DIR}/../../bin /usr/bin /usr/local/bin ${CMAKE_INSTALL_PREFIX}/bin
+#)
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror -Wall" )
set ( CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS} -g -O3" )
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(tools)
ADD_SUBDIRECTORY(applayer)
+ADD_SUBDIRECTORY(tests)
-IF( EXISTS "${CMAKE_SOURCE_DIR}/testsuite" )
- ADD_SUBDIRECTORY(testsuite)
-ENDIF( EXISTS "${CMAKE_SOURCE_DIR}/testsuite" )
+FIND_PACKAGE(SWIG REQUIRED)
-IF ( NOT SWIG_EXECUTABLE )
- MESSAGE( FATAL "SWIG not found." )
-ELSE ( NOT SWIG_EXECUTABLE )
- MESSAGE( STATUS "SWIG found at ${SWIG_EXECUTABLE}" )
+IF ( SWIG_FOUND )
ADD_SUBDIRECTORY(bindings)
-ENDIF ( NOT SWIG_EXECUTABLE )
+ENDIF ( SWIG_FOUND )
MESSAGE(STATUS "version: ${VERSION}")
COMMAND cd $(CMAKE_SOURCE_DIR) && ! LC_ALL=C svn status --show-updates --quiet | grep -v '^Status against revision'
)
+
+# backup dist command while cpack is kaputt
+SET(DIST_COMMAND
+ COMMAND rm -rf ${CMAKE_BUILD_DIR}/package/${CPACK_SOURCE_PACKAGE_FILE_NAME}
+# COMMAND mkdir -p "${CMAKE_BUILD_DIR}/package/${CPACK_SOURCE_PACKAGE_FILE_NAME}"
+ COMMAND cp -r "${CMAKE_SOURCE_DIR}" "/tmp/${CPACK_SOURCE_PACKAGE_FILE_NAME}"
+ COMMAND tar -jcf "${CMAKE_BINARY_DIR}/package/${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.bz2" -C "/tmp" --exclude-vcs --exclude=".hidden" --exclude="build" ${CPACK_SOURCE_PACKAGE_FILE_NAME} WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
+ COMMAND rm -rf "/tmp/${CPACK_SOURCE_PACKAGE_FILE_NAME}"
+)
+
+ADD_CUSTOM_TARGET( dist ${DIST_COMMAND} )
+
SET( AUTOBUILD_COMMAND
COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/package/*.tar.bz2
- 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_MAKE_PROGRAM} package_source
+ COMMAND ${CMAKE_MAKE_PROGRAM} dist
+ #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/libsatsolver.changes" "${CMAKE_BINARY_DIR}/package/libsatsolver.changes"
)
COMMAND ${CMAKE_MAKE_PROGRAM} svncheck
${AUTOBUILD_COMMAND}
)
+
+INCLUDE(CTest)
+ENABLE_TESTING()
+
+