function (file_line_count filename variable)
# Assume `find_progam (WC wc)` has already set this.
if (NOT WC)
message (FATAL_ERROR "Need the 'wc' program to find line coount.")
endif ()
if (NOT SED)
message (FATAL_ERROR "Need the 'sed' program to find line coount.")
endif ()
if (NOT (EXISTS "${filename}"))
message (FATAL_ERROR "File ${filename} does not exist.")
endif ()
execute_process (
COMMAND ${WC} -l ${filename}
COMMAND ${SED} "s/^[ ]*//" # wc output on Mac has leading whitespace.
COMMAND ${SED} "s/ .*//"
OUTPUT_VARIABLE line_count
)
# Tedious!
string (STRIP ${line_count} line_count)
set (${variable} ${line_count} PARENT_SCOPE)
endfunction ()
function (assert_line_count_non_zero filename)
file_line_count (${filename} line_count)
if (${line_count} LESS 1)
message (FATAL_ERROR "Line count of ${filename} is ${line_count}, which is less than expected.")
endif ()
endfunction ()