diff options
Diffstat (limited to '')
-rw-r--r-- | packaging/win32/macros/ifexist.nsh | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/packaging/win32/macros/ifexist.nsh b/packaging/win32/macros/ifexist.nsh new file mode 100644 index 0000000..5a0ea62 --- /dev/null +++ b/packaging/win32/macros/ifexist.nsh @@ -0,0 +1,36 @@ +; See http://nsis.sourceforge.net/Check_if_a_file_exists_at_compile_time for documentation +!macro !ifexist _FILE_NAME + !tempfile _TEMPFILE + !system `if exist "${_FILE_NAME}" echo !define _FILE_EXISTS > "${_TEMPFILE}"` + !include `${_TEMPFILE}` + !delfile `${_TEMPFILE}` + !undef _TEMPFILE + !ifdef _FILE_EXISTS + !undef _FILE_EXISTS +!macroend +!define !ifexist "!insertmacro !ifexist" +!macro !ifnexist _FILE_NAME + !tempfile _TEMPFILE + !system `if not exist "${_FILE_NAME}" echo !define _FILE_EXISTS > "${_TEMPFILE}"` + !include `${_TEMPFILE}` + !delfile `${_TEMPFILE}` + !undef _TEMPFILE + !ifdef _FILE_EXISTS + !undef _FILE_EXISTS +!macroend +!define !ifnexist "!insertmacro !ifnexist" + +!macro !defineifexist _FILE_NAME _VAR_NAME _VAR_VALUE + !tempfile _TEMPFILE + !ifdef NSIS_WIN32_MAKENSIS + ; Windows - cmd.exe + !system 'if exist "${_FILE_NAME}" echo !define ${_VAR_NAME} ${_VAR_VALUE} > "${_TEMPFILE}"' + !else + ; Posix - sh + !system 'if [ -e "${_FILE_NAME}" ]; then echo "!define ${_VAR_NAME} ${_VAR_VALUE}" > "${_TEMPFILE}"; fi' + !endif + !include '${_TEMPFILE}' + !delfile '${_TEMPFILE}' + !undef _TEMPFILE +!macroend +!define !defineifexist "!insertmacro !defineifexist" |