1 # Manages the shared library creation/use
2 # * Creates an option ${LIBRARY_NAME}_BUILD_SHARED
3 # * Generates the file ${LIBRARY_NAME}_EXPORT.h which
4 # defines the symbols ${LIBRARY_NAME}_EXPORT and ${LIBRARY_NAME}_CDECL
5 # to be used in exported classes/functions declarations
6 MACRO(CREA_DYNAMIC_LIBRARY_EXPORT_OPTION LIBRARY_NAME)
8 # STATIC OR DYNAMIC (SHARED) ?
9 OPTION( ${LIBRARY_NAME}_BUILD_SHARED
10 #JPR 8 Avr 2011 ON-> OFF, to avoid troubles with unaware users
11 "Build ${LIBRARY_NAME} as a shared library ( i.e. dynamic) ?" OFF)
12 IF (${LIBRARY_NAME}_BUILD_SHARED)
13 SET(${LIBRARY_NAME}_SHARED SHARED)
14 CREA_DEFINE(${LIBRARY_NAME}_BUILD_SHARED)
15 ENDIF(${LIBRARY_NAME}_BUILD_SHARED)
17 CREA_DEFINE(${LIBRARY_NAME}_EXPORT_SYMBOLS)
19 # ADDS CURRENT BINARY DIR TO INCLUDE DIRS
20 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
22 # CONFIGURES ${LIBRARY_NAME}_EXPORT.h
24 ${CREA_CMAKE_DIR}/LIBRARY_NAME_EXPORT.h.in
25 ${CMAKE_CURRENT_BINARY_DIR}/${LIBRARY_NAME}_EXPORT.h
28 # ADDS IT TO THE LIST OF HEADERS
29 SET(${LIBRARY_NAME}_HEADERS
30 ${${LIBRARY_NAME}_HEADERS}
31 ${CMAKE_CURRENT_BINARY_DIR}/${LIBRARY_NAME}_EXPORT.h
35 ENDMACRO(CREA_DYNAMIC_LIBRARY_EXPORT_OPTION LIBRARY_NAME)
38 # Manages the shared library creation/use
39 # * Generates the file ${LIBRARY_NAME}_EXPORT.h which
40 # defines the symbols ${LIBRARY_NAME}_EXPORT and ${LIBRARY_NAME}_CDECL
41 # to be used in exported classes/functions declarations
42 MACRO(CREA_DYNAMIC_LIBRARY_EXPORT LIBRARY_NAME)
44 CREA_DEFINE(${LIBRARY_NAME}_BUILD_SHARED)
45 CREA_DEFINE(${LIBRARY_NAME}_EXPORT_SYMBOLS)
47 # ADDS CURRENT BINARY DIR TO INCLUDE DIRS
48 INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
50 # CONFIGURES ${LIBRARY_NAME}_EXPORT.h
51 SET(LIBRARY_NAME ${LIBRARY_NAME})
53 ${CREA_CMAKE_DIR}/LIBRARY_NAME_EXPORT.h.in
54 ${CMAKE_CURRENT_BINARY_DIR}/${LIBRARY_NAME}_EXPORT.h
57 # ADDS IT TO THE LIST OF HEADERS
58 SET(${LIBRARY_NAME}_HEADERS
59 ${${LIBRARY_NAME}_HEADERS}
60 ${CMAKE_CURRENT_BINARY_DIR}/${LIBRARY_NAME}_EXPORT.h
63 ENDMACRO(CREA_DYNAMIC_LIBRARY_EXPORT LIBRARY_NAME)