Revision: 76203
http://sourceforge.net/p/brlcad/code/76203
Author: starseeker
Date: 2020-06-25 19:11:43 +0000 (Thu, 25 Jun 2020)
Log Message:
-----------
Add a no-tcl distcheck target. Need to disable the benchmark runs, since there
aren't any .g files without asc2g, but does enough to be useful.
Modified Paths:
--------------
brlcad/trunk/CMakeLists.txt
brlcad/trunk/misc/CMake/CMakeLists.txt
Added Paths:
-----------
brlcad/trunk/misc/CMake/distcheck_no_tcl.cmake.in
Modified: brlcad/trunk/CMakeLists.txt
===================================================================
--- brlcad/trunk/CMakeLists.txt 2020-06-25 17:15:14 UTC (rev 76202)
+++ brlcad/trunk/CMakeLists.txt 2020-06-25 19:11:43 UTC (rev 76203)
@@ -3650,6 +3650,7 @@
#
# CREATE_DISTCHECK(TARGET_SUFFIX CMAKE_OPTS source_dir build_dir install_dir
[custom_template])
CREATE_DISTCHECK(default_build_type "-DBRLCAD_BUNDLED_LIBS=AUTO"
"${CPACK_SOURCE_PACKAGE_FILE_NAME}" "build" "install")
+ CREATE_DISTCHECK(no_tcl "-DCMAKE_BUILD_TYPE=Debug
-DBRLCAD_BUNDLED_LIBS=BUNDLED -DBRLCAD_ENABLE_TCL=OFF"
"${CPACK_SOURCE_PACKAGE_FILE_NAME}" "build" "install" distcheck_no_tcl.cmake.in)
CREATE_DISTCHECK(no_tk "-DCMAKE_BUILD_TYPE=Debug
-DBRLCAD_BUNDLED_LIBS=BUNDLED -DBRLCAD_ENABLE_TK=OFF"
"${CPACK_SOURCE_PACKAGE_FILE_NAME}" "build" "install")
CREATE_DISTCHECK(no_strict "-DCMAKE_BUILD_TYPE=Debug
-DBRLCAD_BUNDLED_LIBS=BUNDLED -DBRLCAD_ENABLE_STRICT=OFF"
"${CPACK_SOURCE_PACKAGE_FILE_NAME}" "build" "install")
CREATE_DISTCHECK(no_object "-DCMAKE_BUILD_TYPE=Debug
-DBRLCAD_BUNDLED_LIBS=BUNDLED -DUSE_OBJECT_LIBS=OFF"
"${CPACK_SOURCE_PACKAGE_FILE_NAME}" "build" "install")
Modified: brlcad/trunk/misc/CMake/CMakeLists.txt
===================================================================
--- brlcad/trunk/misc/CMake/CMakeLists.txt 2020-06-25 17:15:14 UTC (rev
76202)
+++ brlcad/trunk/misc/CMake/CMakeLists.txt 2020-06-25 19:11:43 UTC (rev
76203)
@@ -85,6 +85,7 @@
configure_prefix.sh
configure_suffix.sh
distcheck_in_src_dir.cmake.in
+ distcheck_no_tcl.cmake.in
distcheck_repo_verify.cmake.in
distcheck_target.cmake.in
distclean.cmake.in
Added: brlcad/trunk/misc/CMake/distcheck_no_tcl.cmake.in
===================================================================
--- brlcad/trunk/misc/CMake/distcheck_no_tcl.cmake.in
(rev 0)
+++ brlcad/trunk/misc/CMake/distcheck_no_tcl.cmake.in 2020-06-25 19:11:43 UTC
(rev 76203)
@@ -0,0 +1,106 @@
+# D I S T C H E C K _ T A R G E T . C M A K E . I N
+# BRL-CAD
+#
+# Copyright (c) 2012-2020 United States Government as represented by
+# the U.S. Army Research Laboratory.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following
+# disclaimer in the documentation and/or other materials provided
+# with the distribution.
+#
+# 3. The name of the author may not be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
+# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
+# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+###
+set(check_distcheck
+"file(GLOB_RECURSE BUILD_DIR_CONTENTS RELATIVE
\"${CMAKE_CURRENT_BINARY_DIR}/distcheck-${TARGET_SUFFIX}/${build_dir}\"
\"${CMAKE_CURRENT_BINARY_DIR}/distcheck-${TARGET_SUFFIX}/${build_dir}/*\")
+if(BUILD_DIR_CONTENTS)
+ message(\"Files present after distclean in
${CMAKE_CURRENT_BINARY_DIR}/distcheck-${TARGET_SUFFIX}/${build_dir}:\")
+ foreach(filename \${BUILD_DIR_CONTENTS})
+ message(\"\${filename}\")
+ endforeach(filename \${BUILD_DIR_CONTENTS})
+ message(FATAL_ERROR \"distclean failed in
${CMAKE_CURRENT_BINARY_DIR}/distcheck-${TARGET_SUFFIX}/${build_dir}\")
+endif(BUILD_DIR_CONTENTS)
+")
+file(WRITE
"${CMAKE_BINARY_DIR}/CMakeTmp/distcheck-${TARGET_SUFFIX}-eval_distclean.cmake"
"${check_distcheck}")
+
+# Note - the path name variables in this particular target are *deliberately*
+# not put inside quotes. Normally in BRL-CAD paths should be quoted to handle
+# spaces in paths, but in this particular instance the target/command logic
+# ends up quoting the spaces directly. Consequently, adding quotes actually
+# *introduces* errors into paths with spaces.
+add_custom_target(distcheck-${TARGET_SUFFIX}
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Extracting
TGZ archive..."
+ COMMAND ${CMAKE_COMMAND} -E remove distcheck_${TARGET_SUFFIX}.log
+ COMMAND ${CMAKE_COMMAND} -E remove_directory distcheck-${TARGET_SUFFIX}
+ COMMAND ${CMAKE_COMMAND} -E make_directory distcheck-${TARGET_SUFFIX}
+ COMMAND ${CMAKE_COMMAND} -E chdir distcheck-${TARGET_SUFFIX}
${CMAKE_COMMAND} -E tar xzf ../${CPACK_SOURCE_PACKAGE_FILE_NAME}.tar.gz
+ COMMAND ${CMAKE_COMMAND} -E rename
distcheck-${TARGET_SUFFIX}/${CPACK_SOURCE_PACKAGE_FILE_NAME}
distcheck-${TARGET_SUFFIX}/${source_dir}
+ COMMAND ${CMAKE_COMMAND} -E make_directory
distcheck-${TARGET_SUFFIX}/${build_dir}
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Extracting
TGZ archive... Done."
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} -
Configuring... "
+ COMMAND ${CMAKE_COMMAND} -E chdir distcheck-${TARGET_SUFFIX}/${build_dir}
${CMAKE_COMMAND} ../${source_dir} @CMAKE_OPTS@
-DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/distcheck-${TARGET_SUFFIX}/${install_dir}
@TARGET_REDIRECT@
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} -
Configuring... Done."
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Compiling
using source from TGZ archive..."
+ COMMAND ${CMAKE_COMMAND} -E chdir distcheck-${TARGET_SUFFIX}/${build_dir}
@DISTCHECK_BUILD_CMD@ @TARGET_REDIRECT@
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Compiling
using source from TGZ archive... Done."
+ #COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Run
build-directory unit, benchmark and regression testing..."
+ # TODO - with Tcl we can't run the benchmarks, since we can't generate the
.g files from the .asc files...
+ #COMMAND ${CMAKE_COMMAND} -E chdir distcheck-${TARGET_SUFFIX}/${build_dir}
${CMAKE_COMMAND} --build . --target check @TARGET_REDIRECT@
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Run
build-directory unit and regression testing..."
+ COMMAND ${CMAKE_COMMAND} -E chdir distcheck-${TARGET_SUFFIX}/${build_dir}
${CMAKE_COMMAND} --build . --target unit @TARGET_REDIRECT@
+ COMMAND ${CMAKE_COMMAND} -E chdir distcheck-${TARGET_SUFFIX}/${build_dir}
${CMAKE_COMMAND} --build . --target regress @TARGET_REDIRECT@
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Run
build-directory unit, benchmark and regression testing... Done."
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Install
from tgz build directory..."
+ COMMAND ${CMAKE_COMMAND} -E make_directory
distcheck-${TARGET_SUFFIX}/${install_dir}
+ COMMAND ${CMAKE_COMMAND} -E chdir distcheck-${TARGET_SUFFIX}/${build_dir}
@DISTCHECK_INSTALL_CMD@ @TARGET_REDIRECT@
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Install
from tgz build directory... Done."
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Test
distclean rule..."
+ COMMAND ${CMAKE_COMMAND} -E remove -f
distcheck-${TARGET_SUFFIX}/${build_dir}/bench/summary
+ COMMAND ${CMAKE_COMMAND} -E chdir distcheck-${TARGET_SUFFIX}/${build_dir}
${CMAKE_COMMAND} --build . --target distclean @TARGET_REDIRECT@
+ COMMAND ${CMAKE_COMMAND} -P
${CMAKE_BINARY_DIR}/CMakeTmp/distcheck-${TARGET_SUFFIX}-eval_distclean.cmake
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Test
distclean rule... Done."
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Clear tgz
archive sources and build directory..."
+ COMMAND ${CMAKE_COMMAND} -E remove_directory
distcheck-${TARGET_SUFFIX}/${source_dir}
+ COMMAND ${CMAKE_COMMAND} -E remove_directory
distcheck-${TARGET_SUFFIX}/${build_dir}
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Clear tgz
archive sources and build directory... Done."
+ # TODO - with Tcl we can't run the benchmarks, since we can't generate the
.g files from the .asc files...
+ #COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Run
benchmark testing from tgz archive installed build..."
+ #COMMAND ${CMAKE_COMMAND} -E chdir distcheck-${TARGET_SUFFIX}/${install_dir}
${BIN_DIR}/benchmark run TIMEFRAME=1 @TARGET_REDIRECT@
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Run
benchmark testing from installed build... Done."
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Cleanup..."
+ COMMAND ${CMAKE_COMMAND} -E remove_directory distcheck-${TARGET_SUFFIX}
+ COMMAND ${CMAKE_COMMAND} -E echo "-- distcheck-${TARGET_SUFFIX} - Cleanup...
Done."
+ COMMENT "[distcheck-${TARGET_SUFFIX}] Performing distcheck -
${TARGET_SUFFIX} configuration..."
+ DEPENDS distcheck-source_archives
+ )
+set_target_properties(distcheck-${TARGET_SUFFIX} PROPERTIES FOLDER "BRL-CAD
Distribution Checking")
+set_target_properties(distcheck-${TARGET_SUFFIX} PROPERTIES
EXCLUDE_FROM_DEFAULT_BUILD 1)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
Property changes on: brlcad/trunk/misc/CMake/distcheck_no_tcl.cmake.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits