Commit Graph

920 Commits

Author SHA1 Message Date
Brad King 994262e5cc ENH: Improve find_package version numbering
Make the number of version components specified explicitly available.
Set variables for unspecified version components to "0" instead of
leaving them unset.  This simplifies version number handling for find-
and config-modules.  Also support a fourth "tweak" version component
since some packages use them.
2008-09-10 10:11:48 -04:00
David Cole 2fb00f28be PERF: Test takes too long when recursing for executable files and when doing recursive prerequisite analysis. Put it back the way it was. Add another test later to do the recursive prerequisite analysis. 2008-09-09 12:48:58 -04:00
Bill Hoffman 1a3502d66a BUG: fix test to work with new restrictions that cross compiling must be on 2008-09-08 20:21:35 -04:00
David Cole 6f8bdd276c ENH: Add BundleUtilities.cmake and supporting changes to GetPrerequisites.cmake. Function copy_and_fixup_bundle in BundleUtilities helps to make standalone bundle applications on the Mac by pulling in prerequisite non-system libraries and frameworks as needed. Uses otool and install_name_tool to do analysis and fixups. Project-specific hooks for deciding where to embed libraries and for resolving item names into full path file names are also provided. 2008-09-06 12:20:07 -04:00
David Cole 58be1b005f BUG: Fix issue #7046 - make sure extensionless headers and resource files work with the Xcode generator. Also fix incorrect mappings in the lastKnownFileType code. Add some extensionless files to the Framework test. 2008-09-05 15:51:19 -04:00
Brad King 3c5cf1bb8c ENH: Allow a custom list of debug configurations
Create a DEBUG_CONFIGURATIONS global property as a way for projects to
specify which configuration names are considered to be 'debug'
configurations.
2008-09-04 17:34:25 -04:00
David Cole a54e97cf94 ENH: Add indirect dependency to Carbon and call a Carbon function from executable. This will allow detecting broken dependency chaining for '-framework blah' style lib dependencies. 2008-09-02 11:07:04 -04:00
Brad King 0a10958a88 BUG: Fix Unset test on VS 6
Visual Studio 6 does not recognize .cc as a C++ extension by default.
Simplify the test to be C-only and use a .c extension.
2008-08-30 10:32:52 -04:00
David Cole ff14ae2439 ENH: Changes that allow configuring/building BundleTest test separately from the main CMake build. (Eliminate reference to CMake_SOURE_DIR.) 2008-08-27 12:53:19 -04:00
Brad King 33e865c041 ENH: Add unset() command.
This introduces the unset() command to make it easy to unset CMake
variables, environment variables, and CMake cache variables.  Previously
it was not even possible to unset ENV or CACHE variables (as in
completely remove them).  Changes based on patch from Philip Lowman.
See issue #7507.
2008-08-25 10:31:29 -04:00
Brad King 990c6b0b90 ENH: Allow custom limit on object file path length
Some native build tools, particularly those for cross compiling, may
have a limit on the length of the full path to an object file name that
is lower than the platform otherwise supports.  This change allows the
limit to be set by the project toolchain file through the variable
CMAKE_OBJECT_PATH_MAX.
2008-08-21 09:54:36 -04:00
Brad King fff812db95 ENH: Add if(TARGET) command
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.
2008-08-20 11:45:16 -04:00
Brad King 181c1eeede ENH: Add test_clean target to wipe out tests
We frequently need to wipe out all the CMake test build directories in
order to run tests from scratch.  This change adds a test_clean custom
target to remove all these directories for out-of-source builds.
2008-08-19 11:43:57 -04:00
Brad King 061d20be38 ENH: Add UNKNOWN type for IMPORTED libraries
When creating an IMPORTED target for a library that has been found on
disk, it may not be known whether the library is STATIC or SHARED.
However, the library may still be linked using the file found from disk.
Use of an IMPORTED target is still important to allow per-configuration
files to be specified for the library.

This change creates an UNKNOWN type for IMPORTED library targets.  The
IMPORTED_LOCATION property (and its per-config equivalents) specifies
the location of the library.  CMake makes no assumptions about the
library that cannot be inferred from the file on disk.  This will help
projects and find-modules import targets found on disk or specified by
the user.
2008-08-18 11:39:22 -04:00
Brad King 94c1fe83fd ENH: Make link interface mode more distinct
Rename the recently added INTERFACE mode of the target_link_libraries()
command to LINK_INTERFACE_LIBRARIES.  This makes it much more distinct
from a normal call to the command, and clearly states its connection to
the property of the same name.  Also require the option to appear
immediately after the target name to make it a mode rather than an
option.
2008-08-18 10:11:29 -04:00
Brad King 7f7068e9d4 ENH: Add cmake_policy(GET) command mode
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.
2008-08-18 09:53:06 -04:00
Alexander Neundorf 814b368725 STYLE: extend documentation for RETURN() a bit
ENH: add a test for calling RETURN() in an included file

