diff --git a/CMakeLists.txt b/CMakeLists.txt index 4eeac6d6..2962a76f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,8 @@ set(CMAKE_LEGACY_CYGWIN_WIN32 0) project(mosquitto) -cmake_minimum_required(VERSION 2.6) +cmake_minimum_required(VERSION 2.8) +cmake_policy(SET CMP0042 NEW) set (VERSION 1.4) @@ -30,8 +31,8 @@ if (WIN32) set (INCLUDEDIR include) set (DATAROOTDIR share) set (MANDIR man) - set (SHAREDEST .) - add_definitions("-D_CRT_SECURE_NO_WARNINGS") + set (SHAREDEST .) + add_definitions("-D_CRT_SECURE_NO_WARNINGS") add_definitions("-D_CRT_NONSTDC_NO_DEPRECATE") else (WIN32) set (BINDIR bin) @@ -43,6 +44,7 @@ else (WIN32) endif (${CMAKE_INSTALL_PREFIX} STREQUAL /usr) set (LIBDIR lib${LIB_SUFFIX}) + set (CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIBDIR}") set (INCLUDEDIR include) set (DATAROOTDIR share) set (MANDIR ${DATAROOTDIR}/man) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 73f7724f..224ec8d2 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -2,16 +2,6 @@ include_directories(${mosquitto_SOURCE_DIR} ${mosquitto_SOURCE_DIR}/src ${mosquitto_SOURCE_DIR}/lib ${OPENSSL_INCLUDE_DIR} ${STDBOOL_H_PATH} ${STDINT_H_PATH}) -if (UNIX) - if (APPLE) - # FIXME - something else needs fixing before this will work. - #set (CMAKE_EXE_LINKER_FLAGS "-Wl,-exported_symbols_list -Wl,${mosquitto_SOURCE_DIR}/src/linker-macosx.syms") - else (APPLE) - set (CMAKE_EXE_LINKER_FLAGS "-Wl,--dynamic-list=${mosquitto_SOURCE_DIR}/src/linker.syms") - set (CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "") - endif (APPLE) -endif (UNIX) - set (MOSQ_SRCS conf.c context.c @@ -109,18 +99,27 @@ if (${WITH_WEBSOCKETS} STREQUAL ON) endif (${WITH_WEBSOCKETS} STREQUAL ON) # Simple detect libuuid -FIND_PATH(UUID_HEADER uuid/uuid.h) -if (UUID_HEADER) - add_definitions(-DWITH_UUID) - set (MOSQ_LIBS ${MOSQ_LIBS} uuid) -endif (UUID_HEADER) +if(NOT APPLE) + FIND_PATH(UUID_HEADER uuid/uuid.h) + if (UUID_HEADER) + add_definitions(-DWITH_UUID) + set (MOSQ_LIBS ${MOSQ_LIBS} uuid) + endif (UUID_HEADER) +endif(NOT APPLE) target_link_libraries(mosquitto ${MOSQ_LIBS}) +if (UNIX) + if (APPLE) + set_target_properties(mosquitto PROPERTIES LINK_FLAGS "-Wl,-exported_symbols_list -Wl,${mosquitto_SOURCE_DIR}/src/linker-macosx.syms") + else (APPLE) + set_target_properties(mosquitto PROPERTIES LINK_FLAGS "-Wl,-exported_symbols_list -Wl,${mosquitto_SOURCE_DIR}/src/linker.syms") + endif (APPLE) +endif (UNIX) + install(TARGETS mosquitto RUNTIME DESTINATION ${SBINDIR} LIBRARY DESTINATION ${LIBDIR}) install(FILES mosquitto_plugin.h DESTINATION ${INCLUDEDIR}) - if (${WITH_TLS} STREQUAL ON) add_executable(mosquitto_passwd mosquitto_passwd.c) target_link_libraries(mosquitto_passwd ${OPENSSL_LIBRARIES}) diff --git a/src/linker-macosx.syms b/src/linker-macosx.syms index 8e0dfa9a..b60de069 100644 --- a/src/linker-macosx.syms +++ b/src/linker-macosx.syms @@ -1 +1 @@ -mosquitto_log_printf +_mosquitto_log_printf