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_INSTALL_PREFIX=${DEPS_INSTALL_DIR}
|
||||||
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||||
-DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
|
-DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
|
||||||
-DCMAKE_GENERATOR=${CMAKE_GENERATOR})
|
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
||||||
if(NOT MSVC)
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON)
|
||||||
list(APPEND LIBVTERM_CONFIGURE_COMMAND "-DCMAKE_C_FLAGS:STRING=-fPIC")
|
|
||||||
endif()
|
|
||||||
set(LIBVTERM_BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>)
|
set(LIBVTERM_BUILD_COMMAND ${CMAKE_COMMAND} --build . --config $<CONFIG>)
|
||||||
set(LIBVTERM_INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>)
|
set(LIBVTERM_INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config $<CONFIG>)
|
||||||
else()
|
else()
|
||||||
|
@ -12,7 +12,8 @@ set(LUV_CMAKE_ARGS
|
|||||||
-DWITH_SHARED_LIBUV=ON
|
-DWITH_SHARED_LIBUV=ON
|
||||||
-DBUILD_SHARED_LIBS=OFF
|
-DBUILD_SHARED_LIBS=OFF
|
||||||
-DBUILD_STATIC_LIBS=ON
|
-DBUILD_STATIC_LIBS=ON
|
||||||
-DBUILD_MODULE=OFF)
|
-DBUILD_MODULE=OFF
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON)
|
||||||
|
|
||||||
if(USE_BUNDLED_LUAJIT)
|
if(USE_BUNDLED_LUAJIT)
|
||||||
list(APPEND LUV_CMAKE_ARGS -DWITH_LUA_ENGINE=LuaJit)
|
list(APPEND LUV_CMAKE_ARGS -DWITH_LUA_ENGINE=LuaJit)
|
||||||
@ -33,16 +34,11 @@ if(USE_BUNDLED_LIBUV)
|
|||||||
-DLIBUV_LIBRARIES=uv_a)
|
-DLIBUV_LIBRARIES=uv_a)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSVC)
|
list(APPEND LUV_CMAKE_ARGS
|
||||||
list(APPEND LUV_CMAKE_ARGS
|
"-DCMAKE_C_FLAGS:STRING=${LUV_INCLUDE_FLAGS}")
|
||||||
"-DCMAKE_C_FLAGS:STRING=${LUV_INCLUDE_FLAGS}")
|
if(CMAKE_GENERATOR MATCHES "Unix Makefiles" AND
|
||||||
else()
|
(CMAKE_SYSTEM_NAME MATCHES ".*BSD" OR CMAKE_SYSTEM_NAME MATCHES "DragonFly"))
|
||||||
list(APPEND LUV_CMAKE_ARGS
|
list(APPEND LUV_CMAKE_ARGS -DCMAKE_MAKE_PROGRAM=gmake)
|
||||||
"-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()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(USE_EXISTING_SRC_DIR)
|
if(USE_EXISTING_SRC_DIR)
|
||||||
|
@ -5,13 +5,9 @@ set(MSGPACK_CMAKE_ARGS
|
|||||||
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
||||||
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
||||||
-DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
|
-DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
${BUILD_TYPE_STRING})
|
${BUILD_TYPE_STRING})
|
||||||
|
|
||||||
if(NOT MSVC)
|
|
||||||
list(APPEND MSGPACK_CMAKE_ARGS
|
|
||||||
"-DCMAKE_C_FLAGS:STRING=-fPIC")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(USE_EXISTING_SRC_DIR)
|
if(USE_EXISTING_SRC_DIR)
|
||||||
unset(MSGPACK_URL)
|
unset(MSGPACK_URL)
|
||||||
endif()
|
endif()
|
||||||
|
@ -11,7 +11,6 @@ add_library(parser
|
|||||||
set_target_properties(
|
set_target_properties(
|
||||||
parser
|
parser
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
POSITION_INDEPENDENT_CODE ON
|
|
||||||
OUTPUT_NAME ${PARSERLANG}
|
OUTPUT_NAME ${PARSERLANG}
|
||||||
PREFIX ""
|
PREFIX ""
|
||||||
)
|
)
|
||||||
|
@ -861,7 +861,6 @@ endif()
|
|||||||
set_target_properties(
|
set_target_properties(
|
||||||
libnvim
|
libnvim
|
||||||
PROPERTIES
|
PROPERTIES
|
||||||
POSITION_INDEPENDENT_CODE ON
|
|
||||||
OUTPUT_NAME ${LIBNVIM_NAME}
|
OUTPUT_NAME ${LIBNVIM_NAME}
|
||||||
)
|
)
|
||||||
target_compile_definitions(libnvim PRIVATE MAKE_LIB)
|
target_compile_definitions(libnvim PRIVATE MAKE_LIB)
|
||||||
@ -885,11 +884,6 @@ else()
|
|||||||
target_link_libraries(nvim-test PRIVATE "-framework CoreServices")
|
target_link_libraries(nvim-test PRIVATE "-framework CoreServices")
|
||||||
endif()
|
endif()
|
||||||
target_include_directories(nvim-test PRIVATE ${LUAJIT_INCLUDE_DIRS})
|
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)
|
target_compile_definitions(nvim-test PRIVATE UNIT_TESTING)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user