summaryrefslogtreecommitdiffstats
path: root/Modules/Platform/SunOS.cmake
Commit message (Collapse)AuthorAgeFilesLines
* genex-LINK_LIBRARY: Add feature WHOLE_ARCHIVEMarc Chevrier2022-03-171-0/+14
|
* Genex-LINK_GROUP: Add feature RESCANMarc Chevrier2022-03-051-0/+10
| | | | | Feature RESCAN can be used to manage circular references between static libraries.
* Modules: Consistently use 2 space indentationKitware Robot2019-05-141-6/+6
|
* SunOS: Move solaris-specific paths to the solaris platformChuck Atkins2017-03-161-0/+5
|
* SunOS: Remove obsolete Studio compiler library directoriesApril Chin2015-11-161-6/+0
| | | | | | | | | | Our CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES setting is no longer needed because CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES is now populated with the actual implicit link directories for the current toolchain. The old values we hard-coded in CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES are not relevant to modern toolchains, so simply drop them. Co-Author: Shawn Walker-Salas <shawn.walker@oracle.com>
* SunOS: Drop special case for linking C++ shared libraries with gcc (#15673)Brad King2015-07-301-8/+0
| | | | | | | | Since commit v2.4.0~4325 (...use gcc -shared, even for C++ libraries, 2003-03-13) we use the C compiler "gcc" to link C++ shared libraries compiled with "g++". At the time "g++" did not know how to link shared libraries correctly. This has long since been fixed so simply drop the special case.
* 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.*".
* Remove CMake-language block-end command argumentsKitware Robot2012-08-131-5/+5
| | | | | | | | | | | | | | | | | 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-131-20/+20
| | | | | | | | | | | | | | | | | 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-131-1/+1
| | | | | | | | | | | | | | | | | 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/ \+$//'
* Add platform variables for position independent code flagsStephen Kelly2012-06-121-2/+4
| | | | | | | | | | | | | | | | | | | | 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.
* Support building shared libraries or modules without soname (#13155)Modestas Vainius2012-04-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Move GNU flags from SunOS.cmake to SunOS-GNU.cmakeBrad King2009-12-021-17/+0
| | | | | The GNU-specific link-type flags do not belong in the platform-wide file.
* Split GNU compiler information filesBrad King2009-12-021-17/+0
| | | | | | | | | | | | | | This moves GNU compiler flags into new-style modules Compiler/GNU-<lang>.cmake Platform/<os>-GNU-<lang>.cmake We use language-independent helper modules Compiler/GNU.cmake Platform/<os>-GNU.cmake to define macros consolidating the information.
* Split SunPro compiler information filesBrad King2009-08-211-50/+0
| | | | | | This moves platform-independent SunPro compiler flags into separate "Compiler/SunPro-<lang>.cmake" modules. Platform-specific flags are left untouched.
* ENH: Make /opt/SUNWspro/lib, /opt/SUNWspro/prod/lib, and /usr/ccs/lib ↵Brad King2008-04-301-0/+6
| | | | implicit link directories on the Sun when using the SunPro compiler.
* BUG: Apply patch from bug#6445. Add preprocessor definitions to assembly ↵Brad King2008-02-271-3/+3
| | | | and preprocessing build rules.
* ENH: Better linker search path computation.Brad King2008-02-211-1/+3
| | | | | | | | | | | | | - 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: Enable dependent library search paths on more platformsBrad King2008-02-011-0/+6
| | | | | | | - HP-UX needs dependent library paths as -L options. - IRIX needs dependent library paths as -L options. - Sun needs dependent library paths as -L options. - FreeBSD needs dependent library paths in -rpath-link option.
* BUG: fix for bug 6231, bad regex for sunos, worked by chance, but better to ↵Bill Hoffman2008-01-151-2/+2
| | | | have it right
* BUG: Need -Wl, to pass linker flags when using gcc on Sun.Brad King2006-09-161-4/+22
|
* ENH: Enabling link type selection flags for this platform. See bug#1644 for ↵Brad King2006-09-151-0/+9
| | | | details.
* ENH: Enabling preprocessed source and asembly source generation rules on Sun CC.Brad King2006-08-091-0/+10
|
* ENH: use correct flags for optimizationBill Hoffman2006-05-031-6/+6
|
* ENH: check in new find stuffBill Hoffman2006-03-021-0/+1
|
* ENH: more compiler flagsBill Hoffman2005-11-221-0/+12
|
* ENH: major changes to support addition of languages from cmake modules ↵Bill Hoffman2004-09-221-6/+6
| | | | directory.
* hack to try and fix sun platformBill Hoffman2004-08-271-1/+3
|
* ENH: more uniform approach to enable language, one step closer to being able ↵Bill Hoffman2004-08-261-2/+0
| | | | to enable a language without modifing cmake source code
* ENH: Using separate CMAKE_SHARED_LIBRARY_SONAME flags for C and CXX.Brad King2003-12-121-4/+7
|
* ENH: Added CMAKE_SHARED_LIBRARY_SONAME_FLAG setting to enable shared library ↵Brad King2003-12-121-1/+4
| | | | version support for SunOS.
* BUG: fix for bug 383 gcc flags are now always set if the compiler is gnuBill Hoffman2003-11-141-0/+2
|
* Fix gnu c and Sun CC mixBill Hoffman2003-03-271-0/+4
|
* BUG: Don't use -nostdlib option to link shared libraries. Just use gcc ↵Brad King2003-03-131-7/+12
| | | | -shared, even for C++ libraries.
* BUG: bad rpath flag for sunsBill Hoffman2003-01-031-4/+4
|
* clean up some c/cxx issuesBill Hoffman2003-01-021-1/+1
|
* clean up some c/cxx issuesBill Hoffman2003-01-021-1/+8
|
* fix for sunBill Hoffman2002-11-151-0/+1
|
* Complete rework of makefile generators expect troubleBill Hoffman2002-11-081-0/+25