Commit Graph

929 Commits

Author SHA1 Message Date
Bill Hoffman 96262d167b ENH: run the right cmake 2008-10-15 16:56:01 -04:00
Bill Hoffman 6a312b9746 ENH: run the right cmake 2008-10-15 16:50:55 -04:00
Bill Hoffman 1777bb502a BUG: 4244, add a --build option to cmake that can build projects configured by CMake 2008-10-15 13:56:07 -04:00
Brad King c5f70ff27f ENH: Allow custom sources in custom targets
This adds a SOURCES option to ADD_CUSTOM_TARGET, enabling users to
specify extra sources for inclusion in the target.  Such sources may not
build, but will show up in the IDE project files for convenient editing.
See issue #5848.
2008-10-09 11:01:23 -04:00
Brad King 25a5c34a62 ENH: Remove implicit NO_MODULE when recursing
Recently we taught find_package that the NO_MODULE option is implied
when it is recursively invoked in a find-module.  This behavior may be
confusing because two identical calls may enter different modes
depending on context.  It also disallows the possibility that one
find-module defers to another find-module by changing CMAKE_MODULE_PATH
and recursively invoking find_package.  This change reverts the feature.
2008-10-08 10:56:23 -04:00
Brad King 0ae545ebad ENH: Add UNSUITABLE result to package version test
Package version test files may now declare that they are unsuitable for
use with the project testing them.  This is important when the version
being tested does not provide a compatible ABI with the project target
environment.
2008-10-03 10:41:15 -04:00
Brad King 79e9b75558 ENH: Help recursive find_package calls in modules
These changes teach find_package to behave nicely when invoked
recursively inside a find-module for the same package.  The module will
never be recursively loaded again.  Version arguments are automatically
forwarded.
2008-10-03 10:40:07 -04:00
Brad King f8bc0492e1 ENH: Create $CACHE{VAR} syntax
This syntax allows reading of cache entries even when variables of the
same name have been defined in the local scope.  See issue #7715.
2008-09-25 10:21:15 -04:00
Brad King 4fa96dbf95 ENH: Add version comparison to if() command
Provide VERSION_LESS, VERSION_EQUAL, and VERSION_GREATER operators in
the if() command.  This simplifies component-wise comparison of version
numbers in the form "major[.minor[.patch[.tweak]]]".
2008-09-10 11:58:40 -04:00
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