Browse Source

Use POSITION_INDEPENDENT_CODE CMake property.

Added new BUILD_STATIC_PIC configuration option, PIC is now set only
when needed/requested.
pull/205/head
Vladimír Vondruš 12 years ago
parent
commit
b3b4260241
  1. 14
      src/MagnumPlugins/AnyImageImporter/CMakeLists.txt

14
src/MagnumPlugins/AnyImageImporter/CMakeLists.txt

@ -29,17 +29,25 @@ set(AnyImageImporter_SRCS
set(AnyImageImporter_HEADERS
AnyImageImporter.h)
# Objects shared between plugin and test library
add_library(AnyImageImporterObjects OBJECT
${AnyImageImporter_SRCS}
${AnyImageImporter_HEADERS})
set_target_properties(AnyImageImporterObjects PROPERTIES COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS} -DAnyImageImporterObjects_EXPORTS")
set_target_properties(AnyImageImporterObjects PROPERTIES COMPILE_FLAGS "-DAnyImageImporterObjects_EXPORTS")
if(NOT BUILD_STATIC OR BUILD_STATIC_PIC)
set_target_properties(AnyImageImporterObjects PROPERTIES POSITION_INDEPENDENT_CODE ON)
endif()
# AnyImageImporter plugin
add_plugin(AnyImageImporter ${MAGNUM_PLUGINS_IMPORTER_DEBUG_INSTALL_DIR} ${MAGNUM_PLUGINS_IMPORTER_RELEASE_INSTALL_DIR}
AnyImageImporter.conf
$<TARGET_OBJECTS:AnyImageImporterObjects>
pluginRegistration.cpp)
target_link_libraries(AnyImageImporter
${MAGNUM_LIBRARIES})
if(BUILD_STATIC_PIC)
set_target_properties(AnyImageImporter PROPERTIES POSITION_INDEPENDENT_CODE ON)
endif()
target_link_libraries(AnyImageImporter ${MAGNUM_LIBRARIES})
install(FILES ${AnyImageImporter_HEADERS} DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/AnyImageImporter)

Loading…
Cancel
Save