Changeset: ce1a9b271295 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ce1a9b271295
Added Files:
        cmake/Modules/FindCreaterepo.cmake
Modified Files:
        cmake/monetdb-custom-targets.cmake
        cmake/monetdb-findpackages.cmake
        cmake/monetdb-functions.cmake
Branch: default
Log Message:

start with custom target to generate rpms


diffs (132 lines):

diff --git a/cmake/Modules/FindCreaterepo.cmake 
b/cmake/Modules/FindCreaterepo.cmake
new file mode 100644
--- /dev/null
+++ b/cmake/Modules/FindCreaterepo.cmake
@@ -0,0 +1,20 @@
+#[[
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0.  If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# Copyright 1997 - July 2008 CWI, August 2008 - 2020 MonetDB B.V.
+#]]
+
+find_program(CREATEREPO_EXECUTABLE NAMES createrepo
+  DOC "Create rpm repository"
+)
+ 
+include(FindPackageHandleStandardArgs)
+ 
+find_package_handle_standard_args(Createrepo
+  DEFAULT_MSG
+  CREATEREPO_EXECUTABLE
+)
+ 
+mark_as_advanced(CREATEREPO_EXECUTABLE)
diff --git a/cmake/monetdb-custom-targets.cmake 
b/cmake/monetdb-custom-targets.cmake
--- a/cmake/monetdb-custom-targets.cmake
+++ b/cmake/monetdb-custom-targets.cmake
@@ -14,7 +14,41 @@ endif()
 
 if (TESTING)
   add_custom_target(mtest
-      COMMAND
-      ${CMAKE_INSTALL_FULL_BINDIR}/${MONETDB_MTEST_SCRIPT}
-      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+    COMMAND
+    ${CMAKE_INSTALL_FULL_BINDIR}/${MONETDB_MTEST_SCRIPT}
+    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+endif()
+
+if (CREATEREPO_FOUND)
+  add_custom_target(create-rpm-repo
+    COMMAND
+    ${CREATEREPO_EXECUTABLE} ${CMAKE_BINARY_DIR}
+    WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+else()
+  add_custom_target(create-rpm-repo
+    COMMAND
+    ${CMAKE_COMMAND} -E echo 'Target not available because \"createrepo\" was 
not found.')
 endif()
+
+add_custom_target(create-rpm-packages
+  COMMAND
+  ${CMAKE_CPACK_COMMAND} -G RPM
+  WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+
+add_custom_target(create-source-rpm-packages
+  COMMAND
+  ${CMAKE_CPACK_COMMAND} --config CPackSourceConfig.cmake -G RPM
+  WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
+
+add_custom_target(create-rpm-distro
+  COMMAND
+  ${CMAKE_COMMAND} -E make_directory "${CMAKE_BINARY_DIR}/distro"
+  COMMAND
+  ${CMAKE_COMMAND} -E make_directory "${CMAKE_BINARY_DIR}/distro/repodata"
+  COMMAND
+  ${CMAKE_COMMAND} -E copy "${CMAKE_BINARY_DIR}/*rpm" 
"${CMAKE_BINARY_DIR}/distro/"
+  COMMAND
+  ${CMAKE_COMMAND} -E copy 
"${CMAKE_BINARY_DIR}/_CPack_Packages/Linux-Source/RPM/SPECS/monetdb.spec" 
"${CMAKE_BINARY_DIR}/distro/"
+  COMMAND
+  ${CMAKE_COMMAND} -E copy_directory "${CMAKE_BINARY_DIR}/repodata" 
"${CMAKE_BINARY_DIR}/distro/repodata/"
+  WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
diff --git a/cmake/monetdb-findpackages.cmake b/cmake/monetdb-findpackages.cmake
--- a/cmake/monetdb-findpackages.cmake
+++ b/cmake/monetdb-findpackages.cmake
@@ -35,11 +35,11 @@ if(WITH_PCRE)
 endif()
 
 if(WITH_CRYPTO)
-       if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" AND 
${CMAKE_HOST_SYSTEM_VERSION} VERSION_LESS "19.0.0")
-       find_package(CommonCrypto)
-       else()
-       find_package(OpenSSL)
-       endif()
+  if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" AND ${CMAKE_HOST_SYSTEM_VERSION} 
VERSION_LESS "19.0.0")
+    find_package(CommonCrypto)
+  else()
+    find_package(OpenSSL)
+  endif()
 endif()
 
 if(WITH_BZ2)
@@ -56,9 +56,9 @@ endif()
 
 if(WITH_LZ4)
   find_package(LZ4)
-       if (LZ4_FOUND AND LZ4_VERSION VERSION_LESS "1.8.0")
-                                       unset(LZ4_FOUND)
-       endif()
+  if (LZ4_FOUND AND LZ4_VERSION VERSION_LESS "1.8.0")
+    unset(LZ4_FOUND)
+  endif()
 endif()
 
 if(WITH_PROJ)
@@ -131,5 +131,6 @@ if(RINTEGRATION)
 endif()
 
 find_package(Sphinx)
+find_package(Createrepo)
 
 # vim: set ts=2:sw=2:et
diff --git a/cmake/monetdb-functions.cmake b/cmake/monetdb-functions.cmake
--- a/cmake/monetdb-functions.cmake
+++ b/cmake/monetdb-functions.cmake
@@ -108,6 +108,7 @@ function(monetdb_cmake_summary)
   message(STATUS "Summary of cmake configuration of MonetDB")
   message(STATUS "-----------------------------------------")
   message(STATUS "System is big endian: ${IS_BIG_ENDIAN}")
+  message(STATUS "Toolchain file: ${CMAKE_TOOLCHAIN_FILE}")
   if(${CMAKE_VERSION} VERSION_LESS "3.14.0")
     message(STATUS "NumPy include dirs: ${NUMPY_INCLUDE_DIRS}")
   else()
@@ -143,6 +144,7 @@ function(monetdb_cmake_summary)
   message(STATUS "Readline library: ${READLINE_FOUND}")
   message(STATUS "R library: ${LIBR_FOUND}")
   message(STATUS "Sphinx: ${SPHINX_FOUND}")
+  message(STATUS "Createrepo: ${CREATEREPO_FOUND}")
   message(STATUS "-----------------------------------------")
   message(STATUS "")
 endfunction()
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to