mirror of
https://github.com/reactos/CMake.git
synced 2024-12-05 10:16:50 +00:00
5a21557b33
The `CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH` is used by CMake to always append `-Wl,-blibpath:/usr/lib:/lib` to the link line. This is needed by default on these platforms but needs to be overridden in some use cases (e.g. an environment in which one maintains versioned shared libraries). Change our logic to set this value only if it not already set by the user, project, or toolchain file.
32 lines
1.3 KiB
CMake
32 lines
1.3 KiB
CMake
set(CMAKE_SHARED_LIBRARY_PREFIX "lib") # lib
|
|
set(CMAKE_SHARED_LIBRARY_SUFFIX ".so") # .so
|
|
set(CMAKE_DL_LIBS "-lld")
|
|
|
|
# RPATH support on AIX is called libpath. By default the runtime
|
|
# libpath is paths specified by -L followed by /usr/lib and /lib. In
|
|
# order to prevent the -L paths from being used we must force use of
|
|
# -Wl,-blibpath:/usr/lib:/lib whether RPATH support is on or not.
|
|
# When our own RPATH is to be added it may be inserted before the
|
|
# "always" paths.
|
|
if(NOT DEFINED CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH)
|
|
set(CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH /usr/lib /lib)
|
|
endif()
|
|
|
|
# Files named "libfoo.a" may actually be shared libraries.
|
|
set_property(GLOBAL PROPERTY TARGET_ARCHIVES_MAY_BE_SHARED_LIBS 1)
|
|
|
|
# since .a can be a static or shared library on AIX, we can not do this.
|
|
# at some point if we wanted it, we would have to figure out if a .a is
|
|
# static or shared, then we could add this back:
|
|
|
|
# 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()
|
|
|
|
include(Platform/UnixPaths)
|