What is the idiomatic way in CMAKE to add the -fPIC compiler option?

You can set the position independent code property on all targets:

set(CMAKE_POSITION_INDEPENDENT_CODE ON)

or in a specific library:

add_library(lib1 lib1.cpp)
set_property(TARGET lib1 PROPERTY POSITION_INDEPENDENT_CODE ON)

Reference: CMAKE_POSITION_INDEPENDENT_CODE cmake build system


You can also pass the following command line option to cmake (in case this is not your cmake project and/or you can't or don't want to modify the project files):

-DCMAKE_POSITION_INDEPENDENT_CODE=ON

Tags:

C++

C

Cmake