Skip to content

Commit 7eeffa9

Browse files
committed
CMake: Only enable fPic when building a .so
1 parent f8028ff commit 7eeffa9

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

CMakeLists.txt

+7-4
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,8 @@ set(CMAKE_CXX_STANDARD 14)
1313
set(CMAKE_CXX_STANDARD_REQUIRED ON)
1414
set(CMAKE_CXX_EXTENSIONS OFF)
1515

16-
# Need fPIC when compiling a shared library (e.g. libretro.so)
1716
# Must be at global scope, otherwise breaks -DPLAYER_BUILD_LIBLCF (see CMP0077)
1817
option(BUILD_SHARED_LIBS "Build shared easyrpg_libretro core" ON)
19-
if(BUILD_SHARED_LIBS)
20-
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
21-
endif()
2218

2319
# Source Files
2420
add_library(${PROJECT_NAME} STATIC
@@ -438,6 +434,12 @@ else()
438434
message(FATAL_ERROR "Invalid target platform")
439435
endif()
440436

437+
if(NOT PLAYER_BUILD_EXECUTABLE AND BUILD_SHARED_LIBS)
438+
# Need fPIC when compiling a shared library (e.g. libretro.so)
439+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
440+
set_property(TARGET ${PROJECT_NAME} PROPERTY POSITION_INDEPENDENT_CODE ON)
441+
endif()
442+
441443
if(WIN32)
442444
target_sources(${PROJECT_NAME} PRIVATE
443445
src/registry.cpp
@@ -788,6 +790,7 @@ else()
788790
src/platform/libretro/libretro_ui.cpp
789791
src/platform/libretro/libretro_ui.h)
790792
target_link_libraries(easyrpg_libretro ${PROJECT_NAME})
793+
set_target_properties(easyrpg_libretro PROPERTIES PREFIX "")
791794
else()
792795
message(FATAL_ERROR "Unsupported library target platform ${PLAYER_TARGET_PLATFORM}")
793796
endif()

0 commit comments

Comments
 (0)