Commit Graph

255 Commits

Author SHA1 Message Date
Brad King
5ba76299f8 Merge topic 'nolint_typedef_testdriver'
bbbcbb1a48 TestDriver: Disable clang-tidy 'modernize-use-using'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2118
2018-06-01 09:48:51 -04:00
Sylvain Joubert
bbbcbb1a48 TestDriver: Disable clang-tidy 'modernize-use-using' 2018-05-31 13:51:40 +02:00
Sander Vrijders
3af0438b4b TestDriver: Replace strncpy with strcpy
GCC 8.1.0 now gives an error if `strncpy` is called with a bound
depending on the length of the source argument.  Replace `strncpy` with
`strcpy` as the length is known a priori.

Fixes: #18038
2018-05-30 09:45:57 -04:00
Sylvain Joubert
72d3161a7f TestDriver: fix style-'variableScope' cppcheck warning
When applied on a user project, cppcheck complains that the 'test_name'
variable could have a reduced scope.
2017-11-22 19:54:00 +01:00
Brad King
221ffabfad TestDriver: Fix -Wconversion warning
Since commit v3.8.0-rc1~51^2~1 (TestDriver: calc NumTests at compile
time, 2017-01-24) we convert an expression that uses `sizeof()` to an
`int` as a compile-time constant.  Some GCC versions warn about this
with `-Wconversion`.  Add a cast to avoid the warning.
2017-07-14 08:01:26 -04:00
Brad King
608cc887c7 TestDriver: Remove unused local variable initialization 2017-05-10 10:01:15 -04:00
Evgeny Fimochkin
5ba2c9e5e0 VS: Add support for ASM_NASM language
Fixes: #16469
2017-02-07 13:20:52 -05:00
Daniel Pfeifer
eb86b4cec1 TestDriver: fix/silence clang-tidy warnings 2017-01-24 22:24:06 +01:00
Daniel Pfeifer
178c897374 TestDriver: calc NumTests at compile time 2017-01-24 22:24:06 +01:00
Daniel Pfeifer
3bb4a79826 TestDriver: use for loop 2017-01-24 22:24:06 +01:00
Daniel Pfeifer
60b68304f2 TestDriver: abstract CM_CAST macro 2017-01-24 22:24:06 +01:00
Daniel Pfeifer
1731b90cd0 TestDriver: Revise C++ coding style using clang-format 2017-01-24 22:24:06 +01:00
Brad King
db915a3785 Utilities/Release: Drop Cygwin binary
Cygwin has packaged CMake independently of upstream for a long time.
See its [cygport](https://github.com/cygwinports/cmake).
2016-09-12 09:22:50 -04:00
Sylvain Joubert
cd344e3a62 create_test_sourcelist: Use safer strncpy instead of strcpy
Clang-tidy advises to use a safer function in place of strcpy.
This should avoid such warnings in user build using clang-tidy.
2016-08-25 10:56:50 -04:00
Sean McBride
527773662c Drop unnecessary LSRequiresCarbon reference from Info.plist files
LSRequiresCarbon is long since unnecessary.  It refers to requiring
Carbon as opposed to Classic (OS 9 emulation).
2016-03-18 09:47:03 -04:00
Brad King
b42866a34a Drop Visual Studio 6 generator
This generator has been deprecated since CMake 3.3.  Remove it.
Update documentation, modules, and tests to drop content specific
to this generator.
2016-03-09 09:42:18 -05:00
Gilles Khouzam
1be2f12cf2 VS: Add support for Windows 10 Universal (Store) Applications
Teach the VS 2015 generator to support WindowsStore 10.0 applications.
Add target properties to customize them:

* VS_WINDOWS_TARGET_PLATFORM_MIN_VERSION: Specifies the minimum version
  of the OS that the project can target.

* VS_DESKTOP_EXTENSIONS_VERSION, VS_MOBILE_EXTENSIONS_VERSIONS,
  VS_IOT_EXTENSIONS_VERSION: Add a reference to the version of the SDK
  specified to the target allowing to target the extended functionality in
  a universal project.

* VS_IOT_STARTUP_TASK: Specifies that the target should be
  built as an IOT continuous background task.
2015-10-05 09:48:11 -04:00
Brad King
da7276cf94 Replace http://www.cmake.org URLs with https://cmake.org
The latter is now the preferred URL for visiting cmake.org with a
browser.  Convert using the shell code:

 git ls-files -z | xargs -0 sed -i 's|http://www\.cmake|https://cmake|g'
2015-09-25 15:47:39 -04:00
Gilles Khouzam
b8e405387e VS: Mark Windows Phone and Store targets as App Containers
* Add AppContainerApplication to non-UTILITY targets
* Generate app manifest and related files if project does not provide them.
  Place them in a per-target directory to avoid clashes.
* Mark WinRT components with WinMDAssembly
* Import Windows Phone 8.0 targets in .vcxproj files when necessary,
  and reference platform.winmd.

Inspired-by: Paul Annetts <paul@lightunobscured.com>
2014-09-02 10:17:02 -04:00
Brad King
63fc8dcdb8 create_test_sourcelist: Suppress MSVC warnings in test driver (#15066)
Suggested-by: Ken Moreland <kmorel@sandia.gov>
2014-08-07 09:17:44 -04:00
Nils Gladitz
15a8af21e8 Add an "installed file" property scope
Teach set_property and get_property an "INSTALL" property type to be
associated with install-tree file paths.  Make the properties available
to CPack for use during packaging.  Add a "prop_inst" Sphinx domain
object type for documentation of such properties.
2014-05-28 12:28:18 -04:00
Sean McBride
50ca77f4a0 create_test_sourcelist: Initialize variable at declaration
Clang -Wconditional-uninitialized warns otherwise.
2014-03-31 09:41:05 -04:00
Sean McBride
ed675a92a1 create_test_sourcelist: Fix linkage in generated test driver code
Mark private function/global with static linkage.
2013-11-12 09:27:11 -05:00
Matt McCormick
7eddefd8f1 TestDriver.cxx.in: Untrusted array index read.
As reported by Coverity Scan, if the configured file contains a #include,

  Untrusted array index read
  The array index could be controlled by an attacker, leading to reads outside
  the bounds of the array.
  In main: Read from array at index computed using an unscrutinized value from
  an untrusted source (CWE-129)

  CID 1081283 (#1 of 1): Untrusted array index read (TAINTED_SCALAR)
  25. tainted_data: Using tainted variable "testToRun" as an index into an array
  "cmakeGeneratedFunctionMapEntries".
2013-10-16 10:11:20 +00:00
Stephen Kelly
2a6bd96c13 Fix config-specific INCLUDE_DIRECTORIES in multi-config generators
Commit 08cb4fa4 (Process generator expressions in the
INCLUDE_DIRECTORIES property, 2012-09-18) contained an incorrect
assumption that CMAKE_BUILD_TYPE was set on the makefile for each
generated configuration in multi-config generators. Fix that by making
the GetIncludeDirectories API depend on the config.
2012-10-17 16:24:14 -04:00
Kitware Robot
77543bde41 Convert CMake-language commands to lower case
Ancient CMake versions required upper-case commands.  Later command
names became case-insensitive.  Now the preferred style is lower-case.

Run the following shell code:

cmake --help-command-list |
grep -v "cmake version" |
while read c; do
    echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
done >convert.sed &&
git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
xargs -0 sed -i -f convert.sed &&
rm convert.sed
2012-08-13 14:19:16 -04:00
Kitware Robot
7bbaa4283d Remove trailing whitespace from most CMake and C/C++ code
Our Git commit hooks disallow modification or addition of lines with
trailing whitespace.  Wipe out all remnants of trailing whitespace
everywhere except third-party code.

Run the following shell code:

git ls-files -z -- \
 bootstrap doxygen.config '*.readme' \
 '*.c' '*.cmake' '*.cpp' '*.cxx' \
 '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
 '*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
egrep -z -v '^(Modules/CPack\..*\.in)' |
xargs -0 sed -i 's/ \+$//'
2012-08-13 14:18:39 -04:00
Eric NOULARD
6ad0f0405b Update CPackConfig template.
Remove variable documentation from the template in order to
avoid multiple location for doc update. Users can now retrieve
CPACK_xxx variable documentation from the command line.
2012-02-25 23:07:07 +01:00
Eric NOULARD
b7457de4ea CPack fix template too 2011-09-09 14:12:35 +02:00
Brad King
fe971d97ca Add STATIC_LIBRARY_FLAGS_<CONFIG> property (#10768)
This is a per-configuration version of STATIC_LIBRARY_FLAGS.
2010-05-28 11:09:10 -04:00
Brad King
90b8164e44 Use per-config output dir in VS 6 templates
This commit removes use of configuration-less cmTarget::GetDirectory()
by the VS 6 generator (except for compatibility with user templates).
We replace OUTPUT_DIRECTORY_<CONFIG> tokens in the templates using the
per-configuration result of cmTarget::GetDirectory(config).
2009-10-28 12:18:55 -04:00
Brad King
82c8b48c2a Add '#!/bin/sh' to cygwin-package.sh
This commit adds '#!/bin/sh' to the top of the cygwin-package.sh.in
script.  All executable interpreted scripts should have this directive.

Patch from Modestas Vainius.  See issue #9659.
2009-10-05 10:28:57 -04:00
Brad King
4867b712f9 Fix Windows GUI implib and image version in VS 6
These commits:

  Adding image version number (major.minor) property to
  windows binaries.

  Added support for import libraries created by executable
  and module targets.

added content to Templates/EXEHeader.dsptemplate that should also have
been added to Templates/EXEWinHeader.dsptemplate for the VS6 generator.
This commit corrects the error.  See issue #9586.
2009-09-25 15:46:37 -04:00
Brad King
071ce33ec9 ENH: Install all Modules and Templates
This removes the file-wise installation rules for Modules and Templates
and instead installs the whole directories.  This approach is much less
error-prone.  The old approach was left from before CMake had the
install(DIRECTORY) command.
2009-07-24 13:17:41 -04:00
Brad King
43669f0ef2 BUG: Avoid cmTarget::GetDirectory for utilities
Since utility targets have no main output files like executables or
libraries, they do not define an output directory.  This removes a call
to cmTarget::GetDirectory from cmLocalVisualStudio{6,7}Generator for
such targets.
2009-07-03 10:33:49 -04:00
David Cole
95a6feaa66 COMP: Don't emit old style cast warning when configured as C++ but still allow being configured as C. Thanks to Monsieur Francois Bertel for the patch. 2008-12-09 10:56:41 -05:00
Bill Hoffman
a50cdcb5a6 BUG: fix for rc and vs6 2008-12-03 15:35:35 -05:00
Amitha Perera
47aa926523 BUG: the return value of scanf should not be ignored 2008-11-25 09:52:21 -05:00
Bill Hoffman
4ed4f5a7d4 ENH: fix failing tests 2008-09-10 10:36:45 -04:00
Bill Hoffman
4eaac32db6 BUG: fix bug OUTPUT_LIBNAME_EXPORTS done differently now 2008-09-10 10:10:25 -04:00
Bill Hoffman
364ac7e386 BUG: fix empty /D option for vs6, fix for 7580 2008-09-09 13:04:30 -04:00
David Cole
ca2a16c0a2 ENH: Add code to support calling the VS reload macro from Visual Studio 7.1 and 9.0 in addition to 8.0 sp1... Make new macros file with VS 7.1 so that it can be read by 7.1 and later. VS 7.1 does not appear to run the macros while a build is in progress, but does not return any errors either, so for now, the reload macro is not called when using 7.1. If I can figure out how to get 7.1 to execute the macro, I will uncomment the code in cmGlobalVisualStudio71Generator::GetUserMacrosDirectory() to activate executing the macros in VS 7.1, too. 2008-02-15 11:49:58 -05:00
David Cole
fa5f8967c1 BUG: Install the vsmacros file. 2007-11-21 15:33:35 -05:00
Brad King
13e96b1403 ENH: Added StopBuild macro. 2007-11-19 13:44:10 -05:00
David Cole
867de7fc67 ENH: Add ability to call Visual Studio macros from CMake. Add a CMake Visual Studio macro to reload a solution file automatically if CMake makes changes to .sln files or .vcproj files. Add code to call the macro automatically for any running Visual Studio instances with the .sln file open at the end of the Visual Studio Generate call. Only call the macro if some .sln or .vcproj file changed during Generate. Also, add handling for REG_EXPAND_SZ type to SystemTools::ReadRegistryValue - returned string has environment variable references expanded. 2007-11-16 07:01:58 -05:00
Brad King
e5bb99e010 ENH: Removed dependency on Templates/CMakeWindowsSystemConfig.cmake which is no longer used. Also removed the file itself. 2007-11-09 15:08:56 -05:00
Bill Hoffman
bcfa890c02 ENH: add package script for cmake project 2007-10-29 21:10:49 -04:00
Alexander Neundorf
7f11536704 ENH: now target names can be used in add_custom_command() and
add_custom_target() as COMMAND, and cmake will recognize them and replace
them with the actual output path of these executables. Also the dependency
will be added automatically. Test included.
ENH: moved TraceVSDependencies() to the end of GlobalGenerator::Configure(),
so it is done now in one central place

Alex
2007-05-09 08:25:45 -04:00
Brad King
fc7c433463 ENH: Added support for import libraries created by executable and module targets. The module import libraries should never be used but some windows compilers always create them for .dll files since there is no distinction from shared libraries on that platform. The executable import libraries may be used to create modules that when loaded bind to symbols from the executables. This is an enhancement related to bug#4210 though not requested by it explicitly. 2007-03-19 10:00:36 -04:00
Brad King
80e6cade7a ENH: Implemented use of cmTarget::GetDirectory() in Visual Studio 6 generator. This is an incremental fix for bug#4210. 2007-03-09 16:25:16 -05:00