summaryrefslogtreecommitdiffstats
path: root/Tests/ComplexOneConfig
Commit message (Collapse)AuthorAgeFilesLines
* Add additional <= and >= comparison operatorsChuck Atkins2016-08-092-17/+255
| | | | | This adds the LESS_EQUAL, GREATER_EQUAL, and associated STR and VERSION equivalents to use the combined <= and >= functionality.
* Use string(APPEND) in TestsDaniel Pfeifer2016-07-274-6/+6
| | | | | | | Automate with: find Tests -type f -print0 | xargs -0 perl -i -0pe \ 's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
* Source: Remove long-unused .cvsignore fileBrad King2016-07-081-1/+1
|
* Revise C++ coding style using clang-formatKitware Robot2016-05-1611-267/+225
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-291-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sort include directives within each block (separated by a blank line) in lexicographic order (except to prioritize `sys/types.h` first). First run `clang-format` with the config file: --- SortIncludes: false ... Commit the result temporarily. Then run `clang-format` again with: --- SortIncludes: true IncludeCategories: - Regex: 'sys/types.h' Priority: -1 ... Commit the result temporarily. Start a new branch and cherry-pick the second commit. Manually resolve conflicts to preserve indentation of re-ordered includes. This cleans up the include ordering without changing any other style. Use the following command to run `clang-format`: $ git ls-files -z -- \ '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' | egrep -z -v '(Lexer|Parser|ParserHelper)\.' | egrep -z -v '^Source/cm_sha2' | egrep -z -v '^Source/(kwsys|CursesDialog/form)/' | egrep -z -v '^Utilities/(KW|cm).*/' | egrep -z -v '^Tests/Module/GenerateExportHeader' | egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' | xargs -0 clang-format -i This selects source files that do not come from a third-party. Inspired-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
* Tests: fix complexOneConfig building on Clang/C2Mariusz Pluciński2016-03-101-0/+7
|
* Xcode: Disable test for system include dirsGregor Jasny2016-02-081-1/+2
|
* Tests: Remove incorrect indentation from Complex test commentBrad King2015-01-221-1/+1
|
* Encoding: Modify tests to work using non-ascii paths.Clinton Stimpson2015-01-092-16/+20
| | | | | | | | | | For complex*, CustomCommand and OutDir tests, non-ascii paths are avoided in test code by using relative paths, and setting the working when running the test. This also avoids the need to internationalize the test code. For RunCMake.GeneratorExpression, use a UTF-8 encoding in file(STRINGS) to retrieve the compiled absolute path correctly.
* Tests: Set policies in 'complex' testsBrad King2014-07-221-0/+15
| | | | | | These tests cover the OLD behavior of some policies. Set them to OLD to avoid warnings in the test output. Leave a comment that explains why this is done here but not recommended in general.
* tests: allow RelWithDebInfo and MinSizeRel configs to workBen Boeckel2014-06-051-0/+8
|
* HP aCC: record compiler flag for Ansi C++98 support for version 3.80 onwardsRolf Eike Beer2014-04-251-0/+15
| | | | | | Old versions of aCC need a special compiler flag to get full C++98 template support as e.g. CMake itself or the Complex and ComplexOneConfig tests need. The same versions need a special flag to get a proper C++ library, too.
* Replace MATCHES test on numbers with EQUAL testRolf Eike Beer2014-04-141-1/+1
| | | | | The MATCHES tests were actually wrong, as "a4b" and "42" would also cause a match when it should not.
* Remove .* expressions from beginning and end of MATCHES regexsRolf Eike Beer2014-04-141-1/+1
| | | | | | | | | All these expressions work the same: "foo" ".*foo.*" "^.*foo.*$" This assumes that the "Intel*" expressions were meant to be "Intel.*".
* Drop use of configure_file IMMEDIATE optionDaniele E. Domenichelli2013-11-131-3/+3
| | | | | | Since commit 7d47c693 (Drop compatibility with CMake < 2.4, 2013-10-08) we no longer need to use the configure_file IMMEDIATE option to support compatibility modes less than 2.0.
* Drop compatibility with CMake < 2.4Brad King2013-10-233-5/+4
| | | | | | | | | | | | Drop all behavior activated by setting CMAKE_BACKWARDS_COMPATIBILITY to a value lower than 2.4, and generate an error when projects or the user attempt to do so. In the error suggest using a CMake 2.8.x release. Teach cmake_minimum_required to warn about projects that do not require at least CMake 2.4. They are not supported by CMake >= 3.0. Replace the documentation of CMAKE_BACKWARDS_COMPATIBILITY with a reference to policy CMP0001.
* Haiku: Several fixes to platform moduleAdrien Destugues2013-10-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Do not define BEOS anymore (this includes workarounds which we don't need most of the time in Haiku, so we prefer opt-in IF(HAIKU) in the cmake files instead). * On the other hand, do define UNIX (we are trying to be compliant) and HAIKU (there is still a number of things we don't do like the average UNIX clone) * Do not use UnixPaths, as our filesystem hierarchy isn't anything like what it expects. * Do not use -nostart, which the compiler doesn't know about anymore. This used to be an Haiku extension to gcc, and is equivalent to -shared which is the default gcc option. * While "dl" functions are provided in libroot, this is always implicitly linked so there is no need to tell cmake about it. * Forcing position-independent code is not needed, so remove it. * On the other hand, include appropriate linker options for executables and shared libraries. * Support for the two available compilers in Haiku (gcc2 and gcc4) and pick the right headers and libraries according to the currently selected one. * With the adoption of the package manager, the directory layout was changed. Tell cmake where to look for header files and libraries. * As we don't define BEOS anymore, enable the workaround we still need for HAIKU as well. This is the lack of a libm (it is part of the implicitly linked in libroot) Applied-by: Rolf Eike Beer <eike@sf-mail.de>
* replace string(... MATCHES "^const$) with string(... STREQUAL "const")Rolf Eike Beer2013-06-021-8/+5
|
* get_filename_component: Add explicit unit testsBrad King2013-04-163-103/+0
| | | | | Add test RunCMake.get_filename_component to cover cases of the command. Remove redundant coverage of these cases from the "complex" tests.
* Remove CMake-language block-end command argumentsKitware Robot2012-08-135-121/+121
| | | | | | | | | | | | | | | | | Ancient versions of CMake required else(), endif(), and similar block termination commands to have arguments matching the command starting the block. This is no longer the preferred style. Run the following shell code: for c in else endif endforeach endfunction endmacro endwhile; do echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/' done >convert.sed && git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' | egrep -z -v '^(Utilities/cm|Source/kwsys/)' | egrep -z -v 'Tests/CMakeTests/While-Endwhile-' | xargs -0 sed -i -f convert.sed && rm convert.sed
* Convert CMake-language commands to lower caseKitware Robot2012-08-137-490/+490
| | | | | | | | | | | | | | | | | 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
* Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-139-101/+101
| | | | | | | | | | | | | | | | | 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/ \+$//'
* complex: Remove unused option to test CMakeLibBrad King2011-12-234-38/+0
| | | | | Now that the Complex tests do not depend on cmSystemTools or other classes from CMakeLib the COMPLEX_TEST_CMAKELIB option is useless.
* complex: Remove test dependence on cmSystemToolsBrad King2011-12-231-12/+12
| | | | Use C standard 'remove' and POSIX standard 'stat'.
* complex: Move cmSystemTools::UpperCase test to CMakeLibTestsBrad King2011-12-231-14/+0
| | | | | This test belongs in the CMakeLibTests test driver executable which correctly links to CMakeLib.
* complex: Simplify test for single-character exe nameBrad King2011-12-233-37/+13
| | | | | Run the test executable as a custom command instead of depending on cmSystemTools::RunSingleCommand.
* complex: Move GeneratedFileStream test to CMakeLibTestsBrad King2011-12-232-88/+1
| | | | | | This test belongs in the CMakeLibTests test driver executable which correctly links to CMakeLib. Fix incorrect library link order in the Complex tests exposed by this change.
* complex: Remove dynamic loader testsBrad King2011-12-234-80/+1
| | | | | Everything covered by these tests is now covered by the KWSys DynamicLoader test and the Plugin test.
* complex: Sync Tests/ComplexOneConfig with Tests/ComplexBrad King2011-12-232-1/+9
| | | | | | The two test sources must remain identical. Apply to ComplexOneConfig the change that commit f578381e (Fix vs2010 project generation error when HEADER_FILE_ONLY is set, 2010-12-20) made to Complex.
* complex: Remove ancient unused ComplexRelativePaths testBrad King2011-12-231-4/+2
|
* Switch to using libarchive from libtar for cpack and cmake -E tarBill Hoffman2009-10-301-2/+5
| | | | | | This allows for a built in bzip and zip capability, so external tools will not be needed for these packagers. The cmake -E tar xf should be able to handle all compression types now as well.
* Make Complex test of CMakeLib more optionalBrad King2009-10-071-7/+2
| | | | | | | Previously we passed inputs to the decision to each Complex test and let the test source decide. This commit moves the decision out of the tests and makes it an option() in their source. This makes it possible to build the Complex tests from outside the CMake test tree.
* ENH: only 5 failing tests for VS 10Bill Hoffman2009-07-101-2/+2
|
* ENH: Remove CMAKE_ANSI_CFLAGS from testsBrad King2009-07-082-8/+0
| | | | | As of CMake 2.6 this variable is not defined, and the ANSI flags for the HP compiler are simply hard-coded in the default C flags.
* ENH: Always imply CLEAN_DIRECT_OUTPUT target propBrad King2009-05-011-1/+1
| | | | | | | | | | | | | | This property was left from before CMake always linked using full path library names for targets it builds. In order to safely link with "-lfoo" we needed to avoid having both shared and static libraries in the build tree for targets that switch on BUILD_SHARED_LIBS. This meant cleaning both shared and static names before creating the library, which led to the creation of CLEAN_DIRECT_OUTPUT to disable the behavior. Now that we always link with a full path we do not need to clean old library names left from an alternate setting of BUILD_SHARED_LIBS. This change removes the CLEAN_DIRECT_OUTPUT property and instead uses its behavior always. It removes some complexity from cmTarget internally.
* ENH: Allow projects to disable per-rule echo linesBrad King2009-03-161-2/+2
| | | | | | | | | This creates global property RULE_MESSAGES which can be set to disbale per-rule progress and action reporting. On Windows, these reports may cause a noticable delay due to the cost of starting extra processes. This feature will allow scripted builds to avoid the cost since they do not need detailed information anyway. This replaces the RULE_PROGRESS property created earlier as it is more complete. See issue #8726.
* ENH: Allow projects to disable per-rule progressBrad King2009-03-161-0/+3
| | | | | | | | This creates global property RULE_PROGRESS which can be set to disbale per-rule progress reporting. On Windows, progress reports may cause a noticable delay due to the cost of starting an extra process. This feature will allow scripted builds to avoid the cost since they do not need detailed progress anyway. See issue #8726.
* ENH: make this test pass if new curl is onBill Hoffman2008-11-211-1/+1
|
* ENH: only link in curl directories that exist, this will help with vs6 nmakeBill Hoffman2008-11-201-3/+6
|
* ENH: make it work if new curl is onBill Hoffman2008-11-191-4/+3
|
* ENH: make it work if new curl is onBill Hoffman2008-11-181-1/+5
|
* ENH: Add if(TARGET) commandBrad King2008-08-202-0/+21
| | | | | | | | | | It is useful to be able to test if a target has been created. Often targets are created only inside conditions. Rather than storing the result of the condition manually for testing by other parts of the project, it is much easier for the other parts to just test for the target's existence. This will also be useful when find-modules start reporting results with IMPORTED targets and projects want to test if a certain target is available.
* ENH: Add cmake_policy(GET) command modeBrad King2008-08-181-0/+5
| | | | | | | It is likely that projects or CMake modules in the future will need to check the value of a policy setting. For example, if we add a policy that affects the results of FindXYZ.cmake modules, the module code will need to be able to check the policy.
* ENH: support parenthesis as arguments and in conditionals feature request #6191Ken Martin2008-06-263-0/+16
|
* ENH: Add "if(POLICY policy-id)" option for IF command.Brad King2008-03-201-0/+5
| | | | | | | | | | | - This will help projects support multiple CMake versions. - In order to set a policy when using a newer CMake but still working with an older CMake one may write if(POLICY CMP1234) cmake_policy(SET CMP1234 NEW) endif(POLICY CMP1234) - Note that since CMake 2.4 does not have if(POLICY) supporting it will also require using "if(COMMAND cmake_policy)"
* ENH: Updated DEFINE_PROPERTY command to be more extendible and more ↵Brad King2008-02-141-2/+5
| | | | consistent with new SET_PROPERTY and GET_PROPERTY signatures.
* ENH: complex must link to curl nowBill Hoffman2008-02-071-1/+2
|
* ENH: Implement linking with paths to library files instead of -L and -l ↵Brad King2008-01-221-115/+3
| | | | | | | | | | | | | | | | | separation. See bug #3832 - This is purely an implementation improvement. No interface has changed. - Create cmComputeLinkInformation class - Move and re-implement logic from: cmLocalGenerator::ComputeLinkInformation cmOrderLinkDirectories - Link libraries to targets with their full path (if it is known) - Dirs specified with link_directories command still added with -L - Make link type specific to library names without paths (name libfoo.a without path becomes -Wl,-Bstatic -lfoo) - Make directory ordering specific to a runtime path computation feature (look for conflicting SONAMEs instead of library names) - Implement proper rpath support on HP-UX and AIX.
* ENH: Make per-configuration COMPILE_DEFINITIONS_<CONFIG> directory property ↵Brad King2008-01-182-1/+9
| | | | initialized from parent.
* ENH: Adding test for using HEADER_FILE_ONLY to avoid building a .cxx file.Brad King2007-11-192-1/+6
|