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