- 12 Jun, 2012 1 commit
-
-
Stephen Kelly authored
Store in new platform variables CMAKE_${lang}_COMPILE_OPTIONS_PIC CMAKE_${lang}_COMPILE_OPTIONS_PIE flags for position independent code generation. In almost all cases, this means duplication of the CMAKE_SHARED_LIBRARY_${lang}_FLAGS for the _PIC case and using the assumed pie equivalent for the _PIE case. Note that the GNU compiler has supported -fPIE since 3.4 and that there is no -fPIC on GNU for Windows or Cygwin. There is a possibility that the _PIE variables are not correct. However, as there is no backwards compatibility to be concerned about (as the POSITION_INDEPENDENT_CODE property is not used anywhere yet), the current state suffices.
-
- 30 Apr, 2012 1 commit
-
-
Modestas Vainius authored
Add a boolean target property NO_SONAME which may be used to disable soname for the specified shared library or module even if the platform supports it. This property should be useful for private shared libraries or various plugins which live in private directories and have not been designed to be found or loaded globally. Replace references to <CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG> and hard-coded -install_name flags with a conditional <SONAME_FLAG> which is expanded to the value of the CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG definition as long as soname supports is enabled for the target in question. Keep expanding CMAKE_SHARED_LIBRARY_SONAME_${LANG}_FLAG in rules in case third party projects still use it. Such projects would not yet use NO_SONAME so the adjacent <TARGET_SONAME> will always be expanded. Make <TARGET_INSTALLNAME_DIR> NO_SONAME aware as well. Since -install_name is soname on OS X, this should not be a problem if this variable is expanded only if soname is enabled. The Ninja generator performs rule variable substitution only once globally per rule to put its own placeholders. Final substitution is performed by ninja at build time. Therefore we cannot conditionally replace the soname placeholders on a per-target basis. Rather than omitting $SONAME from rules.ninja, simply do not write its contents for targets which have NO_SONAME. Since 3 variables are affected by NO_SONAME ($SONAME, $SONAME_FLAG, $INSTALLNAME_DIR), set them only if soname is enabled.
-
- 03 Feb, 2012 1 commit
-
-
Brad King authored
If CXX or Fortran is enabled before C then the values of CMAKE_SHARED_MODULE_C_FLAGS CMAKE_SHARED_MODULE_CREATE_C_FLAGS may not be available. On platforms where MODULE library (plugin) creation is the same as SHARED library creation initialize the MODULE creation flags from the SHARED creation flags of the matching language instead of assuming that C has been enabled first. Teach the COnly and CxxOnly tests to build MODULE libraries. The latter covers this specific case.
-
- 05 Dec, 2011 1 commit
-
-
Brad King authored
Load platform files named in CMAKE_<lang>_ABI_FILES for each language once the ABI sizeof(void*) is known. During the first configuration this is after the test for working compiler and ABI detection checks. During later configurations the ABI information is immediately available because it has been saved in CMake<lang>Compiler.cmake.
-
- 19 Jan, 2011 1 commit
-
-
Brad King authored
In commit 295b5b60 (Honor CMAKE_USER_MAKE_RULES_OVERRIDE in try_compile, 2010-06-29) we started passing the value of this variable when building a try_compile project. If the variable contains a relative path it must be treated with respect to the file where it is first used. Ensure that the value is converted to a full path so that it is correctly referenced in the try_compile projects.
-
- 10 Jan, 2011 1 commit
-
-
Brad King authored
Commit aaa88d33 (Build large archives incrementally, 2008-08-04) hard-coded rules to create static archives incrementally in each language information file. Set each rule conditionally to allow compiler and platform information files to override the language default rules. Inspired-by:
Harald Pohl <pohl.h@eppendorf.de>
-
- 28 Sep, 2010 1 commit
-
-
Brad King authored
In each CMake<lang>Information.cmake file we use an _INCLUDED_FILE variable to track whether a compiler information file has been loaded. Reset this variable for each language. This fixes Fortran under VS generators with the Intel plugin. Previously the variable would be left set true from C and C++ and then Fortran would not load old-style files like Platform/Windows-ifort.
-
- 09 Aug, 2010 1 commit
-
-
Todd Gamblin authored
-
- 28 Jan, 2010 1 commit
-
-
Brad King authored
-
- 02 Dec, 2009 2 commits
-
-
Brad King authored
Several platform-wide linker flag variables are defined in Modules/Platform/<os>.cmake files for C and then copied by the Modules/CMake<lang>Information.cmake file for each language. We now use this approach for the variables CMAKE_EXE_EXPORTS_${lang}_FLAG CMAKE_SHARED_LIBRARY_SONAME_${lang}_FLAG CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS to avoid duplication for multiple languages in each platform file.
-
Brad King authored
This platform configuration variable is unused. Modules are built using the value of CMAKE_SHARED_LIBRARY_RUNTIME_${lang}_FLAG.
-
- 09 Oct, 2009 1 commit
-
-
Bill Hoffman authored
-
- 06 Oct, 2009 1 commit
-
-
Brad King authored
The commit "fix for bug 4772" added a work-around to CMakeCInformation for platform config files that put compiler information in the system file (like SunOS flags for GCC). This commit adds the same work-around for CXX and Fortran. It is necessary to support enabling these languages separately from C in other subdirectories. The commit "Avoid (Unix|Windows)Paths.cmake multiple include" added include blockers that prevent the files from multiple inclusion, so it is safe to include the system information files from every language. See issue #4772 and issue #9656.
-
- 01 Oct, 2009 1 commit
-
-
Bill Hoffman authored
-
- 28 Sep, 2009 1 commit
-
-
Brad King authored
This adds copyright/license notification blocks CMake's non-find modules. Most of the modules had no notices at all. Some had notices referring to the BSD license already. This commit normalizes existing notices and adds missing notices.
-
- 23 Jul, 2009 1 commit
-
-
Brad King authored
This teaches the language configuration modules to load per-compiler information for each language using the compiler id but no system name. They look for modules named "Compiler/<id>-<lang>.cmake". Such modules may specify compiler flags that do not depend on the platform.
-
- 14 Oct, 2008 1 commit
-
-
Bill Hoffman authored
ENH: fix problem where rc language recursively included itself because CMAKE_BASE_NAME was used from c compiler, do the same fix for other uses of CMAKE_BASE_NAME
-
- 04 Aug, 2008 1 commit
-
-
Brad King authored
Creation of archive libraries with the unix 'ar' tool should be done incrementally when the number of object files is large. This avoids problems with the command line getting too many arguments.
-
- 21 Apr, 2008 1 commit
-
-
Bill Hoffman authored
-
- 01 Feb, 2008 1 commit
-
-
Brad King authored
- 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
-
- 23 Jan, 2008 1 commit
-
-
Brad King authored
BUG: CMAKE_EXECUTABLE_RUNTIME_CXX_FLAG should get its default value from CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG, not CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG.
-
- 22 Jan, 2008 1 commit
-
-
Brad King authored
- 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.
-
- 14 Jan, 2008 1 commit
-
-
Brad King authored
ENH: Create COMPILE_DEFINITIONS property for targets and source files. Create <config>_COMPILE_DEFINITIONS property as per-configuration version. Add Preprocess test to test the feature. Document limitations on Xcode and VS6 generators.
-
- 17 Dec, 2007 1 commit
-
-
Bill Hoffman authored
-
- 02 Jul, 2007 1 commit
-
-
Alexander Neundorf authored
ENH: remove support for presetting CMAKE_SYSTEM_INFO_FILE, CMAKE_SYSTEM_AND_C_COMPILER_INFO_FILE, CMAKE_SYSTEM_AND_CXX_COMPILER_INFO_FILE, CMAKE_SYSTEM_AND_C_COMPILER_AND_PROCESSOR_INFO_FILE and CMAKE_SYSTEM_AND_CXX_COMPILER_AND_PROCESSOR_INFO_FILE Instead of presetting these variables to arbitrary filenames, users should set up CMAKE_SYSTEM_NAME and the compilers correctly and also create a Platform/ directory so these files will all follow the official cmake style, which should make it easier to understand and debug project which have their own platform/toolchain support files. -remove support for a suffix to MS crosscompilers, since this is not (yet) supported by cmake and might confuse users Alex
-
- 12 Jun, 2007 1 commit
-
-
Alexander Neundorf authored
ENH: first include the processor specific file, then the compiler file, this way the specific hardware file can set variables which can be used in the toolchain rules (like CMAKE_C_COMPILE_OBJECT etc.) Alex
-
- 11 Jun, 2007 1 commit
-
-
Alexander Neundorf authored
ENH: split cmGlobalGenerator::SetLanguageEnabled() in two parts, where the second part copies the values from the cmake variables into internal maps. So this can now be done after the compiler-specific information has been loaded, which can now overwrite more settings. Alex
-
- 05 Jun, 2007 1 commit
-
-
Alexander Neundorf authored
ENH: also load a processor-specific file if exists -also try the basename file if the compiler id file doesn't exist -don't rely so much on the CMAKE_TOOLCHAIN_FILE Alex
-
- 17 May, 2007 1 commit
-
-
Alexander Neundorf authored
ENH: merge CMake-CrossCompileBasic to HEAD -add a RESULT_VARIABLE to INCLUDE() -add CMAKE_TOOLCHAIN_FILE for specifiying your (potentially crosscompiling) toolchain -have TRY_RUN() complain if you try to use it in crosscompiling mode (which were compiled but cannot run on this system) -use CMAKE_EXECUTABLE_SUFFIX in TRY_RUN(), probably TRY_RUN won't be able to run the executables if they have a different suffix because they are probably crosscompiled, but nevertheless it should be able to find them -make several cmake variables presettable by the user: CMAKE_C/CXX_COMPILER, CMAKE_C/CXX_OUTPUT_EXTENSION, CMAKE_SYSTEM_NAME, CMAKE_SYSTEM_INFO_FILE -support prefix for GNU toolchains (arm-elf-gcc, arm-elf-ar, arm-elf-strip etc.) -move ranlib on OSX from the file command to a command in executed in cmake_install.cmake -add support for stripping during install in cmake_install.cmake -split out cl.cmake from Windows-cl.cmake, first (very incomplete) step to support MS crosscompiling tools -remove stdio.h from the simple C program which checks if the compiler works, since this may not exist for some embedded platforms -create a new CMakeFindBinUtils.cmake which collects the search fro ar, ranlib, strip, ld, link, install_name_tool and other tools like these -add support for CMAKE_FIND_ROOT_PATH for all FIND_XXX commands, which is a list of directories which will be prepended to all search directories, right now as a cmake variable, turning it into a global cmake property may need some more work -remove cmTestTestHandler::TryExecutable(), it's unused -split cmFileCommand::HandleInstall() into slightly smaller functions Alex
-
- 03 May, 2007 1 commit
-
-
Brad King authored
ENH: Merging CompilerId updates from branch CMake-Modules-CompilerId to the main tree. Changes between CMake-Modules-CompilerId-mp1 and CMake-Modules-CompilerId-mp2 are included.
-
- 15 Sep, 2006 1 commit
-
-
Brad King authored
ENH: Adding support to link specifically to an archive or a shared library based on the file name specified. This fixes the problem of having -lfoo linking to libfoo.so even when it came from libfoo.a being specified.
-
- 11 Apr, 2006 1 commit
-
-
Brad King authored
ENH: Split CMAKE_STANDARD_LIBRARIES into per-language variables CMAKE_<lang>_STANDARD_LIBRARIES. This is needed to get programmable language support working with Visual Studio generators. It makes sense anyway.
-
- 06 Mar, 2006 1 commit
-
-
Bill Hoffman authored
-
- 02 Mar, 2006 1 commit
-
-
Bill Hoffman authored
ENH: fix for bug 2921, move _OVERRIDE variable to a better position to allow changing _INIT variables
-
- 27 Feb, 2006 1 commit
-
-
Bill Hoffman authored
-
- 14 Dec, 2005 1 commit
-
-
Bill Hoffman authored
-
- 23 Sep, 2005 1 commit
-
-
Bill Hoffman authored
-
- 07 Sep, 2005 1 commit
-
-
Bill Hoffman authored
ENH: add a fix for VTK on the mac and a way to fix some projects with a single file in the cmake modules directory
-
- 20 Jul, 2005 2 commits
-
-
Bill Hoffman authored
-
Bill Hoffman authored
-