소스 검색

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