diff options
Diffstat (limited to 'Source/CPack/cmCPackNSISGenerator.cxx')
-rw-r--r-- | Source/CPack/cmCPackNSISGenerator.cxx | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Source/CPack/cmCPackNSISGenerator.cxx b/Source/CPack/cmCPackNSISGenerator.cxx index f973acc..dc1b852 100644 --- a/Source/CPack/cmCPackNSISGenerator.cxx +++ b/Source/CPack/cmCPackNSISGenerator.cxx @@ -29,6 +29,13 @@ #include <cmsys/Directory.hxx> #include <cmsys/RegularExpression.hxx> +/* NSIS uses different command line syntax on Windows and others */ +#ifdef _WIN32 +# define NSIS_OPT "/" +#else +# define NSIS_OPT "-" +#endif + //---------------------------------------------------------------------- cmCPackNSISGenerator::cmCPackNSISGenerator() { @@ -144,6 +151,8 @@ int cmCPackNSISGenerator::InitializeInternal() << std::endl); std::vector<std::string> path; std::string nsisPath; + +#ifdef _WIN32 if ( !cmsys::SystemTools::ReadRegistryValue( "HKEY_LOCAL_MACHINE\\SOFTWARE\\NSIS", nsisPath) ) { @@ -156,6 +165,7 @@ int cmCPackNSISGenerator::InitializeInternal() return 0; } path.push_back(nsisPath); +#endif nsisPath = cmSystemTools::FindProgram("makensis", path, false); if ( nsisPath.empty() ) { @@ -163,7 +173,7 @@ int cmCPackNSISGenerator::InitializeInternal() << std::endl); return 0; } - std::string nsisCmd = "\"" + nsisPath + "\" /VERSION"; + std::string nsisCmd = "\"" + nsisPath + "\" " NSIS_OPT "VERSION"; cmCPackLogger(cmCPackLog::LOG_VERBOSE, "Test NSIS version: " << nsisCmd.c_str() << std::endl); std::string output; |