2012-08-13 21:47:32 +04:00
set ( CMAKE_CXX_VERBOSE_FLAG "-v" )
2010-04-17 09:48:02 +04:00
2012-08-13 21:47:32 +04:00
set ( CMAKE_CXX_COMPILE_OPTIONS_PIC -KPIC )
set ( CMAKE_SHARED_LIBRARY_CXX_FLAGS "-KPIC" )
set ( CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-G" )
set ( CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG "-R" )
set ( CMAKE_SHARED_LIBRARY_RUNTIME_CXX_FLAG_SEP ":" )
set ( CMAKE_SHARED_LIBRARY_SONAME_CXX_FLAG "-h" )
2009-08-21 18:32:26 +04:00
2012-08-13 21:47:32 +04:00
set ( CMAKE_CXX_FLAGS_INIT "" )
set ( CMAKE_CXX_FLAGS_DEBUG_INIT "-g" )
set ( CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-xO2 -xspace -DNDEBUG" )
set ( CMAKE_CXX_FLAGS_RELEASE_INIT "-xO3 -DNDEBUG" )
2012-08-16 06:00:45 +04:00
set ( CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-g -xO2 -DNDEBUG" )
2009-08-21 18:32:26 +04:00
# Initialize C link type selection flags. These flags are used when
# building a shared library, shared module, or executable that links
# to other libraries to select whether to use the static or shared
# versions of the libraries.
2012-08-13 21:47:32 +04:00
foreach ( type SHARED_LIBRARY SHARED_MODULE EXE )
set ( CMAKE_ ${ type } _LINK_STATIC_CXX_FLAGS "-Bstatic" )
set ( CMAKE_ ${ type } _LINK_DYNAMIC_CXX_FLAGS "-Bdynamic" )
2012-08-13 21:50:14 +04:00
endforeach ( )
2009-08-21 18:32:26 +04:00
2015-07-13 17:35:04 +03:00
set ( CMAKE_CXX_CREATE_PREPROCESSED_SOURCE "<CMAKE_CXX_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>" )
set ( CMAKE_CXX_CREATE_ASSEMBLY_SOURCE "<CMAKE_CXX_COMPILER> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>" )
2009-08-21 18:32:26 +04:00
# Create archives with "CC -xar" in case user adds "-instances=extern"
# so that template instantiations are available to archive members.
2012-08-13 21:47:32 +04:00
set ( CMAKE_CXX_CREATE_STATIC_LIBRARY
2009-08-21 18:32:26 +04:00
" < C M A K E _ C X X _ C O M P I L E R > - x a r - o < T A R G E T > < O B J E C T S > "
" < C M A K E _ R A N L I B > < T A R G E T > " )
2015-01-16 21:26:37 +03:00
if ( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13 )
set ( CMAKE_CXX11_STANDARD_COMPILE_OPTION "-std=c++11" )
set ( CMAKE_CXX11_EXTENSION_COMPILE_OPTION "-std=c++11" )
endif ( )
2015-09-15 20:42:26 +03:00
if ( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13 )
2015-09-22 23:13:15 +03:00
if ( NOT CMAKE_CXX_COMPILER_FORCED )
if ( NOT CMAKE_CXX_STANDARD_COMPUTED_DEFAULT )
message ( FATAL_ERROR "CMAKE_CXX_STANDARD_COMPUTED_DEFAULT should be set for ${CMAKE_CXX_COMPILER_ID} (${CMAKE_CXX_COMPILER}) version ${CMAKE_CXX_COMPILER_VERSION}" )
endif ( )
set ( CMAKE_CXX_STANDARD_DEFAULT ${ CMAKE_CXX_STANDARD_COMPUTED_DEFAULT } )
2015-11-19 18:12:58 +03:00
elseif ( NOT DEFINED CMAKE_CXX_STANDARD_DEFAULT )
# Compiler id was forced so just guess the default standard level.
set ( CMAKE_CXX_STANDARD_DEFAULT 98 )
2015-09-15 20:42:26 +03:00
endif ( )
2015-02-05 00:04:18 +03:00
endif ( )
2015-01-16 21:26:37 +03:00
macro ( cmake_record_cxx_compile_features )
macro ( _get_solaris_studio_features std_version list )
record_compiler_features ( CXX "${std_version}" ${ list } )
endmacro ( )
set ( _result 0 )
if ( NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.13 )
_get_solaris_studio_features ( ${ CMAKE_CXX11_STANDARD_COMPILE_OPTION } CMAKE_CXX11_COMPILE_FEATURES )
if ( _result EQUAL 0 )
_get_solaris_studio_features ( "" CMAKE_CXX98_COMPILE_FEATURES )
endif ( )
endif ( )
endmacro ( )