summaryrefslogtreecommitdiffstats
path: root/bootstrap
Commit message (Collapse)AuthorAgeFilesLines
* Simplify bootstrap script source dir detectionBrad King2009-09-251-2/+1
| | | | | This teaches the bootstrap shell script to detect the CMake source directory from which it is executed using a simpler idiom.
* Make sure KWSYS_DO_NOT_CLEAN_PUTENV is defined at bootstrap time for cmake ↵Bill Hoffman2009-09-221-0/+1
| | | | in the bootstrap script.
* Test KWSYS_IOS_HAVE_BINARY during bootstrapBrad King2009-08-311-0/+11
| | | | | | We need to do this KWSys configuration test in the CMake bootstrap script to create a proper cmsys/Configure.hxx file. This fixes the bootstrap script which was broken by the addition of the test to KWSys.
* Introduce "generator expressions" to add_test()Brad King2009-08-111-0/+1
| | | | | | | | This introduces a new syntax called "generator expressions" to the test COMMAND option of the add_test(NAME) command mode. These expressions have a syntax like $<TARGET_FILE:mytarget> and are evaluated during build system generation. This syntax allows per-configuration target output files to be referenced in test commands and arguments.
* ENH: Improve dynamic variable scope implementationBrad King2009-07-221-0/+1
| | | | | | | | | | | | Previously each new variable scope (subdirectory or function call) in the CMake language created a complete copy of the key->value definition map. This avoids the copy using transitive lookups up the scope stack. Results of queries answered by parents are stored locally to maintain locality of reference. The class cmDefinitions replaces cmMakefile::DefinitionsMap, and is aware of its enclosing scope. Each scope stores only the definitions set (or unset!) inside it relative to the enclosing scope.
* BUG: Fix bootstrap for Debian Almquist ShellBrad King2009-06-101-2/+2
| | | | | | | The Debian Almquist Shell (dash) provides minimal POSIX compliance instead of the power of bash. It converts literal '\n' to a real newline even in a single-quoted string. This works around the problem by avoiding the literal. We can no longer use HEREDOC.
* ENH: Make bootstrap script work on VMS bashBrad King2009-06-101-83/+103
| | | | | | | | A few sweeping changes were needed: - Avoid use of HEREDOC, which does not seem to work. - Avoid extra '.' in paths by using '_cmk' and '_tmp' instead of '.cmk' and '.tmp'.
* COMP: Avoid String.c inclusion by Compaq templatesBrad King2009-06-101-1/+3
| | | | | | | | The Compaq compiler (on VMS) includes 'String.c' in source files that use the stl string while looking for template definitions. This was the true cause of double-inclusion of the 'kwsysPrivate.h' header. We work around the problem by conditionally compiling the entire source file on a condition only true when really building the source.
* ENH: Auto-import symbols for cygwin executablesBrad King2009-05-271-0/+12
| | | | | | This enables the --enable-auto-import linker flag on Cygwin when linking executables. It works with the old gcc 3.x compiler and is necessary for the new gcc 4.x compiler. See issue #9071.
* ENH: Refactor generation of CTestTestfile contentBrad King2009-03-161-0/+1
| | | | | | | | | This moves code which generates ADD_TEST and SET_TESTS_PROPERTIES calls into CTestTestfile.cmake files out of cmLocalGenerator and into a cmTestGenerator class. This will allow more advanced generation without cluttering cmLocalGenerator. The cmTestGenerator class derives from cmScriptGenerator to get support for per-configuration script generation (not yet enabled).
* ENH: Refactor cmInstallGenerator for re-useBrad King2009-03-161-0/+1
| | | | | | A new cmScriptGenerator base class factors out the non-install-specific part of cmInstallGenerator. This will be useful for other generators that want per-configuration functionality.
* ENH: Overhaul CMake version numberingBrad King2009-03-051-28/+18
| | | | | | | | | | | | | This moves the version numbers into an isolated configured header so that not all of CMake needs to rebuild when the version changes. Previously we had spaces, dashes and/or the word 'patch' randomly chosen before the patch number. Now we always report version numbers in the traditional format "<major>.<minor>.<patch>[-rc<rc>]". We still use odd minor numbers for development versions. Now we also use the CCYYMMDD date as the patch number of development versions, thus allowing tests for exact CMake versions.
* ENH: add initial support for HAIKU OS from bug# 7425Bill Hoffman2008-09-151-0/+12
|
* COMP: Fix bootstrap build after using cmDocumentationFormatterText in ↵Brad King2008-03-071-0/+2
| | | | cmMakefile.
* ENH: add first cut and policies still need to add the doc supportKen Martin2008-03-011-0/+1
|
* ENH: Better linker search path computation.Brad King2008-02-211-1/+1
| | | | | | | | | | | | | - Use linker search path -L.. -lfoo for lib w/out soname when platform sets CMAKE_PLATFORM_USES_PATH_WHEN_NO_SONAME - Rename cmOrderRuntimeDirectories to cmOrderDirectories and generalize it for both soname constraints and link library constraints - Use cmOrderDirectories to order -L directories based on all needed constraints - Avoid processing implicit link directories - For CMAKE_OLD_LINK_PATHS add constraints from libs producing them to produce old ordering
* ENH: support for cpack and install of cmake-gui as mac app bundleBill Hoffman2008-02-161-0/+4
|
* ENH: Add option to bootstrap script to enable Qt dialog.Brad King2008-02-131-0/+29
| | | | | | | | | - Add --qt-gui and --no-qt-gui options - Add --qt-qmake=<qmake> option to help locate Qt - Build more commands during bootstrap to help FindQt4.cmake: MATH, GET_DIRECTORY_PROPERTY, EXECUTE_PROCESS, SEPARATE_ARGUMENTS - Bootstrapping with the cmake-gui is now possible in MSys
* ENH: Improve link line generation for static library cycles.Brad King2008-02-071-0/+1
| | | | | | | | | - Move Tarjan algorithm from cmComputeTargetDepends into its own class cmComputeComponentGraph - Use cmComputeComponentGraph to identify the component DAG of link dependencies in cmComputeLinkDepends - Emit non-trivial component members more than once but always in a contiguous group on the link line
* ENH: Analyze inter-target dependencies to safely fix cyclesBrad King2008-02-061-0/+1
| | | | | | | | | | - Cycles may be formed among static libraries - Native build system should not have cycles in target deps - Create cmComputeTargetDepends to analyze dependencies - Identify conneced components and use them to fix deps - Diagnose cycles containing non-STATIC targets - Add debug mode property GLOBAL_DEPENDS_DEBUG_MODE - Use results in cmGlobalGenerator as target direct depends
* ENH: Pass dependent library search path to linker on some platforms.Brad King2008-02-011-0/+1
| | | | | | | | | | | | | | | | - Move runtime path ordering out of cmComputeLinkInformation into its own class cmOrderRuntimeDirectories. - Create an instance of cmOrderRuntimeDirectories for runtime path ordering and another instance for dependent library path ordering. - Replace CMAKE_DEPENDENT_SHARED_LIBRARY_MODE with explicit CMAKE_LINK_DEPENDENT_LIBRARY_FILES boolean. - Create CMAKE_LINK_DEPENDENT_LIBRARY_DIRS boolean. - Create variables to specify -rpath-link flags: CMAKE_SHARED_LIBRARY_RPATH_LINK_<LANG>_FLAG CMAKE_EXECUTABLE_RPATH_LINK_<LANG>_FLAG - Enable -rpath-link flag on Linux and QNX. - Documentation and error message updates
* COMP: Use kwsys to get STL set_intersection algorithm.Brad King2008-01-271-1/+1
|
* ENH: Created cmComputeLinkDepends to compute link dependencies.Brad King2008-01-271-0/+1
| | | | | | | | - This will be useful for imported library dependencies - Replaces old cmTarget analyze-lib-depends stuff for linking - Formalizes graph construction and dump - Explicitly represents dependency inferral sets - Use BFS of initial dependencies to preserve order
* BUG: Do not have variable and function of the same name. Old shells do not ↵Brad King2008-01-231-3/+3
| | | | likeit.
* ENH: Implement linking with paths to library files instead of -L and -l ↵Brad King2008-01-221-1/+1
| | | | | | | | | | | | | | | | | 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.
* COMP: The find_package command needs more of kwsys. Added String.h, ↵Brad King2008-01-171-0/+4
| | | | String.c, and auto_ptr.hxx to bootstrapping kwsys.
* ENH: Simplified CMake version information using KWSys DateStamp feature. ↵Brad King2007-11-151-19/+30
| | | | Reduced duplicate code in bootstrap script.
* ENH: add new fileBill Hoffman2007-10-181-0/+1
|
* ENH: Merging changes from branch CMake-SourceFile2-b between tagsBrad King2007-06-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | CMake-SourceFile2-bp and CMake-SourceFile2-b-mp1 to trunk. This commit is surrounded by tags CMake-SourceFile2-b-mp1-pre and CMake-SourceFile2-b-mp1-post on the trunk. The changes re-implement cmSourceFile and the use of it to allow instances to be created much earlier. The use of cmSourceFileLocation allows locating a source file referenced by a user to be much simpler and more robust. The two SetName methods are no longer needed so some duplicate code has been removed. The strange "SourceName" stuff is gone. Code that created cmSourceFile instances on the stack and then sent them to cmMakefile::AddSource has been simplified and converted to getting cmSourceFile instances from cmMakefile. The CPluginAPI has preserved the old API through a compatibility interface. Source lists are gone. Targets now get real instances of cmSourceFile right away instead of storing a list of strings until the final pass. TraceVSDependencies has been re-written to avoid the use of SourceName. It is now called TraceDependencies since it is not just for VS. It is now implemented with a helper object which makes the code simpler.
* ENH: Fix copyright yearAndy Cedilnik2007-04-041-1/+1
|
* COMP: fix bootstrap maybeKen Martin2006-12-071-0/+4
|
* ENH: fix bootstrap for macBill Hoffman2006-12-051-4/+1
|
* ENH: merge in changes for beos supportBill Hoffman2006-12-041-0/+14
|
* ENH: fix errors for unix buildsBill Hoffman2006-11-291-0/+1
|
* ENH: Adding option to use system-installed third-party libraries. This ↵Brad King2006-10-191-1/+12
| | | | addresses bug#3653.
* ENH: Renamed kwsysPlatformCxxTests to kwsysPlatformTests and generalized it ↵Brad King2006-10-041-21/+21
| | | | for multiple language tests (C and CXX).
* ENH: Added System component of kwsys.Brad King2006-09-211-2/+5
|
* ENH: Changing default data and doc directories to share/cmake-V.v and ↵Brad King2006-08-261-2/+11
| | | | doc/cmake-V.v instead of share/CMake and doc/CMake for consistency with many linux distribution conventions.
* COMP: Fix for new kwsys Configure.h.in.Brad King2006-08-261-2/+4
|
* ENH: Support large file systems in kwsysAndy Cedilnik2006-08-221-0/+2
|
* COMP: More warnings and hp issuesAndy Cedilnik2006-07-261-11/+5
|
* COMP: Handle both ansi and non-ansi CAndy Cedilnik2006-07-261-0/+17
|
* COMP: Remove warningAndy Cedilnik2006-07-251-3/+3
|
* ENH: Fix copyright yearAndy Cedilnik2006-04-171-1/+1
|
* ENH: add patch for finding applications on OSXBill Hoffman2006-04-131-3/+17
|
* ENH: add a wrapper for xcodebuild to get around bug and verbose outputBill Hoffman2006-03-311-1/+1
|
* ENH: Remove things from bootstrapAndy Cedilnik2006-03-221-6/+10
|
* ENH: Remove cmGlob and use glob from kwsysAndy Cedilnik2006-03-211-1/+0
|
* ENH: add more depends for bootstrapBill Hoffman2006-03-061-1/+1
|
* ENH: Implemented FILES and PROGRAMS forms of the INSTALL command as ↵Brad King2006-02-191-0/+1
| | | | replacements for the INSTALL_FILES and INSTALL_PROGRAMS commands. This addresses the request for absolute path install destinations in bug#2691.