mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-04 12:49:36 -06:00
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.
28 lines
1.2 KiB
CMake
28 lines
1.2 KiB
CMake
SET(CMAKE_C_VERBOSE_FLAG "-#")
|
|
|
|
SET(CMAKE_C_COMPILE_OPTIONS_PIC -KPIC)
|
|
SET(CMAKE_C_COMPILE_OPTIONS_PIE -KPIE)
|
|
SET(CMAKE_SHARED_LIBRARY_C_FLAGS "-KPIC")
|
|
SET(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-G")
|
|
SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-R")
|
|
SET(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG_SEP ":")
|
|
SET(CMAKE_SHARED_LIBRARY_SONAME_C_FLAG "-h")
|
|
|
|
SET(CMAKE_C_FLAGS_INIT "")
|
|
SET(CMAKE_C_FLAGS_DEBUG_INIT "-g")
|
|
SET(CMAKE_C_FLAGS_MINSIZEREL_INIT "-xO2 -xspace -DNDEBUG")
|
|
SET(CMAKE_C_FLAGS_RELEASE_INIT "-xO3 -DNDEBUG")
|
|
SET(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-g -xO2")
|
|
|
|
# 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.
|
|
FOREACH(type SHARED_LIBRARY SHARED_MODULE EXE)
|
|
SET(CMAKE_${type}_LINK_STATIC_C_FLAGS "-Bstatic")
|
|
SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Bdynamic")
|
|
ENDFOREACH(type)
|
|
|
|
SET(CMAKE_C_CREATE_PREPROCESSED_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
|
|
SET(CMAKE_C_CREATE_ASSEMBLY_SOURCE "<CMAKE_C_COMPILER> <DEFINES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
|