mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
build: use CMAKE_POSITION_INDEPENDENT_CODE instead of -fPIC (#21947)
It's simpler to let cmake figure out what flags to add to each platforms to create position independent code rather than handling it ourselves. Also remove code that sets POSITION_INDEPENDENT_CODE property on SHARED and MODULE libraries, as it's already on by default.
This commit is contained in:
parent
151b9fc52e
commit
63e67468b4
@ -9,10 +9,8 @@ if(WIN32)
|
||||
-DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR}
|
||||
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||
-DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
|
||||
-DCMAKE_GENERATOR=${CMAKE_GENERATOR})
|
||||
if(NOT MSVC)
|
||||
list(APPEND LIBVTERM_CONFIGURE_COMMAND "-DCMAKE_C_FLAGS:STRING=-fPIC")
|
||||
endif()
|
||||
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON)
|
||||
set(LIBVTERM_BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>)
|
||||
set(LIBVTERM_INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>)
|
||||
else()
|
||||
|
@ -12,7 +12,8 @@ set(LUV_CMAKE_ARGS
|
||||
-DWITH_SHARED_LIBUV=ON
|
||||
-DBUILD_SHARED_LIBS=OFF
|
||||
-DBUILD_STATIC_LIBS=ON
|
||||
-DBUILD_MODULE=OFF)
|
||||
-DBUILD_MODULE=OFF
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON)
|
||||
|
||||
if(USE_BUNDLED_LUAJIT)
|
||||
list(APPEND LUV_CMAKE_ARGS -DWITH_LUA_ENGINE=LuaJit)
|
||||
@ -33,16 +34,11 @@ if(USE_BUNDLED_LIBUV)
|
||||
-DLIBUV_LIBRARIES=uv_a)
|
||||
endif()
|
||||
|
||||
if(MSVC)
|
||||
list(APPEND LUV_CMAKE_ARGS
|
||||
"-DCMAKE_C_FLAGS:STRING=${LUV_INCLUDE_FLAGS}")
|
||||
else()
|
||||
list(APPEND LUV_CMAKE_ARGS
|
||||
"-DCMAKE_C_FLAGS:STRING=${LUV_INCLUDE_FLAGS} -fPIC")
|
||||
if(CMAKE_GENERATOR MATCHES "Unix Makefiles" AND
|
||||
(CMAKE_SYSTEM_NAME MATCHES ".*BSD" OR CMAKE_SYSTEM_NAME MATCHES "DragonFly"))
|
||||
list(APPEND LUV_CMAKE_ARGS -DCMAKE_MAKE_PROGRAM=gmake)
|
||||
endif()
|
||||
list(APPEND LUV_CMAKE_ARGS
|
||||
"-DCMAKE_C_FLAGS:STRING=${LUV_INCLUDE_FLAGS}")
|
||||
if(CMAKE_GENERATOR MATCHES "Unix Makefiles" AND
|
||||
(CMAKE_SYSTEM_NAME MATCHES ".*BSD" OR CMAKE_SYSTEM_NAME MATCHES "DragonFly"))
|
||||
list(APPEND LUV_CMAKE_ARGS -DCMAKE_MAKE_PROGRAM=gmake)
|
||||
endif()
|
||||
|
||||
if(USE_EXISTING_SRC_DIR)
|
||||
|
@ -5,13 +5,9 @@ set(MSGPACK_CMAKE_ARGS
|
||||
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
||||
-DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||
${BUILD_TYPE_STRING})
|
||||
|
||||
if(NOT MSVC)
|
||||
list(APPEND MSGPACK_CMAKE_ARGS
|
||||
"-DCMAKE_C_FLAGS:STRING=-fPIC")
|
||||
endif()
|
||||
|
||||
if(USE_EXISTING_SRC_DIR)
|
||||
unset(MSGPACK_URL)
|
||||
endif()
|
||||
|
@ -11,7 +11,6 @@ add_library(parser
|
||||
set_target_properties(
|
||||
parser
|
||||
PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
OUTPUT_NAME ${PARSERLANG}
|
||||
PREFIX ""
|
||||
)
|
||||
|
@ -861,7 +861,6 @@ endif()
|
||||
set_target_properties(
|
||||
libnvim
|
||||
PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
OUTPUT_NAME ${LIBNVIM_NAME}
|
||||
)
|
||||
target_compile_definitions(libnvim PRIVATE MAKE_LIB)
|
||||
@ -885,11 +884,6 @@ else()
|
||||
target_link_libraries(nvim-test PRIVATE "-framework CoreServices")
|
||||
endif()
|
||||
target_include_directories(nvim-test PRIVATE ${LUAJIT_INCLUDE_DIRS})
|
||||
set_target_properties(
|
||||
nvim-test
|
||||
PROPERTIES
|
||||
POSITION_INDEPENDENT_CODE ON
|
||||
)
|
||||
target_compile_definitions(nvim-test PRIVATE UNIT_TESTING)
|
||||
endif()
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user