summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Help: Add documentation format to cmake-developer.7 manualBrad King2013-10-221-0/+205
| | | | | | Document how CMake uses reStructuredText to provide the help manuals. Cover supported inline markup and directives, the CMake Domain in Sphinx, and cross-reference syntax.
* Help: Organize cmake-developer.7 manual Modules sectionBrad King2013-10-222-51/+77
| | | | | | Add "Module Documentation" and "Find Modules" subsections. Add to Modules/readme.txt a textual reference to the cmake-developer.7 manual and, while at it, fix the wiki URL domain.
* Help: Fix module documentation markup in cmake-developer.7 manualKitware Robot2013-10-221-102/+161
| | | | | | | Convert the content moved from Modules/readme.txt to valid reStructuredText markup. Mainly, convert the lists of variables to definition lists, wrap long lines in paragraph text, and add literal block markup and indentation.
* Help: Move Modules/readme.txt content into cmake-developer.7 manualKitware Robot2013-10-222-188/+188
| | | | | | | Move all content from Modules/readme.txt except for the link to the module maintainers wiki page into "Help/manual/cmake-developer.7.rst". This produces some invalid reStructuredText markup to be fixed in a future commit.
* Help: Add cmake-developer.7 manualBrad King2013-10-223-0/+20
| | | | | Add the manual with just an introduction section. Leave section headers for Help and Modules to be filled in later.
* cmRST: Process literal blocks after paragraphs ending in '::'Brad King2013-10-214-0/+59
| | | | | | | Teach cmRST to recognize non-markup lines ending in '::' followed by a blank line as starting a literal block. Record the whole block as if it were a literal block directive and print it just like a code block. Extend the CMakeLib.testRST test to cover such cases.
* cmRST: Do not process inline markup in code-block literalsBrad King2013-10-214-31/+48
| | | | | | | | Move the ProcessDirectiveParsedLiteral and ProcessDirectiveCodeBlock method internals into an OutputMarkupLines helper. Pass through it a new "inlineMarkup" parameter and teach OutputLine to understand it. When false, do not process inline markup. Extend the CMakeLib.testRST test to cover the two cases.
* Merge topic 'INTERFACE_LIBRARY-build-targets'Brad King2013-10-2111-75/+172
|\ | | | | | | | | | | b04f3b9 Create make rules for INTERFACE_LIBRARY targets. dba4962 Makefile: Always create clean target command
| * Create make rules for INTERFACE_LIBRARY targets.Stephen Kelly2013-10-2111-38/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The result is that the depends of the target are created. So, add_library(somelib foo.cpp) add_library(anotherlib EXCLUDE_FROM_ALL foo.cpp) add_library(extra EXCLUDE_FROM_ALL foo.cpp) target_link_libraries(anotherlib extra) add_library(iface INTERFACE) target_link_libraries(iface INTERFACE anotherlib) Executing 'make iface' will result in the anotherlib and extra targets being made. Adding a regular executable to the INTERFACE of an INTERFACE_LIBRARY will not result in the executable being built with 'make iface' because of the logic in cmComputeTargetDepends::AddTargetDepend. So far, this is implemented only for the Makefile generator. Other generators will follow if this feature is possible for them. Make INTERFACE_LIBRARY targets part of the all target by default. Test this by building the all target and making the expected library EXCLUDE_FROM_ALL.
| * Makefile: Always create clean target commandBrad King2013-10-161-37/+37
| | | | | | | | | | Borland Make complains if the phony clean target has no rule to build it. If there are no files to clean, generate and run an empty clean script.
* | Merge topic 'minor-cleanups'Brad King2013-10-215-6/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 187385a cmCoreTryCompile: Fix typo in comments. af2a3ab cmTarget: Remove unused variable. 620b0e9 target_link_libraries(): Fix code snippet in documentation. 2d4ce80 cmPolicies: Fix typo d6dd264 include(): Use lower case and () to refer to the include() command.
| * | cmCoreTryCompile: Fix typo in comments.Stephen Kelly2013-10-201-2/+2
| | | | | | | | | | | | Add 'S' to match actual variable names.
| * | cmTarget: Remove unused variable.Stephen Kelly2013-10-181-1/+0
| | |
| * | target_link_libraries(): Fix code snippet in documentation.Stephen Kelly2013-10-181-1/+2
| | | | | | | | | | | | The porting script seems to have made a mistake here.
| * | cmPolicies: Fix typoStephen Kelly2013-10-181-1/+1
| | | | | | | | | | | | Use American spelling: behaviour -> behavior.
| * | include(): Use lower case and () to refer to the include() command.Stephen Kelly2013-10-181-1/+1
| | |
* | | Merge topic 'remove-old-process-execution'Brad King2013-10-2115-1528/+201
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 765d783 cmSystemTools: Drop old RunCommand method 52b80b2 exec_program: Re-implement using KWSys Process c076476 cmake: Drop "cmake -E comspec" Win9x helper f551135 cmExtraEclipseCDT4Generator: Replace RunCommand with RunSingleCommand
| * | | cmSystemTools: Drop old RunCommand methodBrad King2013-10-1910-1510/+1
| | | | | | | | | | | | | | | | | | | | All calls to this method have been replaced by newer infrastructure. Remove it and the supporting cmWin32ProcessExecution class.
| * | | exec_program: Re-implement using KWSys ProcessBrad King2013-10-192-4/+196
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Drop use of cmSystemTools::RunCommand. It used popen on UNIX (equivalent to /bin/sh -c "$command") and direct CreateProcess calls on Windows. Implement equivalent behavior using the KWSys Process library. Copy windows shortpath conversion logic from cmSystemTools::RunCommand.
| * | | cmake: Drop "cmake -E comspec" Win9x helperBrad King2013-10-192-13/+3
| | | | | | | | | | | | | | | | Since we dropped Win9x support there is no need for this helper.
| * | | cmExtraEclipseCDT4Generator: Replace RunCommand with RunSingleCommandBrad King2013-10-181-1/+1
| |/ / | | | | | | | | | | | | Avoid use of the old cmSystemTools::RunCommand by using RunSingleCommand instead.
* | | Merge topic 'policies-generic-docs'Brad King2013-10-211-0/+20
|\ \ \ | | | | | | | | | | | | | | | | 6d50d01 Help: Add introduction section to cmake-policies manual
| * | | Help: Add introduction section to cmake-policies manualStephen Kelly2013-10-181-0/+20
| |/ / | | | | | | | | | Explain the concept behind policies.
* | | Merge topic 'vs12-parallel-cl-FS'Brad King2013-10-213-1/+7
|\ \ \ | | | | | | | | | | | | | | | | 216afc8 MSVC: Add /FS flag for cl >= 18 to allow parallel compilation (#14492)
| * | | MSVC: Add /FS flag for cl >= 18 to allow parallel compilation (#14492)Brad King2013-10-183-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In generators such as Ninja that can run multiple "cl" processes that refer to the same compiler .pdb file (/Fd) at the same time, MSVC from Visual Studio 2013 complains: fatal error C1041: cannot open program database '.../vc120.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS According to "cl /?": /FS force to use MSPDBSRV.EXE Add the flag to compilation lines for this compiler version just after the /Fd option.
* | | | Merge topic 'cmake-syntax-updates'Brad King2013-10-2193-200/+884
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | daa0f6f Add Lua-style long brackets and long comments to CMake language a8c6523 cmListFileLexer: Convert CRLF -> LF newlines explicitly dbd9333 cmListFileLexer: Allow a leading UTF-8 Byte-Order-Mark (#11137) 5645783 cmListFileLexer: Allow command names with one letter (#14181)
| * | | | Add Lua-style long brackets and long comments to CMake languageBrad King2013-10-1775-185/+629
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the CMake language parser to recognize Lua-style "long bracket" arguments. These start with two '[' separated by zero or more '=' characters e.g. "[[" or "[=[" or "[==[". They end with two ']' separated by the same number of '=' as the opening bracket. There is no nesting of brackets of the same level (number of '='). No escapes, variable expansion, or other processing is performed on the content between such brackets so they always represent exactly one argument. Also teach CMake to parse and ignore "long comment" syntax. A long comment starts with "#" immediately followed by an opening long bracket. It ends at the matching close long bracket. Teach the RunCMake.Syntax test to cover long bracket and long comment cases.
| * | | | cmListFileLexer: Convert CRLF -> LF newlines explicitlyBrad King2013-10-176-27/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Read input files in binary mode instead of text mode and convert CRLF newlines to LF newlines explicitly in our own buffer. This is necessary to read CMake source files with CRLF newlines on platforms whose C runtime libraries do not transform newlines in text mode. For example, a Cygwin or Linux binary may not transform CRLF -> LF in files read from a Windows filesystem. Perform the conversion ourselves to ensure that multi-line string literals in CMake source files have LF newlines everywhere.
| * | | | cmListFileLexer: Allow a leading UTF-8 Byte-Order-Mark (#11137)Brad King2013-10-1719-10/+168
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the lexer to read a UTF-8, UTF-16 BE/LE, or UTF-32 BE/LE Byte-Order-Mark from the start of a file if any is present. Report an error on files using UTF-16 or UTF-32 and accept a UTF-8 or missing BOM.
| * | | | cmListFileLexer: Allow command names with one letter (#14181)Brad King2013-10-175-2/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach the lexer to treat a single letter as an identifier instead of an unquoted argument. Outside of a command invocation, the parser treats an identifier as a command name and an unquoted argument as an error. Inside of a command invocation, the parser treats an identifier as an unquoted argument. Therefore this change to the lexer will make what was previously an error case work with no other behavioral change.
* | | | | CMake Nightly Date StampKitware Robot2013-10-211-1/+1
| | | | |
* | | | | Merge topic 'target-LOCATION-policy'Brad King2013-10-201-1/+1
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | abfebef Cygwin: Avoid legacy warnings in RunCMake.CMP0026 test
| * | | | | Cygwin: Avoid legacy warnings in RunCMake.CMP0026 testBrad King2013-10-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Set the minimum required version of CMake high enough to avoid the warning for CMAKE_LEGACY_CYGWIN_WIN32. The warning appears on stderr and breaks the expected output matching.
* | | | | | Merge topic 'vs-intel-compiler'Brad King2013-10-201-1/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1b7117a VS 6: Do not try Intel Fortran .vfproj file with msdev
| * | | | | | VS 6: Do not try Intel Fortran .vfproj file with msdevBrad King2013-10-191-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach CMakeDetermineCompilerId to skip trying to build a .vfproj file for Intel Fortran under Visual Studio 6. The msdev command-line build produces a popup error dialog that hangs the configuration.
* | | | | | | CMake Nightly Date StampKitware Robot2013-10-201-1/+1
| | | | | | |
* | | | | | | CMake Nightly Date StampKitware Robot2013-10-191-1/+1
| |_|_|_|/ / |/| | | | |
* | | | | | Merge topic 'INTERFACE-error-with-linked-genex'Brad King2013-10-1818-7/+161
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 70ae6df Handle genexes when evaluating INTERFACE_INCLUDE_DIRECTORIES errors.
| * | | | | | Handle genexes when evaluating INTERFACE_INCLUDE_DIRECTORIES errors.Stephen Kelly2013-10-1818-7/+161
|/ / / / / /
* | | | | | Merge topic 'help-replace-version'Brad King2013-10-181-0/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 89448a5 cmRST: Substitute CMake version for |release| as Sphinx does
| * | | | | | cmRST: Substitute CMake version for |release| as Sphinx doesBrad King2013-10-171-0/+2
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | Sphinx provides a builtin substitution for the |release| version. Teach cmRST to replace this with the CMake version number too.
* | | | | | Merge topic 'fix-policy-versions'Brad King2013-10-184-8/+8
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1873205 Update CMP0024/CMP0025/CMP0026 release version
| * | | | | | Update CMP0024/CMP0025/CMP0026 release versionBrad King2013-10-174-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These policies were introduced after 2.8.12 in anticipation of 2.8.13. However, we've now decided the next release will be 3.0.0, so update the version of introduction accordingly.
* | | | | | | Merge topic 'doc-drop-policy-builtin'Brad King2013-10-182-427/+1
|\ \ \ \ \ \ \ | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | 5cdaef7 Drop builtin policy "full" documentation
| * | | | | | Drop builtin policy "full" documentationBrad King2013-10-172-427/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The full policy documentation was moved to Help/policy/*.rst by commit f051814e (Convert builtin help to reStructuredText source files, 2013-10-15). We no longer need the builtin string literals. In commit 87cc62ca (Drop "full" documentation output types, 2013-09-13) we dropped code using the LongDescription field of policy definitions. We need to follow it up with a change similar to commit 399e9c46 (Drop builtin property documentation, 2013-09-16) to remove the policy documentation. Do that now. Keep the short description as it is used in policy error and warning messages.
* | | | | | Merge topic 'allow-repeated-LINK-keywords'Brad King2013-10-182-5/+7
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | dede273 target_link_libraries: Allow repeated use of LINK_{PRIVATE,PUBLIC} keywords.
| * | | | | | target_link_libraries: Allow repeated use of LINK_{PRIVATE,PUBLIC} keywords.Stephen Kelly2013-10-172-5/+7
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has not been allowed since they were introduced in commit 91438222 (target_link_libraries: Add LINK_(PUBLIC|PRIVATE) options, 2011-10-07), but allowing this form makes it more compatible with the newer PUBLIC and PRIVATE keywords.
* | | | | | Merge topic 'simplify-cmake-E-command-line'Brad King2013-10-181-25/+31
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | d4c3de2 cmake: Simplify -E command line processing
| * | | | | | cmake: Simplify -E command line processingBrad King2013-10-171-25/+31
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Check for "cmake -E ..." up front (along with "cmake --build ...") and skip normal command line processing. Drop the special handling for -E from the normal processing to simplify things. Strictly speaking, it was previously possible to invoke command mode with -E anywhere in the command line e.g. "cmake echo -E message" or "cmake echo message -E", but no one should be using it as it was not documented and looks strange.
* | | | | | Merge topic 'vs-intel-compiler'Brad King2013-10-1816-129/+161
|\ \ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d14898b Intel: Fix detection of MSVC version simulated by pre-11.0 Fortran a85e17e Intel: When simulating MSVC, re-use Windows-MSVC (#14476) af40e8c VS: Detect Intel Fortran compiler id and version b8522a8 VS: Expose Intel Fortran .vfproj format version to CMake language 2d36c9a CMakeDetermineCompilerId: Fix Intel Fortran compiler id detection a6fd17c VS: Fix CMAKE_<LANG>_COMPILER detection with Intel toolset (#14471)