Revision: 75909
http://sourceforge.net/p/brlcad/code/75909
Author: starseeker
Date: 2020-05-24 13:37:29 +0000 (Sun, 24 May 2020)
Log Message:
-----------
Leverage the EXEC passed in from generator expressions to get the current bin
dir, instead of using the custom file key mechanism.
Modified Paths:
--------------
brlcad/branches/bioh/regress/ged/regress-ged_mater.cmake.in
brlcad/branches/bioh/regress/icv/CMakeLists.txt
brlcad/branches/bioh/regress/icv/regress-icv_export.cmake.in
brlcad/branches/bioh/regress/icv/regress-icv_import.cmake.in
Modified: brlcad/branches/bioh/regress/ged/regress-ged_mater.cmake.in
===================================================================
--- brlcad/branches/bioh/regress/ged/regress-ged_mater.cmake.in 2020-05-24
03:30:16 UTC (rev 75908)
+++ brlcad/branches/bioh/regress/ged/regress-ged_mater.cmake.in 2020-05-24
13:37:29 UTC (rev 75909)
@@ -1,7 +1,7 @@
-string(REPLACE "\\" "" MATER_EXEC "${EXEC}")
-
+# Values set at CMake configure time
set(CBDIR "@CMAKE_CURRENT_BINARY_DIR@")
set(CSDIR "@CMAKE_CURRENT_SOURCE_DIR@")
+set(LOGFILE "${CBDIR}/regress-ged_mater.log")
set(OUTPUT_FILES
"${CBDIR}/ged_mater_density_data.txt"
@@ -11,39 +11,52 @@
"${CBDIR}/ged_mater_test.g"
)
+file(WRITE "${LOGFILE}" "Starting mater test run\n")
+
+# The executable locations aren't know at CMake configure time, so one of them
+# is passed in via the EXEC variable at runtime. De-quote it and assign it to
+# the appropriate variable.
+string(REPLACE "\\" "" MATER_EXEC "${EXEC}")
+if (NOT EXISTS "${MATER_EXEC}")
+ file(WRITE "${LOGFILE}" "mater test program not found at location
\"${MATER_EXEC}\" - aborting\n")
+ message(FATAL_ERROR "Unable to find mater test program, aborting.\nSee
${LOGFILE} for more details.")
+endif (NOT EXISTS "${MATER_EXEC}")
+
# Clean up in case we've run before unsuccessfully
foreach(of ${OUTPUT_FILES})
execute_process(COMMAND "@CMAKE_COMMAND@" -E remove -f "${of}")
endforeach(of ${OUTPUT_FILES})
-file(WRITE "${CBDIR}/regress-ged_mater.log" "Running ${MATER_EXEC} dnull\n")
+# Run empty density test
+file(APPEND "${LOGFILE}" "Running ${MATER_EXEC} dnull\n")
execute_process(
COMMAND "${MATER_EXEC}" "dnull" RESULT_VARIABLE ged_mater_result
OUTPUT_VARIABLE ged_mater_log ERROR_VARIABLE ged_mater_log
WORKING_DIRECTORY ${CBDIR}
)
-file(APPEND "${CBDIR}/regress-ged_mater.log" "${ged_mater_log}")
+file(APPEND "${LOGFILE}" "${ged_mater_log}")
+set(get_mater_log)
if(ged_mater_result)
- message(FATAL_ERROR "[regress-ged_mater] Failure: ${ged_mater_result}. See
${CBDIR}/regress-ged_mater.log for more info.\n")
+ message(FATAL_ERROR "[regress-ged_mater] Failure: ${ged_mater_result}. See
${LOGFILE} for more info.\n")
endif(ged_mater_result)
-execute_process(COMMAND "@CMAKE_COMMAND@" -E remove
"${CBDIR}/ged_mater_test.g")
+execute_process(COMMAND "@CMAKE_COMMAND@" -E remove -f
"${CBDIR}/ged_mater_test.g")
-file(APPEND "${CBDIR}/regress-ged_mater.log" "Running ${MATER_EXEC} dstd\n")
+# Run standard density test
+file(APPEND "${LOGFILE}" "Running ${MATER_EXEC} dstd\n")
execute_process(
COMMAND "${MATER_EXEC}" "dstd" RESULT_VARIABLE ged_mater_result
OUTPUT_VARIABLE ged_mater_log ERROR_VARIABLE ged_mater_log
WORKING_DIRECTORY ${CBDIR}
)
-file(APPEND "${CBDIR}/regress-ged_mater.log" "${ged_mater_log}")
-
+file(APPEND "${LOGFILE}" "${ged_mater_log}")
+set(get_mater_log)
if(ged_mater_result)
- message(FATAL_ERROR "[regress-ged_mater] Failure: ${ged_mater_result}. See
${CBDIR}/regress-ged_mater.log for more info.\n")
+ message(FATAL_ERROR "[regress-ged_mater] Failure: ${ged_mater_result}. See
${LOGFILE} for more info.\n")
endif(ged_mater_result)
# Clean up
foreach(of ${OUTPUT_FILES})
- file(APPEND "${CBDIR}/regress-ged_mater.log" "Removing ${of}\n")
execute_process(COMMAND "@CMAKE_COMMAND@" -E remove -f "${of}")
endforeach(of ${OUTPUT_FILES})
Modified: brlcad/branches/bioh/regress/icv/CMakeLists.txt
===================================================================
--- brlcad/branches/bioh/regress/icv/CMakeLists.txt 2020-05-24 03:30:16 UTC
(rev 75908)
+++ brlcad/branches/bioh/regress/icv/CMakeLists.txt 2020-05-24 13:37:29 UTC
(rev 75909)
@@ -10,7 +10,7 @@
set(CONTROL_IMAGE "${CMAKE_CURRENT_SOURCE_DIR}/../../bench/ref/m35.pix")
set(TARGET_IMAGE "${CMAKE_CURRENT_BINARY_DIR}/m35_icv.pix")
set(LOG_FILE "${CMAKE_CURRENT_BINARY_DIR}/pix_pix.log")
-BRLCAD_REGRESSION_TEST(regress-pix_pix "pixcmp;icv" TEST_SCRIPT "${TIMPORT}")
+BRLCAD_REGRESSION_TEST(regress-pix_pix "pixcmp;icv" TEST_SCRIPT "${TIMPORT}"
EXEC icv)
DISTCLEAN(${LOG_FILE} ${TARGET_IMAGE})
# png-pix
@@ -18,7 +18,7 @@
set(CONTROL_IMAGE "${CMAKE_CURRENT_SOURCE_DIR}/../../bench/ref/m35.pix")
set(TARGET_IMAGE "${CMAKE_CURRENT_BINARY_DIR}/m35_png.pix")
set(LOG_FILE "${CMAKE_CURRENT_BINARY_DIR}/png_pix.log")
-BRLCAD_REGRESSION_TEST(regress-png_pix "pixcmp;icv" TEST_SCRIPT "${TIMPORT}")
+BRLCAD_REGRESSION_TEST(regress-png_pix "pixcmp;icv" TEST_SCRIPT "${TIMPORT}"
EXEC icv)
DISTCLEAN(${LOG_FILE} ${TARGET_IMAGE})
# pix-png
@@ -27,7 +27,7 @@
set(TARGET_IMAGE "${CMAKE_CURRENT_BINARY_DIR}/m35_pix.png")
set(LOG_FILE "${CMAKE_CURRENT_BINARY_DIR}/pix_png.log")
set(TARGET_NAME pix_png)
-bRLCAD_REGRESSION_TEST(regress-pix_png "pixcmp;icv" TEST_SCRIPT "${TEXPORT}")
+bRLCAD_REGRESSION_TEST(regress-pix_png "pixcmp;icv" TEST_SCRIPT "${TEXPORT}"
EXEC icv)
DISTCLEAN(${LOG_FILE} ${TARGET_IMAGE})
# Unpack compressed ppm file
@@ -39,7 +39,7 @@
set(CONTROL_IMAGE "${CMAKE_CURRENT_SOURCE_DIR}/../../bench/ref/m35.pix")
set(TARGET_IMAGE "${CMAKE_CURRENT_BINARY_DIR}/m35_ppm.pix")
set(LOG_FILE "${CMAKE_CURRENT_BINARY_DIR}/ppm_pix.log")
-BRLCAD_REGRESSION_TEST(regress-ppm_pix "pixcmp;icv" TEST_SCRIPT "${TIMPORT}")
+BRLCAD_REGRESSION_TEST(regress-ppm_pix "pixcmp;icv" TEST_SCRIPT "${TIMPORT}"
EXEC icv)
DISTCLEAN(${LOG_FILE} ${TARGET_IMAGE})
# pix_ppm
@@ -48,7 +48,7 @@
set(TARGET_IMAGE "${CMAKE_CURRENT_BINARY_DIR}/m35_pix.ppm")
set(LOG_FILE "${CMAKE_CURRENT_BINARY_DIR}/pix_ppm.log")
set(TARGET_NAME pix_ppm)
-BRLCAD_REGRESSION_TEST(regress-pix_ppm "pixcmp;icv" TEST_SCRIPT "${TEXPORT}")
+BRLCAD_REGRESSION_TEST(regress-pix_ppm "pixcmp;icv" TEST_SCRIPT "${TEXPORT}"
EXEC icv)
DISTCLEAN(${LOG_FILE} ${TARGET_IMAGE})
# Unpack compressed dpix file
@@ -60,7 +60,7 @@
set(CONTROL_IMAGE "${CMAKE_CURRENT_SOURCE_DIR}/../../bench/ref/m35.pix")
set(TARGET_IMAGE "${CMAKE_CURRENT_BINARY_DIR}/m35_dpix.pix")
set(LOG_FILE "${CMAKE_CURRENT_BINARY_DIR}/dpix_pix.log")
-BRLCAD_REGRESSION_TEST(regress-dpix_pix "pixcmp;icv" TEST_SCRIPT "${TIMPORT}")
+BRLCAD_REGRESSION_TEST(regress-dpix_pix "pixcmp;icv" TEST_SCRIPT "${TIMPORT}"
EXEC icv)
DISTCLEAN(${LOG_FILE} ${TARGET_IMAGE})
# pix_dpix
@@ -69,7 +69,7 @@
set(TARGET_IMAGE "${CMAKE_CURRENT_BINARY_DIR}/m35_pix.dpix")
set(LOG_FILE "${CMAKE_CURRENT_BINARY_DIR}/pix_dpix.log")
set(TARGET_NAME pix_dpix)
-BRLCAD_REGRESSION_TEST(regress-pix_dpix "pixcmp;icv" TEST_SCRIPT "${TEXPORT}")
+BRLCAD_REGRESSION_TEST(regress-pix_dpix "pixcmp;icv" TEST_SCRIPT "${TEXPORT}"
EXEC icv)
DISTCLEAN(${LOG_FILE} ${TARGET_IMAGE})
# Unpack compressed bw file and control
@@ -84,7 +84,7 @@
set(TARGET_IMAGE "${CMAKE_CURRENT_BINARY_DIR}/m35_bw-out.pix")
set(LOG_FILE "${CMAKE_CURRENT_BINARY_DIR}/bw_pix.log")
set(TARGET_NAME bw_pix)
-BRLCAD_REGRESSION_TEST(regress-bw_pix "pixcmp;icv" TEST_SCRIPT "${TIMPORT}")
+BRLCAD_REGRESSION_TEST(regress-bw_pix "pixcmp;icv" TEST_SCRIPT "${TIMPORT}"
EXEC icv)
DISTCLEAN(${LOG_FILE} ${TARGET_IMAGE})
# pix_bw
@@ -93,7 +93,7 @@
set(TARGET_IMAGE "${CMAKE_CURRENT_BINARY_DIR}/m35_pix.bw")
set(LOG_FILE "${CMAKE_CURRENT_BINARY_DIR}/pix_bw.log")
set(TARGET_NAME pix_bw)
-BRLCAD_REGRESSION_TEST(regress-pix_bw "pixcmp;icv" TEST_SCRIPT "${TEXPORT}")
+BRLCAD_REGRESSION_TEST(regress-pix_bw "pixcmp;icv" TEST_SCRIPT "${TEXPORT}"
EXEC icv)
DISTCLEAN(${LOG_FILE} ${TARGET_IMAGE})
# bw_png
@@ -102,7 +102,7 @@
set(TARGET_IMAGE "${CMAKE_CURRENT_BINARY_DIR}/m35_bw_png.png")
set(LOG_FILE "${CMAKE_CURRENT_BINARY_DIR}/bw_png.log")
set(TARGET_NAME bw_png)
-BRLCAD_REGRESSION_TEST(regress-bw_png "pixcmp;icv" TEST_SCRIPT "${TEXPORT}")
+BRLCAD_REGRESSION_TEST(regress-bw_png "pixcmp;icv" TEST_SCRIPT "${TEXPORT}"
EXEC icv)
DISTCLEAN(${LOG_FILE} ${TARGET_IMAGE})
# png_bw
@@ -111,7 +111,7 @@
set(TARGET_IMAGE "${CMAKE_CURRENT_BINARY_DIR}/m35_png_bw.bw")
set(LOG_FILE "${CMAKE_CURRENT_BINARY_DIR}/png_bw.log")
set(TARGET_NAME png_bw)
-BRLCAD_REGRESSION_TEST(regress-png_bw "pixcmp;icv" TEST_SCRIPT "${TEXPORT}")
+BRLCAD_REGRESSION_TEST(regress-png_bw "pixcmp;icv" TEST_SCRIPT "${TEXPORT}"
EXEC icv)
DISTCLEAN(${LOG_FILE} ${TARGET_IMAGE})
CMAKEFILES(
Modified: brlcad/branches/bioh/regress/icv/regress-icv_export.cmake.in
===================================================================
--- brlcad/branches/bioh/regress/icv/regress-icv_export.cmake.in
2020-05-24 03:30:16 UTC (rev 75908)
+++ brlcad/branches/bioh/regress/icv/regress-icv_export.cmake.in
2020-05-24 13:37:29 UTC (rev 75909)
@@ -1,69 +1,100 @@
+# Values set at CMake configure time
set(CBDIR "@CMAKE_CURRENT_BINARY_DIR@")
-set(SRCIMG "@INPUT_IMAGE@")
set(CTRLIMG "@CONTROL_IMAGE@")
-set(TGTIMG "@TARGET_IMAGE@")
set(LOGFILE "@LOG_FILE@")
+set(SRCIMG "@INPUT_IMAGE@")
set(TGT "@TARGET_NAME@")
+set(TGTIMG "@TARGET_IMAGE@")
-set(SBDIR "@CMAKE_RUNTIME_OUTPUT_DIRECTORY@")
-set(DBDIR "@CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG@")
-set(RBDIR "@CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE@")
-# Use the mechanism created to allow multiconfig builds to
-# know what the current build type is.
-if(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Release")
- set(BDIR "${RBDIR}")
-elseif(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Debug")
- set(BDIR "${DBDIR}")
-else(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Release")
- set(BDIR "${SBDIR}")
-endif(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Release")
+file(WRITE "${LOGFILE}" "Starting icv_export run\n")
-get_filename_component(EXE "@CMAKE_COMMAND@" EXT)
-set(ICV "${BDIR}/icv${EXE}")
-set(PIXCMP "${BDIR}/pixcmp${EXE}")
+# The executable locations aren't know at CMake configure time, so one of them
+# is passed in via the EXEC variable at runtime. De-quote it and assign it to
+# the appropriate variable.
+string(REPLACE "\\" "" ICV_EXEC "${EXEC}")
+if (NOT EXISTS "${ICV_EXEC}")
+ file(WRITE "${LOGFILE}" "icv not found at location \"${ICV_EXEC}\" -
aborting\n")
+ message(FATAL_ERROR "Unable to find icv, aborting.\nSee ${LOGFILE} for more
details.")
+endif (NOT EXISTS "${ICV_EXEC}")
-# Start with the file using standard UNIX line endings
-file(APPEND "${LOGFILE}" "Converting ${SRCIMG} to ${TGTIMG}:\n")
+# Use the path passed in from the build target generator expression
+# to ascertain the current binary directory in use, and locate any
+# other necessary programs.
+get_filename_component(BDIR "${ICV_EXEC}" DIRECTORY)
+set(PIXCMP_EXEC "${BDIR}/pixcmp${CMAKE_EXECUTABLE_SUFFIX}")
+if (NOT EXISTS "${PIXCMP_EXEC}")
+ file(WRITE "${LOGFILE}" "pixcmp not found at location \"${PIXCMP_EXEC}\" -
aborting\n")
+ message(FATAL_ERROR "Unable to find pixcmp, aborting.\nSee ${LOGFILE} for
more details.")
+endif (NOT EXISTS "${PIXCMP_EXEC}")
+
+# Clean up in case we've run before unsuccessfully
+set(OUTPUT_FILES
+ ${TGTIMG}
+ ${CBDIR}/${TGT}-ctrl.pix
+ ${CBDIR}/${TGT}-out.pix
+ )
+foreach(of ${OUTPUT_FILES})
+ execute_process(COMMAND "@CMAKE_COMMAND@" -E remove -f "${of}")
+endforeach(of ${OUTPUT_FILES})
+
+
+# Perform the ICV conversion
+file(APPEND "${LOGFILE}" "Converting ${SRCIMG} to ${TGTIMG}\n")
execute_process(
- COMMAND "${ICV}" "${SRCIMG}" "${TGTIMG}"
- OUTPUT_VARIABLE icv_log ERROR_VARIABLE icv_log
+ COMMAND "${ICV_EXEC}" "${SRCIMG}" "${TGTIMG}"
+ RESULT_VARIABLE icv_result OUTPUT_VARIABLE icv_log ERROR_VARIABLE icv_log
)
file(APPEND "${LOGFILE}" "${icv_log}")
set(icv_log)
if(NOT EXISTS "${TGTIMG}")
- message(FATAL_ERROR "Unable to convert ${SRCIMG} to ${TGTIMG} with ${ICV},
aborting.\nSee ${LOGFILE} for more details.")
+ file(APPEND "${LOGFILE}" "Failure: ${icv_result}")
+ message(FATAL_ERROR "Unable to convert ${SRCIMG} to ${TGTIMG} with
${ICV_EXEC}, aborting.\nSee ${LOGFILE} for more details.")
endif(NOT EXISTS "${TGTIMG}")
+
# Because we are exporting, we need to convert both the control image
# and the target image to PIX format for pixcmp to do its check.
+file(APPEND "${LOGFILE}" "Converting ${CTRLIMG} to ${CBDIR}/${TGT}-ctrl.pix\n")
execute_process(
- COMMAND "${ICV}" "${CTRLIMG}" "${CMAKE_CURRENT_BINARY_DIR}/${TGT}-ctrl.pix"
- OUTPUT_VARIABLE icv_log ERROR_VARIABLE icv_log
+ COMMAND "${ICV_EXEC}" "${CTRLIMG}" "${CBDIR}/${TGT}-ctrl.pix"
+ RESULT_VARIABLE icv_result OUTPUT_VARIABLE icv_log ERROR_VARIABLE icv_log
)
file(APPEND "${LOGFILE}" "${icv_log}")
set(icv_log)
+if(NOT EXISTS "${CBDIR}/${TGT}-ctrl.pix")
+ file(APPEND "${LOGFILE}" "Failure: ${icv_result}")
+ message(FATAL_ERROR "Unable to convert ${SRCIMG} to ${CBDIR}/${TGT}-ctrl.pix
with ${ICV_EXEC}, aborting.\nSee ${LOGFILE} for more details.")
+endif(NOT EXISTS "${CBDIR}/${TGT}-ctrl.pix")
+
+file(APPEND "${LOGFILE}" "Converting ${TGTIMG} to ${CBDIR}/${TGT}-out.pix\n")
execute_process(
- COMMAND "${ICV}" "${TGTIMG}" "${CMAKE_CURRENT_BINARY_DIR}/${TGT}-out.pix"
- OUTPUT_VARIABLE icv_log ERROR_VARIABLE icv_log
+ COMMAND "${ICV_EXEC}" "${TGTIMG}" "${CBDIR}/${TGT}-out.pix"
+ RESULT_VARIABLE icv_result OUTPUT_VARIABLE icv_log ERROR_VARIABLE icv_log
)
file(APPEND "${LOGFILE}" "${icv_log}")
set(icv_log)
+if(NOT EXISTS "${CBDIR}/${TGT}-out.pix")
+ file(APPEND "${LOGFILE}" "Failure: ${icv_result}")
+ message(FATAL_ERROR "Unable to convert ${TGTIMG} to ${CBDIR}/${TGT}-out.pix
with ${ICV_EXEC}, aborting.\nSee ${LOGFILE} for more details.")
+endif(NOT EXISTS "${CBDIR}/${TGT}-out.pix")
+
# pixcmp the results with the control image to make sure icv got it right
-file(APPEND "${LOGFILE}" "\nComparing
${CMAKE_CURRENT_BINARY_DIR}/${TGT}-ctrl.pix to
${CMAKE_CURRENT_BINARY_DIR}/${TGT}-out.pix:\n")
+file(APPEND "${LOGFILE}" "\nComparing ${CBDIR}/${TGT}-ctrl.pix to
${CBDIR}/${TGT}-out.pix:\n")
execute_process(
- COMMAND "${PIXCMP}" "${CMAKE_CURRENT_BINARY_DIR}/${TGT}-ctrl.pix"
"${CMAKE_CURRENT_BINARY_DIR}/${TGT}-out.pix"
+ COMMAND "${PIXCMP_EXEC}" "${CMAKE_CURRENT_BINARY_DIR}/${TGT}-ctrl.pix"
"${CMAKE_CURRENT_BINARY_DIR}/${TGT}-out.pix"
RESULT_VARIABLE pixcmp_val OUTPUT_VARIABLE icv_log ERROR_VARIABLE icv_log
)
file(APPEND "${LOGFILE}" "${icv_log}")
+# Final success/failure check
if(${pixcmp_val} GREATER 0)
- message(FATAL_ERROR "Differences found between
${CMAKE_CURRENT_BINARY_DIR}/${TGT}-ctrl.pix and
${CMAKE_CURRENT_BINARY_DIR}/${TGT}-out.pix with ${PIXCMP}, aborting.\nSee
${LOGFILE} for more details.")
+ file(APPEND "${LOGFILE}" "Failure: ${pixcmp_val}")
+ message(FATAL_ERROR "Differences found between ${CBDIR}/${TGT}-ctrl.pix and
${CBDIR}/${TGT}-out.pix with ${PIXCMP}, aborting.\nSee ${LOGFILE} for more
details.")
else(${pixcmp_val} GREATER 0)
- execute_process(COMMAND "@CMAKE_COMMAND@" -E remove ${TGTIMG})
- execute_process(COMMAND "@CMAKE_COMMAND@" -E remove
${CMAKE_CURRENT_BINARY_DIR}/${TGT}-ctrl.pix)
- execute_process(COMMAND "@CMAKE_COMMAND@" -E remove
${CMAKE_CURRENT_BINARY_DIR}/${TGT}-out.pix)
- execute_process(COMMAND "@CMAKE_COMMAND@" -E touch "@STAMP_FILE@")
+ foreach(of ${OUTPUT_FILES})
+ execute_process(COMMAND "@CMAKE_COMMAND@" -E remove -f "${of}")
+ endforeach(of ${OUTPUT_FILES})
endif(${pixcmp_val} GREATER 0)
# Local Variables:
Modified: brlcad/branches/bioh/regress/icv/regress-icv_import.cmake.in
===================================================================
--- brlcad/branches/bioh/regress/icv/regress-icv_import.cmake.in
2020-05-24 03:30:16 UTC (rev 75908)
+++ brlcad/branches/bioh/regress/icv/regress-icv_import.cmake.in
2020-05-24 13:37:29 UTC (rev 75909)
@@ -1,51 +1,61 @@
+# Values set at CMake configure time
set(CBDIR "@CMAKE_CURRENT_BINARY_DIR@")
+set(CTRLIMG "@CONTROL_IMAGE@")
+set(LOGFILE "@LOG_FILE@")
set(SRCIMG "@INPUT_IMAGE@")
-set(CTRLIMG "@CONTROL_IMAGE@")
set(TGTIMG "@TARGET_IMAGE@")
-set(LOGFILE "@LOG_FILE@")
-set(SBDIR "@CMAKE_RUNTIME_OUTPUT_DIRECTORY@")
-set(DBDIR "@CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG@")
-set(RBDIR "@CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE@")
-# Use the mechanism created to allow multiconfig builds to
-# know what the current build type is.
-if(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Release")
- set(BDIR "${RBDIR}")
-elseif(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Debug")
- set(BDIR "${DBDIR}")
-else(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Release")
- set(BDIR "${SBDIR}")
-endif(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Release")
+file(WRITE "${LOGFILE}" "Starting icv_import run\n")
-get_filename_component(EXE "@CMAKE_COMMAND@" EXT)
-set(ICV "${BDIR}/icv${EXE}")
-set(PIXCMP "${BDIR}/pixcmp${EXE}")
+# The executable locations aren't know at CMake configure time, so one of them
+# is passed in via the EXEC variable at runtime. De-quote it and assign it to
+# the appropriate variable.
+string(REPLACE "\\" "" ICV_EXEC "${EXEC}")
+if (NOT EXISTS "${ICV_EXEC}")
+ file(WRITE "${LOGFILE}" "icv not found at location \"${ICV_EXEC}\" -
aborting\n")
+ message(FATAL_ERROR "Unable to find icv, aborting.\nSee ${LOGFILE} for more
details.")
+endif (NOT EXISTS "${ICV_EXEC}")
-# Start with the file using standard UNIX line endings
-file(APPEND "${LOGFILE}" "Converting ${SRCIMG} to ${TGTIMG}:\n")
+# Use the path passed in from the build target generator expression
+# to ascertain the current binary directory in use, and locate any
+# other necessary programs.
+get_filename_component(BDIR "${ICV_EXEC}" DIRECTORY)
+set(PIXCMP_EXEC "${BDIR}/pixcmp${CMAKE_EXECUTABLE_SUFFIX}")
+if (NOT EXISTS "${PIXCMP_EXEC}")
+ file(WRITE "${LOGFILE}" "pixcmp not found at location \"${PIXCMP_EXEC}\" -
aborting\n")
+ message(FATAL_ERROR "Unable to find pixcmp, aborting.\nSee ${LOGFILE} for
more details.")
+endif (NOT EXISTS "${PIXCMP_EXEC}")
+
+# Clean up in case we've run before unsuccessfully
+execute_process(COMMAND "@CMAKE_COMMAND@" -E remove -f "${TGTIMG}")
+
+# Perform the ICV conversion
+file(APPEND "${LOGFILE}" "Converting ${SRCIMG} to ${TGTIMG}\n")
execute_process(
- COMMAND "${ICV}" "${SRCIMG}" "${TGTIMG}"
- OUTPUT_VARIABLE icv_log ERROR_VARIABLE icv_log
+ COMMAND "${ICV_EXEC}" "${SRCIMG}" "${TGTIMG}"
+ RESULT_VARIABLE icv_result OUTPUT_VARIABLE icv_log ERROR_VARIABLE icv_log
)
file(APPEND "${LOGFILE}" "${icv_log}")
set(icv_log)
if(NOT EXISTS "${TGTIMG}")
- message(FATAL_ERROR "Unable to convert ${SRCIMG} to ${TGTIMG} with ${ICV},
aborting.\nSee ${LOGFILE} for more details.")
+ file(APPEND "${LOGFILE}" "Failure: ${icv_result}")
+ message(FATAL_ERROR "Unable to convert ${SRCIMG} to ${TGTIMG} with
${ICV_EXEC}, aborting.\nSee ${LOGFILE} for more details.")
endif(NOT EXISTS "${TGTIMG}")
# pixcmp the results with the control image to make sure icv got it right
-file(APPEND "${LOGFILE}" "\nComparing ${TGTIMG} to ${CTRLIMG}:\n")
+file(APPEND "${LOGFILE}" "\nComparing ${TGTIMG} to ${CTRLIMG}\n")
execute_process(
- COMMAND "${PIXCMP}" "${TGTIMG}" "${CTRLIMG}"
+ COMMAND "${PIXCMP_EXEC}" "${TGTIMG}" "${CTRLIMG}"
RESULT_VARIABLE pixcmp_val OUTPUT_VARIABLE icv_log ERROR_VARIABLE icv_log
)
file(APPEND "${LOGFILE}" "${icv_log}")
+# Final success/failure check
if(${pixcmp_val} GREATER 0)
- message(FATAL_ERROR "Differences found between ${TGTIMG} and ${CTRLIMG} with
${PIXCMP}, aborting.\nSee ${LOGFILE} for more details.")
+ file(APPEND "${LOGFILE}" "Failure: ${pixcmp_val}")
+ message(FATAL_ERROR "Differences found between ${TGTIMG} and ${CTRLIMG} with
${PIXCMP_EXEC}, aborting.\nSee ${LOGFILE} for more details.")
else(${pixcmp_val} GREATER 0)
- execute_process(COMMAND "@CMAKE_COMMAND@" -E remove ${TGTIMG})
- execute_process(COMMAND "@CMAKE_COMMAND@" -E touch "@STAMP_FILE@")
+ execute_process(COMMAND "@CMAKE_COMMAND@" -E remove -f ${TGTIMG})
endif(${pixcmp_val} GREATER 0)
# Local Variables:
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