69 lines
2.2 KiB
CMake
69 lines
2.2 KiB
CMake
#
|
|
# This code validates that the install trees of the shared and static builds
|
|
# of "mfc1" have the expected contents:
|
|
#
|
|
set(binary_dir "@binary_dir@")
|
|
message("binary_dir='${binary_dir}'")
|
|
|
|
# There should be exactly one file in the static install tree "bin" directory
|
|
# and it should be named "mfc1.exe"
|
|
#
|
|
message(STATUS "===== mfcStatic install tree =====")
|
|
file(GLOB_RECURSE files "${binary_dir}/mfcStatic-prefix/bin/*.*")
|
|
message(STATUS "mfcStatic files='${files}'")
|
|
list(LENGTH files len)
|
|
if(NOT len EQUAL 1)
|
|
message(FATAL_ERROR
|
|
"len='${len}' is not '1' (count of static 'bin' files)")
|
|
endif()
|
|
get_filename_component(name "${files}" NAME)
|
|
string(TOLOWER "${name}" name)
|
|
if(NOT "${name}" STREQUAL "mfc1.exe")
|
|
message(FATAL_ERROR "unexpected mfcStatic file name '${name}'")
|
|
endif()
|
|
|
|
# There should be at least 3 files in the shared install tree "bin"
|
|
# directory: mfc1.exe, the main MFC dll and the C runtime dll. With more
|
|
# recent versions of VS, there will also be an MFC language dll and a
|
|
# manifest file.
|
|
#
|
|
message(STATUS "===== mfcShared install tree =====")
|
|
file(GLOB_RECURSE files "${binary_dir}/mfcShared-prefix/bin/*.*")
|
|
message(STATUS "mfcShared files='${files}'")
|
|
list(LENGTH files len)
|
|
|
|
set(msvc6 "@MSVC60@")
|
|
if("${msvc6}" STREQUAL "1")
|
|
set(expected_minimum_file_count 1)
|
|
else()
|
|
set(expected_minimum_file_count 3)
|
|
endif()
|
|
|
|
if(len LESS ${expected_minimum_file_count})
|
|
message(FATAL_ERROR
|
|
"len='${len}' is less than '${expected_minimum_file_count}' (count of shared 'bin' files)")
|
|
endif()
|
|
foreach(f ${files})
|
|
message(STATUS "file '${f}'")
|
|
get_filename_component(ext "${f}" EXT)
|
|
string(TOLOWER "${ext}" ext)
|
|
|
|
if("${ext}" MATCHES "\\.exe$")
|
|
message(STATUS " exe file")
|
|
get_filename_component(name "${f}" NAME)
|
|
string(TOLOWER "${name}" name)
|
|
if(NOT "${name}" STREQUAL "mfc1.exe")
|
|
message(FATAL_ERROR "unexpected mfcShared .exe file name '${name}'")
|
|
endif()
|
|
elseif("${ext}" MATCHES "\\.dll$")
|
|
message(STATUS " dll file")
|
|
elseif("${ext}" MATCHES "\\.manifest$")
|
|
message(STATUS " manifest file")
|
|
else()
|
|
message(STATUS " unknown file")
|
|
message(FATAL_ERROR "unexpected mfcShared ${ext} file name '${f}'")
|
|
endif()
|
|
endforeach()
|
|
|
|
message(STATUS "All mfc1 build validation tests pass.")
|