From b3b42602416783979bfdb1dc2490720f63143987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 5 Oct 2014 17:03:42 +0200 Subject: [PATCH] Use POSITION_INDEPENDENT_CODE CMake property. Added new BUILD_STATIC_PIC configuration option, PIC is now set only when needed/requested. --- src/MagnumPlugins/AnyImageImporter/CMakeLists.txt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt b/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt index a6044be3d..760d2a7e7 100644 --- a/src/MagnumPlugins/AnyImageImporter/CMakeLists.txt +++ b/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 $ 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)