From 2b05626f065509aa9e0cd52eef43c669d3cb62c5 Mon Sep 17 00:00:00 2001 From: Corey Richardson Date: Sat, 6 Sep 2014 02:44:32 -0400 Subject: [PATCH] Build with -fPIC by default Can be disabled with GLFW_FORCE_NOFPIC=YES. This can be important on 32-bit systems, where position independant code is more expensive. On 64-bit systems, there is no meaningful performance impact. Closes #199 --- CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index bc338bc4a..bfc5510d6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,6 +11,7 @@ set(GLFW_VERSION_FULL "${GLFW_VERSION}.${GLFW_VERSION_PATCH}${GLFW_VERSION_EXTRA set(LIB_SUFFIX "" CACHE STRING "Takes an empty string or 64. Directory where lib will be installed: lib or lib64") option(BUILD_SHARED_LIBS "Build shared libraries" OFF) +option(GLFW_FORCE_NOFPIC "Don't build with -fPIC" OFF) option(GLFW_BUILD_EXAMPLES "Build the GLFW example programs" ON) option(GLFW_BUILD_TESTS "Build the GLFW test programs" ON) option(GLFW_BUILD_DOCS "Build the GLFW documentation" ON) @@ -22,6 +23,10 @@ if (WIN32) option(GLFW_USE_OPTIMUS_HPG "Force use of high-performance GPU on Optimus systems" OFF) endif() +if (UNIX AND NOT GLFW_FORCE_NOFPIC) + set(CMAKE_C_FLAGS "-fPIC ${CMAKE_C_FLAGS}") +endif() + if (APPLE) option(GLFW_BUILD_UNIVERSAL "Build GLFW as a Universal Binary" OFF) option(GLFW_USE_CHDIR "Make glfwInit chdir to Contents/Resources" ON)