]> git.ipfire.org Git - thirdparty/snort3.git/commitdiff
updating CMake 'dist' target. Packages source as expected
authorJosh <jrosenba@cisco.com>
Tue, 25 Nov 2014 17:17:19 +0000 (11:17 -0600)
committerJosh <jrosenba@cisco.com>
Tue, 25 Nov 2014 17:17:19 +0000 (11:17 -0600)
cmake/packaging_data.cmake
doc/CMakeLists.txt
extra/src/CMakeLists.txt

index ae0ee681bba51193b581c29331258511b7ddf5d1..d347b687f45925035c8fdbd2feeec2608d58e0d2 100644 (file)
@@ -1,4 +1,9 @@
 
+add_custom_target(dist
+    COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target copy_manuals_to_source
+    COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target package_source
+    COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target delete_manuals_in_source
+)
 
 set (CPACK_GENERATOR TGZ)
 set (CPACK_PACKAGE_NAME "snort")
@@ -10,7 +15,8 @@ set (CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/doc/images/snort.png")
 set (CPACK_PACKAGE_INSTALL_DIRECTORY "snort")
 set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING")
 set (CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/doc/start.txt")
-set (CPACK_SOURCE_IGNORE_FILES "tools/snort2lua/tests*;.git/*;.gitignore")
+set (CPACK_SOURCE_IGNORE_FILES "tools/snort2lua/tests*;.git/*;.gitignore;${CMAKE_BINARY_DIR}*;*/m4/*")
+set (CPACK_SOURCE_GENERATOR TGZ)
 
 
 include(CPack)
index 664ba4a09b99b81a01a559d460c0d7107f164006..d5c7fad7be53a21fe4ee69bf12b2c1c15e67c483 100644 (file)
@@ -241,7 +241,7 @@ add_custom_command(OUTPUT snort_manual.pdf
         -f pdf 
         ${PDF_ARGUMENTS} 
         ${CMAKE_CURRENT_BINARY_DIR}/snort_manual.txt 
-    DEPENDS  ${ALL_SOURCES}
+    DEPENDS ${ALL_SOURCES}
     COMMENT "Documents: building snort_manual.pdf"
 )
 
@@ -277,11 +277,41 @@ add_custom_command(OUTPUT images.tgz
 # built documents
 
 
-add_custom_target(snort_manuals ALL
-    DEPENDS ${EXTRA_DIST}
-)
-#add_dependencies(snort_manuals snort ${ALL_SOURCES})
-
-
+add_custom_target(snort_manuals ALL DEPENDS ${EXTRA_DIST})
 install (FILES ${EXTRA_DIST_BINARY_PATH} DESTINATION "${SNORT_DATA_DIR}")
 install (FILES ${UNBUILT_SOURCES} DESTINATION "${SNORT_DATA_DIR}")
+
+
+
+
+###############################################################################
+###############################################################################
+
+# Packaging commands.  Used by cpack to move manuals to/from source tree
+
+add_custom_target (delete_manuals_in_source)
+set (COPY_MANUALS)
+
+foreach (manual ${EXTRA_DIST})
+    set (output "${CMAKE_CURRENT_LIST_DIR}/${manual}")
+
+    list(APPEND COPY_MANUALS ${output})
+    add_custom_command(
+        OUTPUT "${output}"
+        COMMAND ${CMAKE_COMMAND} -E copy ${manual} ${CMAKE_CURRENT_LIST_DIR}/${manual}
+        DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/${manual}"
+        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+        COMMENT "Documents: copying ${manual} into source directory"
+        VERBATIM
+    )
+
+    add_custom_command(
+        TARGET delete_manuals_in_source
+        PRE_BUILD
+        COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_CURRENT_LIST_DIR}/${manual}
+        COMMENT "Documents: deleting ${manual} from source directory"
+        VERBATIM
+    )
+endforeach (manual)
+
+add_custom_target (copy_manuals_to_source DEPENDS ${COPY_MANUALS})
index e6fc6ee91f5cf7f091ea9d2fbf2489120b919c2a..dab1b84fd28712fc4cec58310f24e2d29fd23e67 100644 (file)
@@ -109,8 +109,8 @@ if (BUILD_EXTRA_PLUGINS)
     #       only cleans extra plugins.  Also, we check in the top
     #       level cmake file to ensure that Makefiles have been
     #       generated. So, the command is definitely valid.
-    #  3) Ensure we don't recursively build this directly. Also,
-    #       make sure we install into a temporary directory
+    #  3) Ensure we don't recursively build this directly. Also
+    #       ensures we install into a temporary directory
     #  4) build snort. Can technically be combined with 'make install'
     #       but lets keep them seperate for clarity.
     #  5) install snort into the temp install directory.