Fixed osx compilation
This commit is contained in:
parent
a6296517aa
commit
1aba0d0d2e
7 changed files with 53 additions and 7 deletions
|
@ -109,7 +109,7 @@ endif()
|
|||
|
||||
# FIND SQLITE3
|
||||
if (ENABLE_SQLITE3)
|
||||
if (NOT CMAKE_COMPILER_IS_GNUCXX)
|
||||
if (MSVC)
|
||||
ADD_SUBDIRECTORY(${CMAKE_SOURCE_DIR}/msvc-deps)
|
||||
else()
|
||||
if (WIN32)
|
||||
|
@ -248,6 +248,16 @@ if(ENABLE_TESTS)
|
|||
endif()
|
||||
endif()
|
||||
|
||||
if (APPLE)
|
||||
FIND_LIBRARY(IOKIT_FRAMEWORK IOKit)
|
||||
FIND_LIBRARY(SECURITY_FRAMEWORK Security)
|
||||
FIND_LIBRARY(APPKIT_FRAMEWORK AppKit)
|
||||
FIND_LIBRARY(SYSTEMCONFIGURATION_FRAMEWORK SystemConfiguration)
|
||||
FIND_LIBRARY(SECURITYINTERFACE_FRAMEWORK SecurityInterface)
|
||||
MARK_AS_ADVANCED(IOKIT_FRAMEWORK APPKIT_FRAMEWORK SYSTEMCONFIGURATION_FRAMEWORK SECURITY_FRAMEWORK SECURITYINTERFACE_FRAMEWORK)
|
||||
SET (APPLE_FRAMEWORKS ${IOKIT_FRAMEWORK} ${APPKIT_FRAMEWORK} ${SYSTEMCONFIGURATION_FRAMEWORK} ${SECURITY_FRAMEWORK} ${SECURITYINTERFACE_FRAMEWORK})
|
||||
endif()
|
||||
|
||||
message(" Supported features")
|
||||
message("-----------------------")
|
||||
|
||||
|
|
|
@ -17,9 +17,11 @@
|
|||
#endif
|
||||
|
||||
#ifndef __FreeBSD__
|
||||
#ifndef __MACH__
|
||||
// malloc_trim
|
||||
#include "malloc.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Boost
|
||||
#include <boost/algorithm/string.hpp>
|
||||
|
@ -189,9 +191,11 @@ class SwiftenPlugin : public NetworkPlugin {
|
|||
|
||||
#ifndef WIN32
|
||||
#ifndef __FreeBSD__
|
||||
#ifndef __MACH__
|
||||
// force returning of memory chunks allocated by libxml2 to kernel
|
||||
malloc_trim(0);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -28,8 +28,10 @@
|
|||
#include <sys/resource.h>
|
||||
#include "libgen.h"
|
||||
#ifndef __FreeBSD__
|
||||
#ifndef __MACH__
|
||||
#include <malloc.h>
|
||||
#endif
|
||||
#endif
|
||||
#else
|
||||
#include <process.h>
|
||||
#define getpid _getpid
|
||||
|
@ -308,10 +310,12 @@ int main(int argc, char **argv)
|
|||
setlocale(LC_ALL, "");
|
||||
#ifndef WIN32
|
||||
#ifndef __FreeBSD__
|
||||
#ifndef __MACH__
|
||||
mallopt(M_CHECK_ACTION, 2);
|
||||
mallopt(M_PERTURB, 0xb);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef WIN32
|
||||
if (signal(SIGINT, spectrum_sigint_handler) == SIG_ERR) {
|
||||
|
|
|
@ -7,7 +7,10 @@ ADD_DEPENDENCIES(spectrum2_manager pb)
|
|||
SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/../../include/transport/protocol.pb.cc PROPERTIES GENERATED 1)
|
||||
|
||||
target_link_libraries(spectrum2_manager ${SWIFTEN_LIBRARY} ${PROTOBUF_LIBRARIES})
|
||||
|
||||
|
||||
if(APPLE)
|
||||
target_link_libraries(spectrum2_manager ${APPLE_FRAMEWORKS})
|
||||
endif()
|
||||
INSTALL(TARGETS spectrum2_manager RUNTIME DESTINATION bin)
|
||||
|
||||
INSTALL(FILES
|
||||
|
|
|
@ -3,7 +3,7 @@ FILE(GLOB SRC *.cpp *.h)
|
|||
FILE(GLOB_RECURSE SWIFTEN_SRC ../include/Swiften/*.cpp)
|
||||
|
||||
# Build without openssl on msvc
|
||||
if (CMAKE_COMPILER_IS_GNUCXX)
|
||||
if (NOT MSVC)
|
||||
string(REGEX REPLACE "[^;]+;?/Schannel/[^;]+;?" "" SWIFTEN_SRC "${SWIFTEN_SRC}")
|
||||
else()
|
||||
string(REGEX REPLACE "[^;]+;?/OpenSSL/[^;]+;?" "" SWIFTEN_SRC "${SWIFTEN_SRC}")
|
||||
|
@ -55,6 +55,9 @@ endif()
|
|||
SET_TARGET_PROPERTIES(transport PROPERTIES
|
||||
VERSION ${TRANSPORT_VERSION} SOVERSION ${TRANSPORT_VERSION}
|
||||
)
|
||||
if (APPLE)
|
||||
TARGET_LINK_LIBRARIES(transport ${APPLE_FRAMEWORKS})
|
||||
endif()
|
||||
|
||||
INSTALL(TARGETS transport LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR} COMPONENT libraries)
|
||||
|
||||
|
|
|
@ -29,19 +29,37 @@
|
|||
#ifndef WIN32
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
#ifdef BSD
|
||||
#ifdef __MACH__
|
||||
#include <mach/mach.h>
|
||||
#elif BSD
|
||||
#include <sys/types.h>
|
||||
#include <sys/sysctl.h>
|
||||
#include <sys/param.h>
|
||||
#include <sys/sysctl.h>
|
||||
#include <sys/user.h>
|
||||
|
||||
#endif
|
||||
|
||||
namespace Transport {
|
||||
|
||||
#ifndef WIN32
|
||||
#ifdef BSD
|
||||
#ifdef __MACH__
|
||||
|
||||
void process_mem_usage(double& vm_usage, double& resident_set, pid_t pid) {
|
||||
|
||||
struct task_basic_info t_info;
|
||||
mach_msg_type_number_t t_info_count = TASK_BASIC_INFO_COUNT;
|
||||
|
||||
if (KERN_SUCCESS != task_info(mach_task_self(),
|
||||
TASK_BASIC_INFO, (task_info_t)&t_info,
|
||||
&t_info_count)) {
|
||||
vm_usage = 0;
|
||||
resident_set = 0;
|
||||
return;
|
||||
}
|
||||
vm_usage = t_info.virtual_size;
|
||||
resident_set = t_info.resident_size;
|
||||
}
|
||||
#elif BSD
|
||||
void process_mem_usage(double& vm_usage, double& resident_set, pid_t pid) {
|
||||
int mib[4];
|
||||
size_t size;
|
||||
|
|
|
@ -33,9 +33,11 @@
|
|||
#include "Swiften/Elements/StreamError.h"
|
||||
#include "Swiften/Elements/MUCPayload.h"
|
||||
#include "Swiften/Elements/ChatState.h"
|
||||
#ifndef __FreeBSD__
|
||||
#ifndef __FreeBSD__
|
||||
#ifndef __MACH__
|
||||
#include "malloc.h"
|
||||
#endif
|
||||
#endif
|
||||
// #include "valgrind/memcheck.h"
|
||||
|
||||
namespace Transport {
|
||||
|
@ -130,9 +132,11 @@ void UserManager::removeUser(User *user, bool onUserBehalf) {
|
|||
delete user;
|
||||
#ifndef WIN32
|
||||
#ifndef __FreeBSD__
|
||||
#ifndef __MACH__
|
||||
malloc_trim(0);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
// VALGRIND_DO_LEAK_CHECK;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue