diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2006-05-09 16:30:53 -0400 |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2006-05-09 16:30:53 -0400 |
commit | fac986ae9de64c20277a7fd884bad95b465469fe (patch) | |
tree | 6876674b83950f780ced3843c27904b35a961708 | |
parent | 0c14932ae6c678feb66f16fddf82e48ac1e6769d (diff) | |
download | cmake-fac986ae9de64c20277a7fd884bad95b465469fe.tar.gz |
ENH: merge from main tree
-rw-r--r-- | ChangeLog.manual | 4 | ||||
-rw-r--r-- | Modules/FindQt3.cmake | 14 | ||||
-rw-r--r-- | Modules/NSIS.template.in | 49 | ||||
-rw-r--r-- | Source/cmSetTargetPropertiesCommand.h | 5 | ||||
-rw-r--r-- | Source/kwsys/SystemTools.cxx | 15 | ||||
-rw-r--r-- | Tests/Complex/CMakeLists.txt | 29 | ||||
-rw-r--r-- | Tests/ComplexOneConfig/CMakeLists.txt | 29 | ||||
-rw-r--r-- | Tests/ComplexRelativePaths/CMakeLists.txt | 29 |
8 files changed, 104 insertions, 70 deletions
diff --git a/ChangeLog.manual b/ChangeLog.manual index 0238301e05..f4ec2449a5 100644 --- a/ChangeLog.manual +++ b/ChangeLog.manual @@ -1,4 +1,8 @@ Changes in CMake 2.4.2 +* Find executables with no extension on windows mingw + +* Fix FindQt3 to use QTDIR over path + * Significant speedup in try-compile for nmake * CPack improvments including tar bzip2 diff --git a/Modules/FindQt3.cmake b/Modules/FindQt3.cmake index 93034f0ff8..3fb188d9e2 100644 --- a/Modules/FindQt3.cmake +++ b/Modules/FindQt3.cmake @@ -120,6 +120,14 @@ FIND_LIBRARY(QT_QASSISTANTCLIENT_LIBRARY /usr/X11R6/lib ) +# qt 3 should prefer QTDIR over the PATH +FIND_PROGRAM(QT_MOC_EXECUTABLE + NAMES moc moc-qt3 + PATHS + $ENV{QTDIR}/bin + NO_DEFAULT_PATH +) + FIND_PROGRAM(QT_MOC_EXECUTABLE NAMES moc moc-qt3 PATHS @@ -140,6 +148,12 @@ IF(QT_MOC_EXECUTABLE) ELSE(QT_MOC_EXECUTABLE) ENDIF(QT_MOC_EXECUTABLE) +# qt 3 should prefer QTDIR over the PATH +FIND_PROGRAM(QT_UIC_EXECUTABLE uic + PATHS + $ENV{QTDIR}/bin + NO_DEFAULT_PATH +) FIND_PROGRAM(QT_UIC_EXECUTABLE uic "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.1;InstallDir]/include/Qt" "[HKEY_CURRENT_USER\\Software\\Trolltech\\Qt3Versions\\3.2.0;InstallDir]/include/Qt" diff --git a/Modules/NSIS.template.in b/Modules/NSIS.template.in index b39a6df5c6..780b5721b7 100644 --- a/Modules/NSIS.template.in +++ b/Modules/NSIS.template.in @@ -384,7 +384,7 @@ Function ConditionalAddToRegisty Pop $0 Pop $1 StrCmp "$0" "" ConditionalAddToRegisty_EmptyString - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \ + WriteRegStr SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \ "$1" "$0" ;MessageBox MB_OK "Set Registry: '$1' to '$0'" DetailPrint "Set install registry entry: '$1' to '$0'" @@ -414,6 +414,7 @@ FunctionEnd !insertmacro MUI_PAGE_STARTMENU Application $STARTMENU_FOLDER !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_PAGE_FINISH !insertmacro MUI_UNPAGE_CONFIRM !insertmacro MUI_UNPAGE_INSTFILES @@ -459,14 +460,18 @@ Section "Installer Section" InstSection ;Create uninstaller WriteUninstaller "$INSTDIR\Uninstall.exe" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \ - "DisplayName" "@CPACK_NSIS_DISPLAY_NAME@" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \ - "DisplayVersion" "@CPACK_PACKAGE_VERSION@" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \ - "Publisher" "@CPACK_PACKAGE_VENDOR@" -WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \ - "UninstallString" "$INSTDIR\Uninstall.exe" + Push "DisplayName" + Push "@CPACK_NSIS_DISPLAY_NAME@" + Call ConditionalAddToRegisty + Push "DisplayVersion" + Push "@CPACK_PACKAGE_VERSION@" + Call ConditionalAddToRegisty + Push "Publisher" + Push "@CPACK_PACKAGE_VENDOR@" + Call ConditionalAddToRegisty + Push "UninstallString" + Push "$INSTDIR\Uninstall.exe" + Call ConditionalAddToRegisty ; Optional registration Push "DisplayIcon" @@ -481,9 +486,6 @@ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PAC Push "Contact" Push "@CPACK_NSIS_CONTACT@" Call ConditionalAddToRegisty - Push "FooBar" - Push "" - Call ConditionalAddToRegisty !insertmacro MUI_STARTMENU_WRITE_BEGIN Application @@ -493,12 +495,15 @@ WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PAC CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\Uninstall.lnk" "$INSTDIR\Uninstall.exe" ; Write special uninstall registry entries - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \ - "StartMenu" "$STARTMENU_FOLDER" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \ - "AddToPath" "$ADD_TO_PATH" - WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" \ - "AddToPathAllUsers" "$ADD_TO_PATH_ALL_USERS" + Push "StartMenu" + Push "$STARTMENU_FOLDER" + Call ConditionalAddToRegisty + Push "AddToPath" + Push "$ADD_TO_PATH" + Call ConditionalAddToRegisty + Push "AddToPathAllUsers" + Push "$ADD_TO_PATH_ALL_USERS" + Call ConditionalAddToRegisty @CPACK_NSIS_EXTRA_INSTALL_COMMANDS@ @@ -542,12 +547,12 @@ FunctionEnd ;Uninstaller Section Section "Uninstall" - ReadRegStr $START_MENU HKLM \ + ReadRegStr $START_MENU SHCTX \ "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" "StartMenu" ;MessageBox MB_OK "Start menu is in: $START_MENU" - ReadRegStr $ADD_TO_PATH HKLM \ + ReadRegStr $ADD_TO_PATH SHCTX \ "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" "AddToPath" - ReadRegStr $ADD_TO_PATH_ALL_USERS HKLM \ + ReadRegStr $ADD_TO_PATH_ALL_USERS SHCTX \ "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" "AddToPathAllUsers" ;MessageBox MB_OK "Add to path: $ADD_TO_PATH all users: $ADD_TO_PATH_ALL_USERS" @@ -560,7 +565,7 @@ Section "Uninstall" ;Remove the uninstaller itself. Delete "$INSTDIR\Uninstall.exe" - DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" + DeleteRegKey SHCTX "Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_PACKAGE_INSTALL_DIRECTORY@" ;Remove the installation directory if it is empty. RMDir "$INSTDIR" diff --git a/Source/cmSetTargetPropertiesCommand.h b/Source/cmSetTargetPropertiesCommand.h index 2cdc7de087..91d320eef4 100644 --- a/Source/cmSetTargetPropertiesCommand.h +++ b/Source/cmSetTargetPropertiesCommand.h @@ -94,6 +94,11 @@ public: "to build sources within the target. It may also be used to pass " "additional preprocessor definitions." "\n" + "The LINKER_LANGUAGE property is used to change the tool " + "used to link an executable or shared library. The default is " + "set the language to match the files in the library. CXX and C " + "are common values for this property." + "\n" "For shared libraries VERSION and SOVERSION can be used to specify " "the build version and api version respectively. When building or " "installing appropriate symlinks are created if the platform " diff --git a/Source/kwsys/SystemTools.cxx b/Source/kwsys/SystemTools.cxx index 1a878d5240..4c9bbb4b51 100644 --- a/Source/kwsys/SystemTools.cxx +++ b/Source/kwsys/SystemTools.cxx @@ -2018,7 +2018,7 @@ kwsys_stl::string SystemTools::FindProgram( } kwsys_stl::string name = nameIn; kwsys_stl::vector<kwsys_stl::string> extensions; -#if defined (_WIN32) || defined(__CYGWIN__) | defined(__MINGW32__) +#if defined (_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__) bool hasExtension = false; // check to see if the name already has a .xxx at // the end of it @@ -2034,8 +2034,8 @@ kwsys_stl::string SystemTools::FindProgram( } #endif kwsys_stl::string tryPath; - // first try the name as it was given (adding extensions - // if needed.) + + // first try with extensions if the os supports them if(extensions.size()) { for(kwsys_stl::vector<kwsys_stl::string>::iterator i = @@ -2050,15 +2050,13 @@ kwsys_stl::string SystemTools::FindProgram( } } } - else - { + // now try just the name tryPath = name; if(SystemTools::FileExists(tryPath.c_str()) && !SystemTools::FileIsDirectory(tryPath.c_str())) { return SystemTools::CollapseFullPath(tryPath.c_str()); } - } // now construct the path kwsys_stl::vector<kwsys_stl::string> path; // Add the system search path to our path. @@ -2080,6 +2078,7 @@ kwsys_stl::string SystemTools::FindProgram( // Remove double quotes from the path on windows SystemTools::ReplaceString(*p, "\"", ""); #endif + // first try with extensions if(extensions.size()) { for(kwsys_stl::vector<kwsys_stl::string>::iterator ext @@ -2096,8 +2095,7 @@ kwsys_stl::string SystemTools::FindProgram( } } } - else - { + // now try it without them tryPath = *p; tryPath += "/"; tryPath += name; @@ -2105,7 +2103,6 @@ kwsys_stl::string SystemTools::FindProgram( !SystemTools::FileIsDirectory(tryPath.c_str())) { return SystemTools::CollapseFullPath(tryPath.c_str()); - } } } // Couldn't find the program. diff --git a/Tests/Complex/CMakeLists.txt b/Tests/Complex/CMakeLists.txt index a8437c2dee..92fa7efa12 100644 --- a/Tests/Complex/CMakeLists.txt +++ b/Tests/Complex/CMakeLists.txt @@ -149,19 +149,22 @@ IF("${TEST_OUT}" MATCHES "^ABCDEFG\n$") ELSE("${TEST_OUT}" MATCHES "^ABCDEFG\n$") MESSAGE(SEND_ERROR "EXECUTE_PROCESS output test failed: [${TEST_OUT}]") ENDIF("${TEST_OUT}" MATCHES "^ABCDEFG\n$") -EXECUTE_PROCESS( - COMMAND ${CMAKE_COMMAND} -E echo "ABCDEFG" - COMMAND /process/does/not/exist - OUTPUT_QUIET - ERROR_QUIET - RESULT_VARIABLE RESULT - ) -IF("${RESULT}" MATCHES "^0$") - MESSAGE(SEND_ERROR - "EXECUTE_PROCESS result test failed with RESULT=[${RESULT}]") -ELSE("${RESULT}" MATCHES "^0$") - MESSAGE(STATUS "EXECUTE_PROCESS result test passed with RESULT=[${RESULT}]") -ENDIF("${RESULT}" MATCHES "^0$") + +# This test has some problems on UNIX systems. Disabling for now. +# +# EXECUTE_PROCESS( +# COMMAND ${CMAKE_COMMAND} -E echo "ABCDEFG" +# COMMAND /process/does/not/exist +# OUTPUT_QUIET +# ERROR_QUIET +# RESULT_VARIABLE RESULT +# ) +# IF("${RESULT}" MATCHES "^0$") +# MESSAGE(SEND_ERROR +# "EXECUTE_PROCESS result test failed with RESULT=[${RESULT}]") +# ELSE("${RESULT}" MATCHES "^0$") +# MESSAGE(STATUS "EXECUTE_PROCESS result test passed with RESULT=[${RESULT}]") +# ENDIF("${RESULT}" MATCHES "^0$") # # Create directory. diff --git a/Tests/ComplexOneConfig/CMakeLists.txt b/Tests/ComplexOneConfig/CMakeLists.txt index a8437c2dee..92fa7efa12 100644 --- a/Tests/ComplexOneConfig/CMakeLists.txt +++ b/Tests/ComplexOneConfig/CMakeLists.txt @@ -149,19 +149,22 @@ IF("${TEST_OUT}" MATCHES "^ABCDEFG\n$") ELSE("${TEST_OUT}" MATCHES "^ABCDEFG\n$") MESSAGE(SEND_ERROR "EXECUTE_PROCESS output test failed: [${TEST_OUT}]") ENDIF("${TEST_OUT}" MATCHES "^ABCDEFG\n$") -EXECUTE_PROCESS( - COMMAND ${CMAKE_COMMAND} -E echo "ABCDEFG" - COMMAND /process/does/not/exist - OUTPUT_QUIET - ERROR_QUIET - RESULT_VARIABLE RESULT - ) -IF("${RESULT}" MATCHES "^0$") - MESSAGE(SEND_ERROR - "EXECUTE_PROCESS result test failed with RESULT=[${RESULT}]") -ELSE("${RESULT}" MATCHES "^0$") - MESSAGE(STATUS "EXECUTE_PROCESS result test passed with RESULT=[${RESULT}]") -ENDIF("${RESULT}" MATCHES "^0$") + +# This test has some problems on UNIX systems. Disabling for now. +# +# EXECUTE_PROCESS( +# COMMAND ${CMAKE_COMMAND} -E echo "ABCDEFG" +# COMMAND /process/does/not/exist +# OUTPUT_QUIET +# ERROR_QUIET +# RESULT_VARIABLE RESULT +# ) +# IF("${RESULT}" MATCHES "^0$") +# MESSAGE(SEND_ERROR +# "EXECUTE_PROCESS result test failed with RESULT=[${RESULT}]") +# ELSE("${RESULT}" MATCHES "^0$") +# MESSAGE(STATUS "EXECUTE_PROCESS result test passed with RESULT=[${RESULT}]") +# ENDIF("${RESULT}" MATCHES "^0$") # # Create directory. diff --git a/Tests/ComplexRelativePaths/CMakeLists.txt b/Tests/ComplexRelativePaths/CMakeLists.txt index a8437c2dee..92fa7efa12 100644 --- a/Tests/ComplexRelativePaths/CMakeLists.txt +++ b/Tests/ComplexRelativePaths/CMakeLists.txt @@ -149,19 +149,22 @@ IF("${TEST_OUT}" MATCHES "^ABCDEFG\n$") ELSE("${TEST_OUT}" MATCHES "^ABCDEFG\n$") MESSAGE(SEND_ERROR "EXECUTE_PROCESS output test failed: [${TEST_OUT}]") ENDIF("${TEST_OUT}" MATCHES "^ABCDEFG\n$") -EXECUTE_PROCESS( - COMMAND ${CMAKE_COMMAND} -E echo "ABCDEFG" - COMMAND /process/does/not/exist - OUTPUT_QUIET - ERROR_QUIET - RESULT_VARIABLE RESULT - ) -IF("${RESULT}" MATCHES "^0$") - MESSAGE(SEND_ERROR - "EXECUTE_PROCESS result test failed with RESULT=[${RESULT}]") -ELSE("${RESULT}" MATCHES "^0$") - MESSAGE(STATUS "EXECUTE_PROCESS result test passed with RESULT=[${RESULT}]") -ENDIF("${RESULT}" MATCHES "^0$") + +# This test has some problems on UNIX systems. Disabling for now. +# +# EXECUTE_PROCESS( +# COMMAND ${CMAKE_COMMAND} -E echo "ABCDEFG" +# COMMAND /process/does/not/exist +# OUTPUT_QUIET +# ERROR_QUIET +# RESULT_VARIABLE RESULT +# ) +# IF("${RESULT}" MATCHES "^0$") +# MESSAGE(SEND_ERROR +# "EXECUTE_PROCESS result test failed with RESULT=[${RESULT}]") +# ELSE("${RESULT}" MATCHES "^0$") +# MESSAGE(STATUS "EXECUTE_PROCESS result test passed with RESULT=[${RESULT}]") +# ENDIF("${RESULT}" MATCHES "^0$") # # Create directory. |