2 ## -------------------------------------------------------------------------
3 FUNCTION(cpPlugins_WrapInstances instances libprefix ver sver)
4 GET_FILENAME_COMPONENT(name ${instances} NAME_WE)
5 SET(i_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${name}.i")
6 SET(h_FILE "${CMAKE_CURRENT_BINARY_DIR}/${name}.h")
7 SET(s_FILE "${CMAKE_CURRENT_BINARY_DIR}/${name}.cxx")
8 SET(e_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${name}_extra.cxx")
9 SET(l_NAME "${libprefix}${name}")
10 SET(x_FILE "${CMAKE_CURRENT_BINARY_DIR}/${l_NAME}_Export.h")
12 OUTPUT ${h_FILE} ${s_FILE}
13 DEPENDS ${cpPlugins_CreateInstances_APP} ${i_FILE}
14 COMMAND ${cpPlugins_CreateInstances_APP} ${i_FILE} ${l_NAME} ${h_FILE} ${s_FILE}
17 ADD_LIBRARY(${l_NAME} SHARED ${s_FILE} ${e_FILE})
18 ELSE(EXISTS ${e_FILE})
19 ADD_LIBRARY(${l_NAME} SHARED ${s_FILE})
20 ENDIF(EXISTS ${e_FILE})
21 SET_TARGET_PROPERTIES(
26 GENERATE_EXPORT_HEADER(
29 EXPORT_MACRO_NAME ${l_NAME}_EXPORT
30 EXPORT_FILE_NAME ${x_FILE}
31 STATIC_DEFINE ${l_NAME}_BUILT_AS_STATIC
33 TARGET_LINK_LIBRARIES(${l_NAME} ${ARGN})
36 ## -------------------------------------------------------------------------
37 FUNCTION(cpPlugins_WrapPlugins libname ver sver headers sources other_sources qtheaders)
38 SET(host ${CMAKE_CURRENT_BINARY_DIR}/${libname}_Host.cxx)
41 DEPENDS ${cpPlugins_HostCreator_APP} ${headers}
42 COMMAND ${cpPlugins_HostCreator_APP} ${host} ${headers}
45 FOREACH(qth ${qtheaders})
46 QT4_WRAP_CPP(qth_moc ${qth})
47 SET(qtsources "${qtsources};${qth_moc}")
50 ADD_LIBRARY(${libname} SHARED ${host} ${sources} ${other_sources} ${qtsources})
51 SET_TARGET_PROPERTIES(
56 GENERATE_EXPORT_HEADER(
59 EXPORT_MACRO_NAME ${libname}_EXPORT
60 EXPORT_FILE_NAME ${CMAKE_CURRENT_BINARY_DIR}/${libname}_Export.h
61 STATIC_DEFINE ${libname}_BUILT_AS_STATIC
63 TARGET_LINK_LIBRARIES(${libname} ${ARGN})