From 1804c6bfe2705ad131c01e89d5c58729f14ce6d4 Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 21 Jan 2010 09:09:27 -0500 Subject: [PATCH] Add PathScale shared library flags on Linux We add platform-specific compiler information files Platform/Linux-PathScale-.cmake to enable -fPIC and -shared flags for shared libraries. --- Modules/Platform/Linux-PathScale-C.cmake | 2 ++ Modules/Platform/Linux-PathScale-CXX.cmake | 2 ++ .../Platform/Linux-PathScale-Fortran.cmake | 2 ++ Modules/Platform/Linux-PathScale.cmake | 25 +++++++++++++++++++ 4 files changed, 31 insertions(+) create mode 100644 Modules/Platform/Linux-PathScale-C.cmake create mode 100644 Modules/Platform/Linux-PathScale-CXX.cmake create mode 100644 Modules/Platform/Linux-PathScale-Fortran.cmake create mode 100644 Modules/Platform/Linux-PathScale.cmake diff --git a/Modules/Platform/Linux-PathScale-C.cmake b/Modules/Platform/Linux-PathScale-C.cmake new file mode 100644 index 000000000..009f398fe --- /dev/null +++ b/Modules/Platform/Linux-PathScale-C.cmake @@ -0,0 +1,2 @@ +include(Platform/Linux-PathScale) +__linux_compiler_pathscale(C) diff --git a/Modules/Platform/Linux-PathScale-CXX.cmake b/Modules/Platform/Linux-PathScale-CXX.cmake new file mode 100644 index 000000000..b6a5771aa --- /dev/null +++ b/Modules/Platform/Linux-PathScale-CXX.cmake @@ -0,0 +1,2 @@ +include(Platform/Linux-PathScale) +__linux_compiler_pathscale(CXX) diff --git a/Modules/Platform/Linux-PathScale-Fortran.cmake b/Modules/Platform/Linux-PathScale-Fortran.cmake new file mode 100644 index 000000000..5662d3d88 --- /dev/null +++ b/Modules/Platform/Linux-PathScale-Fortran.cmake @@ -0,0 +1,2 @@ +include(Platform/Linux-PathScale) +__linux_compiler_pathscale(Fortran) diff --git a/Modules/Platform/Linux-PathScale.cmake b/Modules/Platform/Linux-PathScale.cmake new file mode 100644 index 000000000..8537e4c0f --- /dev/null +++ b/Modules/Platform/Linux-PathScale.cmake @@ -0,0 +1,25 @@ + +#============================================================================= +# Copyright 2002-2010 Kitware, Inc. +# +# Distributed under the OSI-approved BSD License (the "License"); +# see accompanying file Copyright.txt for details. +# +# This software is distributed WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the License for more information. +#============================================================================= +# (To distributed this file outside of CMake, substitute the full +# License text for the above reference.) + +# This module is shared by multiple languages; use include blocker. +if(__LINUX_COMPILER_PATHSCALE) + return() +endif() +set(__LINUX_COMPILER_PATHSCALE 1) + +macro(__linux_compiler_pathscale lang) + # Shared library compile and link flags. + set(CMAKE_SHARED_LIBRARY_${lang}_FLAGS "-fPIC") + set(CMAKE_SHARED_LIBRARY_CREATE_${lang}_FLAGS "-shared") +endmacro()