summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2006-05-09 16:30:53 -0400
committerBill Hoffman <bill.hoffman@kitware.com>2006-05-09 16:30:53 -0400
commitfac986ae9de64c20277a7fd884bad95b465469fe (patch)
tree6876674b83950f780ced3843c27904b35a961708
parent0c14932ae6c678feb66f16fddf82e48ac1e6769d (diff)
downloadcmake-fac986ae9de64c20277a7fd884bad95b465469fe.tar.gz
ENH: merge from main tree
-rw-r--r--ChangeLog.manual4
-rw-r--r--Modules/FindQt3.cmake14
-rw-r--r--Modules/NSIS.template.in49
-rw-r--r--Source/cmSetTargetPropertiesCommand.h5
-rw-r--r--Source/kwsys/SystemTools.cxx15
-rw-r--r--Tests/Complex/CMakeLists.txt29
-rw-r--r--Tests/ComplexOneConfig/CMakeLists.txt29
-rw-r--r--Tests/ComplexRelativePaths/CMakeLists.txt29
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.