# # 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.")