Commit 62e7c096309f5fb4dc98378f86dad3d80a972fae
1 parent
43148aab
Windows execute process fix.
* The path set on the DEMO_EXAMPLE_BIN macro can be absolute or relative depending on the build system (cmake, vs project, etc). Change-Id: I802530cbf5109b2b6db962c8e3801a74f7b86a4a Signed-off-by: Victor Cebollada <v.cebollada@samsung.com>
Showing
1 changed file
with
16 additions
and
7 deletions
shared/execute-process-win.cpp
| @@ -29,17 +29,26 @@ const std::string PATH_SEPARATOR( "\\" ); | @@ -29,17 +29,26 @@ const std::string PATH_SEPARATOR( "\\" ); | ||
| 29 | 29 | ||
| 30 | void ExecuteProcess( const std::string& processName, Dali::Application& application ) | 30 | void ExecuteProcess( const std::string& processName, Dali::Application& application ) |
| 31 | { | 31 | { |
| 32 | - char currentPath[MAX_PATH]; | ||
| 33 | - DWORD numberOfCharacters = GetCurrentDirectory( MAX_PATH, currentPath ); | 32 | + std::string processPathName; |
| 34 | 33 | ||
| 35 | - if( 0u == numberOfCharacters ) | 34 | + const bool isRelativePath = '.' == DEMO_EXAMPLE_BIN[0]; |
| 35 | + if (isRelativePath) | ||
| 36 | { | 36 | { |
| 37 | - DALI_ASSERT_ALWAYS( !"Failed to retrieve the current working directory" ); | ||
| 38 | - } | 37 | + char currentPath[MAX_PATH]; |
| 38 | + DWORD numberOfCharacters = GetCurrentDirectory( MAX_PATH, currentPath ); | ||
| 39 | 39 | ||
| 40 | - currentPath[numberOfCharacters] = '\0'; | 40 | + if( 0u == numberOfCharacters ) |
| 41 | + { | ||
| 42 | + DALI_ASSERT_ALWAYS( !"Failed to retrieve the current working directory" ); | ||
| 43 | + } | ||
| 41 | 44 | ||
| 42 | - const std::string processPathName = std::string( currentPath ) + PATH_SEPARATOR + DEMO_EXAMPLE_BIN + PATH_SEPARATOR + processName + ".exe"; | 45 | + currentPath[numberOfCharacters] = '\0'; |
| 46 | + processPathName = std::string(currentPath) + PATH_SEPARATOR + DEMO_EXAMPLE_BIN + PATH_SEPARATOR + processName + ".exe"; | ||
| 47 | + } | ||
| 48 | + else | ||
| 49 | + { | ||
| 50 | + processPathName = DEMO_EXAMPLE_BIN + PATH_SEPARATOR + processName + ".exe"; | ||
| 51 | + } | ||
| 43 | 52 | ||
| 44 | STARTUPINFO info = { sizeof( info ) }; | 53 | STARTUPINFO info = { sizeof( info ) }; |
| 45 | PROCESS_INFORMATION processInfo; | 54 | PROCESS_INFORMATION processInfo; |