diff --git a/CMakeLists.txt b/CMakeLists.txt index 1075142..f6f44db 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -102,16 +102,19 @@ ENDIF() MESSAGE("LOG4CPP_BUILD_SHARED is ${LOG4CPP_BUILD_SHARED}; LOG4CPP_BUILD_STATIC is ${LOG4CPP_BUILD_STATIC}") +set(LOG4CPP_INSTALL_TARGETS) IF (LOG4CPP_BUILD_STATIC) ADD_LIBRARY ( LOG4CPP_STATIC STATIC ${LOG4CPP_LIBRARY_SOURCES} ) IF (WIN32) # win will also build small .lib even when shared library is requested, this is to avoid name clash SET_TARGET_PROPERTIES( LOG4CPP_STATIC PROPERTIES OUTPUT_NAME ${LOG4CPP_LIBRARY_NAME}_static ) + TARGET_LINK_LIBRARIES ( LOG4CPP_STATIC PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${WIN_DEBUG_POSTFIX} ) ELSE() SET_TARGET_PROPERTIES( LOG4CPP_STATIC PROPERTIES OUTPUT_NAME ${LOG4CPP_LIBRARY_NAME} ) ENDIF() TARGET_COMPILE_DEFINITIONS ( LOG4CPP_STATIC PRIVATE $<$:_DEBUG DEBUG LOG4CPP_FIX_ERROR_COLLISION> ) TARGET_COMPILE_DEFINITIONS ( LOG4CPP_STATIC PRIVATE $<$:NDEBUG> ) + LIST(APPEND LOG4CPP_INSTALL_TARGETS LOG4CPP_STATIC) ENDIF (LOG4CPP_BUILD_STATIC) IF (LOG4CPP_BUILD_SHARED) @@ -121,24 +124,11 @@ IF (LOG4CPP_BUILD_SHARED) TARGET_COMPILE_DEFINITIONS ( LOG4CPP_SHARED PRIVATE $<$:NDEBUG> ) IF (WIN32) TARGET_COMPILE_DEFINITIONS ( LOG4CPP_SHARED PRIVATE -D_CRT_SECURE_NO_WARNINGS -DLOG4CPP_HAS_DLL -DLOG4CPP_BUILD_DLL ) + TARGET_LINK_LIBRARIES ( LOG4CPP_SHARED PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${WIN_DEBUG_POSTFIX} ) ENDIF (WIN32) + LIST(APPEND LOG4CPP_INSTALL_TARGETS LOG4CPP_SHARED) ENDIF (LOG4CPP_BUILD_SHARED) -IF (WIN32) - # RAD Studio specifics - IF (CMAKE_CXX_COMPILER MATCHES ".*bcc32c.*" OR CMAKE_CXX_COMPILER MATCHES ".*bcc64x.*") - MESSAGE(STATUS "Embarcadero C++Builder detected") - SET ( WIN_DEBUG_POSTFIX "" ) - SET_EMBT_TARGET( LOG4CPP_STATIC RTL ) - SET_EMBT_TARGET( LOG4CPP_SHARED RTL ) - ENDIF() - - TARGET_LINK_LIBRARIES ( LOG4CPP_STATIC PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${WIN_DEBUG_POSTFIX} ) - #SET_TARGET_PROPERTIES ( LOG4CPP_STATIC PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt${WIN_DEBUG_POSTFIX} ) - TARGET_LINK_LIBRARIES ( LOG4CPP_SHARED PRIVATE kernel32 user32 ws2_32 advapi32 msvcrt${WIN_DEBUG_POSTFIX} ) - #SET_TARGET_PROPERTIES ( LOG4CPP_SHARED PROPERTIES LINK_FLAGS /NODEFAULTLIB:msvcrt${WIN_DEBUG_POSTFIX} ) -ENDIF (WIN32) - INSTALL ( DIRECTORY include/log4cpp DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} @@ -147,11 +137,12 @@ INSTALL ( PATTERN ".svn" EXCLUDE PATTERN "*.am" EXCLUDE PATTERN "*.in" EXCLUDE + PATTERN ".cvsignore" EXCLUDE ) INSTALL ( - TARGETS ${LOG4CPP_STATIC} ${LOG4CPP_SHARED} + TARGETS ${LOG4CPP_INSTALL_TARGETS} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} )