Alex
2008-08-16 18:06:17 -04:00
Brad King 1712cd0a98 BUG: Fix ExportImport test on VS6
Visual Studio 6 does not support per-target object files, so just use two
separate source file names in this case.
2008-08-12 17:27:48 -04:00
Brad King 7b873cd951 ENH: Test target_link_libraries INTERFACE option 2008-08-11 16:23:10 -04:00
Brad King c76f3ae5b5 ENH: Test fake circular dependency case
A recent change fixed a case in which CMake incorrectly diagnosed a
circular dependency involving a non-linkable executable target.  This
adds a test for that case.
2008-08-07 10:13:15 -04:00
Alexander Neundorf e0f59d9af5 BUG: fix endif()
Alex
2008-08-06 17:43:34 -04:00
Alexander Neundorf e6290446d8 ENH: add simple tests to test that the extra generators don't crash
Alex
2008-08-06 16:16:53 -04:00
Brad King 32df2a715b ENH: Test relative path custom command output
As of CMake 2.6 a custom command output specified by relative path is
placed in the build tree.  This adds a test to make sure other
references to the output are hooked up correctly, fixing a bug in CMake
2.6.1.
2008-08-05 13:27:14 -04:00
Bill Hoffman 26aa93d2cd ENH: fix build with Xcode project was missing 2008-07-31 10:54:55 -04:00
David Cole 6ec7ec2079 ENH: Add test for the new CPack BundleGenerator. Thanks to Tim Shead for the patch. See issue #7170 for more details. 2008-07-30 16:36:22 -04:00
Bill Hoffman 299a0c826b ENH: remove test that does not work on all compilers 2008-07-16 09:29:56 -04:00
Bill Hoffman ab3ed2b2bf ENH: add a test for bug 7316 2008-07-15 10:04:01 -04:00
David Cole a02bf86255 ENH: Use new cpack_add_component macro (and friends) from the CPackComponents test. Thanks again to Doug Gregor! 2008-07-08 17:47:53 -04:00
Bill Hoffman 2081dcbfce ENH: add get_test_property to bootstrap so bootstrap builds test the same as non-bootstrap builds 2008-07-07 15:07:54 -04:00
Brad King e245d4ea11 BUG: Replace non-bootstrap command with macro
- The GET_TEST_PROPERTY command does not exist during bootstrap.
  - Instead of lots of conditionals, replace it with a macro.
2008-07-03 15:46:37 -04:00
Brad King f58a1370cd ENH: Remove condition on use of CMake 2.4 commands
- Commands SET_TESTS_PROPERTIES and GET_TEST_PROPERTY exist
    in CMake 2.4, which is now required.
  - Therefore we need not check before using them.
2008-07-03 14:38:57 -04:00
Brad King 56f1e0b9c2 COMP: Don't set properties on a non-existing test
- Test SubProject-Stage2 is conditionally created.
  - Set properties on it only if it exists.
2008-07-03 14:34:28 -04:00
Bill Hoffman bb7b27e417 ENH: add initial ctest -j feature 2008-07-03 09:31:33 -04:00
Ken Martin 19e891532a ENH: support parenthesis as arguments and in conditionals feature request #6191 2008-06-26 13:01:35 -04:00
David Cole fd413f2ab8 BUG: Avoid running the new CPackComponents test on Windows unless the NSIS installer is available. 2008-06-19 11:08:08 -04:00
David Cole edaa6d3a97 BUG: Be more specific about the expected file name of the installer. (So we don't get mylibapp.exe in our GLOB results in make based build trees where the built exes end up in the same directory as the CPack installers...) 2008-06-18 09:28:51 -04:00
David Cole 1105a86c52 ENH: Add patch for feature request #6847 - CPack components for NSIS and PackageMaker installers. Thanks to Doug Gregor for all the hard work involved with implementing this patch! Also added new test CPackComponents that is conditionally executed only when NSIS or PackageMaker installer builders are available. 2008-06-17 11:39:26 -04:00
Bill Hoffman abe8ecf418 ENH: try turning this on again 2008-06-17 10:51:37 -04:00
Bill Hoffman 6a4dede49b ENH: turn this off until it passes on all systems 2008-06-16 20:10:29 -04:00
Bill Hoffman ee086dd028 ENH: add a project name 2008-06-16 20:05:46 -04:00
Bill Hoffman d07a4675d2 ENH: fix find module stuff for test 2008-06-16 15:19:44 -04:00
Alexander Neundorf 8ef9983db6 ENH: add test which executes all FindXXX.cmake modules
Alex
2008-06-16 14:03:03 -04:00
Brad King fdb17d604c ENH: Add test for new find_* command HINTS option. 2008-06-09 15:09:14 -04:00
Brad King 9c8185494b BUG: Fix CMake.FindBase test to normalize paths before comparing.
- Previously the find_* commands did not normalize the search paths
  - The recent refactoring enabled such normalization
  - The FindBase test must also normalize before comparing paths
2008-06-08 11:41:16 -04:00
Brad King 3ecfb5f7e8 BUG: Fix new custom command with make-var expansion test on VS6. The VS6 IDE adds some extra characters to the variable value during expansion. 2008-06-05 10:01:16 -04:00
Brad King 306e3e573f ENH: Add test for make variable replacement in a custom command with the VERBATIM option. 2008-06-04 12:10:59 -04:00
Brad King bed3ac8741 ENH: Remove SKIP_RULE_DEPENDS option from add_custom_command()
- Option was recently added but never released.
  - Custom commands no longer depend on build.make so we do
    not need the option.
  - Rule hashes now take care of rebuilding when rules change
    so the dependency is not needed.
2008-06-02 16:45:07 -04:00
Brad King 91de0b09ef ENH: Update BuildDepends test to check #include lines with macros.
- Tests IMPLICIT_DEPENDS_INCLUDE_TRANSFORM properties.
  - See issue #6648.
  - Works without help in VS IDEs due to native dependency handling.
  - Xcode needs help to rebuild correctly.
2008-05-14 11:55:12 -04:00
Brad King 600e5e274e ENH: Add SKIP_RULE_DEPENDS option for add_custom_command()
- Allows make rules to be created with no dependencies.
  - Such rules will not re-run even if the commands themselves change.
  - Useful to create rules that run only if the output is missing.
2008-05-14 11:38:47 -04:00
Brad King 16ec04c2a7 BUG: Fix escaping of more characters on Windows shells. 2008-04-30 15:58:45 -04:00