浏览代码

Merge topic 'CPackRPM-enableCPackTests'

dc9965f CPackRPM  do not run test if build dir contains space
e4d4dfc CPackRPM  activate CPackRPM test on Linux systems where rpmbuild is found
Brad King 14 年之前
父节点
当前提交
5148d0b92d
共有 2 个文件被更改,包括 23 次插入0 次删除
  1. 6 0
      Tests/CMakeLists.txt
  2. 17 0
      Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake

+ 6 - 0
Tests/CMakeLists.txt

@@ -566,6 +566,12 @@ ${CMake_BINARY_DIR}/bin/cmake -DVERSION=master -P ${CMake_SOURCE_DIR}/Utilities/
     set(CPackRun_CPackCommand "-DCPackCommand=${CMAKE_CPACK_COMMAND}")
     # set up list of CPack generators
     list(APPEND GENLST "ZIP")
+    if (CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT CMAKE_CURRENT_BINARY_DIR MATCHES ".* .*")
+        find_program(RPMBUILD NAMES rpmbuild)
+    endif(CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT CMAKE_CURRENT_BINARY_DIR MATCHES ".* .*")
+    if (RPMBUILD)
+       list(APPEND GENLST "RPM")
+    endif(RPMBUILD)
     # set up list of component packaging ways
     list(APPEND CWAYLST "default")
     list(APPEND CWAYLST "OnePackPerGroup")

+ 17 - 0
Tests/CPackComponentsForAll/RunCPackVerifyResult.cmake

@@ -50,6 +50,23 @@ if(CPackGen MATCHES "ZIP")
     if (${CPackComponentWay} STREQUAL "AllGroupsInOne")
         set(expected_count 1)
     endif (${CPackComponentWay} STREQUAL "AllGroupsInOne")
+elseif (CPackGen MATCHES "RPM")
+    set(expected_file_mask "${CPackComponentsForAll_BINARY_DIR}/MyLib-*.rpm")
+    if (${CPackComponentWay} STREQUAL "default")
+        set(expected_count 1)
+    endif(${CPackComponentWay} STREQUAL "default")
+    if (${CPackComponentWay} STREQUAL "OnePackPerGroup")
+        set(expected_count 2)
+    endif (${CPackComponentWay} STREQUAL "OnePackPerGroup")
+    if (${CPackComponentWay} STREQUAL "IgnoreGroup")
+        set(expected_count 4)
+    endif (${CPackComponentWay} STREQUAL "IgnoreGroup")
+    if (${CPackComponentWay} STREQUAL "AllInOne")
+        set(expected_count 1)
+    endif (${CPackComponentWay} STREQUAL "AllInOne")
+    if (${CPackComponentWay} STREQUAL "AllGroupsInOne")
+        set(expected_count 1)
+    endif (${CPackComponentWay} STREQUAL "AllGroupsInOne")
 endif(CPackGen MATCHES "ZIP")
 
 # clean-up previously CPack generated files