diff options
| author | Andreas Holzammer <andy@kdab.com> | 2010-10-04 11:36:02 +0000 | 
|---|---|---|
| committer | Andreas Holzammer <andy@kdab.com> | 2010-10-04 11:36:02 +0000 | 
| commit | e11ae2b0ff86a271bdc74e395bce83c0bee58d24 (patch) | |
| tree | ae2ebf82628e4827c5ed8e83b0764302135abe74 | |
| parent | 4d052a0b077c8ec8bd29407cb6a35811e79890c3 (diff) | |
| download | extra-cmake-modules-e11ae2b0ff86a271bdc74e395bce83c0bee58d24.tar.gz extra-cmake-modules-e11ae2b0ff86a271bdc74e395bce83c0bee58d24.tar.bz2 | |
- add static option to KDE4_ADD_PLUGIN
svn path=/trunk/KDE/kdelibs/; revision=1182379
| -rw-r--r-- | modules/KDE4Macros.cmake | 57 | 
1 files changed, 45 insertions, 12 deletions
| diff --git a/modules/KDE4Macros.cmake b/modules/KDE4Macros.cmake index fc66b481..3b8bb2a5 100644 --- a/modules/KDE4Macros.cmake +++ b/modules/KDE4Macros.cmake @@ -626,30 +626,63 @@ macro (KDE4_HANDLE_RPATH_FOR_EXECUTABLE _target_NAME)  endmacro (KDE4_HANDLE_RPATH_FOR_EXECUTABLE) -macro (KDE4_ADD_PLUGIN _target_NAME _with_PREFIX) -#is the first argument is "WITH_PREFIX" then keep the standard "lib" prefix, otherwise set the prefix empty -   if (${_with_PREFIX} STREQUAL "WITH_PREFIX") -      set(_first_SRC) -   else (${_with_PREFIX} STREQUAL "WITH_PREFIX") -      set(_first_SRC ${_with_PREFIX}) -   endif (${_with_PREFIX} STREQUAL "WITH_PREFIX") +macro (KDE4_ADD_PLUGIN _target_NAME ) +#if the first argument is "WITH_PREFIX" then keep the standard "lib" prefix, +#otherwise set the prefix empty -   set(_SRCS ${_first_SRC} ${ARGN}) +   set(_args ${ARGN}) +   # default to module +   set(_add_lib_param "MODULE") +   set(_with_pre FALSE) +    +   foreach(arg ${_args}) +      if (arg STREQUAL "WITH_PREFIX") +         set(_with_pre TRUE) +      endif (arg STREQUAL "WITH_PREFIX") +      if (arg STREQUAL "STATIC") +         set(_add_lib_param STATIC) +      endif (arg STREQUAL "STATIC") +      if (arg STREQUAL "SHARED") +         set(_add_lib_param SHARED) +      endif (arg STREQUAL "SHARED") +      if (arg STREQUAL "MODULE") +         set(_add_lib_param MODULE) +      endif (arg STREQUAL "MODULE") +   endforeach(arg) + +   if(_with_pre) +      list(REMOVE_ITEM _args "WITH_PREFIX") +   endif(_with_pre) +   if(_add_lib_param STREQUAL "STATIC") +      list(REMOVE_ITEM _args "STATIC") +   endif(_add_lib_param STREQUAL "STATIC") +   if (_add_lib_param STREQUAL "SHARED") +      list(REMOVE_ITEM _args "SHARED") +   endif (_add_lib_param STREQUAL "SHARED") +   if (_add_lib_param STREQUAL "MODULE") +       list(REMOVE_ITEM _args "MODULE") +   endif (_add_lib_param STREQUAL "MODULE") + +   set(_SRCS ${_args})     _automoc4_kde4_pre_target_handling(${_target_NAME} _SRCS) +   if("${_add_lib_param}" STREQUAL "STATIC") +      add_definitions(-DQT_STATICPLUGIN) +   endif("${_add_lib_param}" STREQUAL "STATIC") +     if (KDE4_ENABLE_FINAL)        kde4_create_final_files(${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp _separate_files ${_SRCS}) -      add_library(${_target_NAME} MODULE  ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp ${_separate_files}) +      add_library(${_target_NAME} ${_add_lib_param}   ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_final_cpp.cpp ${_separate_files})     else (KDE4_ENABLE_FINAL) -      add_library(${_target_NAME} MODULE ${_SRCS}) +      add_library(${_target_NAME} ${_add_lib_param}  ${_SRCS})     endif (KDE4_ENABLE_FINAL)     _automoc4_kde4_post_target_handling(${_target_NAME}) -   if (_first_SRC) +   if (NOT _with_pre)        set_target_properties(${_target_NAME} PROPERTIES PREFIX "") -   endif (_first_SRC) +   endif (NOT _with_pre)     # for shared libraries/plugins a -DMAKE_target_LIB is required     string(TOUPPER ${_target_NAME} _symbol) | 
