diff options
Diffstat (limited to 'cmake/libutils.cmake')
-rw-r--r-- | cmake/libutils.cmake | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/cmake/libutils.cmake b/cmake/libutils.cmake index 8f2b66f73c3..2d125c8a103 100644 --- a/cmake/libutils.cmake +++ b/cmake/libutils.cmake @@ -205,7 +205,7 @@ ENDMACRO() # Create libs from libs. # Merges static libraries, creates shared libraries out of convenience libraries. -# MYSQL_MERGE_LIBRARIES(target [STATIC|SHARED|MODULE] +# MERGE_LIBRARIES(target [STATIC|SHARED|MODULE] # [linklib1 .... linklibN] # [EXPORTS exported_func1 .... exportedFuncN] # [OUTPUT_NAME output_name] @@ -213,7 +213,7 @@ ENDMACRO() MACRO(MERGE_LIBRARIES) CMAKE_PARSE_ARGUMENTS(ARG "EXPORTS;OUTPUT_NAME" - "STATIC;SHARED;MODULE" + "STATIC;SHARED;MODULE;NOINSTALL" ${ARGN} ) LIST(GET ARG_DEFAULT_ARGS 0 TARGET) @@ -247,10 +247,11 @@ MACRO(MERGE_LIBRARIES) ENDIF() ENDFOREACH() ENDIF() - - CREATE_EXPORT_FILE(SRC ${TARGET} "${ARG_EXPORTS}") - ADD_LIBRARY(${TARGET} SHARED ${SRC}) + IF(WIN32 AND NOT ARG_NOINSTALL) + ADD_VERSION_INFO(${TARGET} VFT_DLL SRC ) + ENDIF() + ADD_LIBRARY(${TARGET} ${LIBTYPE} ${SRC}) TARGET_LINK_LIBRARIES(${TARGET} ${LIBS}) IF(ARG_OUTPUT_NAME) SET_TARGET_PROPERTIES(${TARGET} PROPERTIES OUTPUT_NAME "${ARG_OUTPUT_NAME}") @@ -258,6 +259,9 @@ MACRO(MERGE_LIBRARIES) ELSE() MESSAGE(FATAL_ERROR "Unknown library type") ENDIF() + IF(NOT ARG_NOINSTALL) + MYSQL_INSTALL_TARGETS(${TARGET} DESTINATION lib) + ENDIF() ENDMACRO() FUNCTION(GET_DEPENDEND_OS_LIBS target result) @@ -279,11 +283,11 @@ ENDFUNCTION() MACRO(RESTRICT_SYMBOL_EXPORTS target) IF(CMAKE_COMPILER_IS_GNUCXX AND UNIX) GET_TARGET_PROPERTY(COMPILE_FLAGS ${target} COMPILE_FLAGS) - IF(NOT COMPILE_FLAGS) - # Avoid COMPILE_FLAGS-NOTFOUND - SET(COMPILE_FLAGS) - ENDIF() + IF(NOT COMPILE_FLAGS) + # Avoid COMPILE_FLAGS-NOTFOUND + SET(COMPILE_FLAGS) + ENDIF() SET_TARGET_PROPERTIES(${target} PROPERTIES - COMPILE_FLAGS "${COMPILE_FLAGS} -fvisibility=hidden") + COMPILE_FLAGS "${COMPILE_FLAGS} -fvisibility=hidden") ENDIF() ENDMACRO() |