From d7a130ec2b78c101bc20425fb665284d056895b1 Mon Sep 17 00:00:00 2001 From: Hannes Matuschek Date: Tue, 9 Dec 2014 14:07:06 +0100 Subject: [PATCH] Fixed INSTALL_NAME_DIR for MacOS X. --- CMakeLists.txt | 15 ++++++++------- src/CMakeLists.txt | 4 ++++ src/config.hh.in | 5 +++++ 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index df8265a..da0906f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,23 +77,24 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/src/config.hh.in # IF(UNIX AND NOT APPLE) INCLUDE(GNUInstallDirs) -ELSE(UNIX AND NOT APPLE) +ENDIF(UNIX AND NOT APPLE) +IF(UNIX AND APPLE) SET(CMAKE_INSTALL_LIBDIR "lib") SET(CMAKE_INSTALL_FULL_LIBDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") SET(CMAKE_INSTALL_INCLUDEDIR "include") SET(CMAKE_INSTALL_FULL_INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}") # Set RPATH under MacOS - SET(CMAKE_SKIP_BUILD_RPATH FALSE) - SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") + SET(CMAKE_SKIP_RPATH FALSE) + SET(CMAKE_SKIP_BUILD_RPATH FALSE) + SET(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}) SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) - #SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "--std=c++98 --stdlib=libc++") - #SET(LIBS ${LIBS} "c++") -ENDIF(UNIX AND NOT APPLE) + SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +ENDIF(UNIX AND APPLE) # Add core library, and unit tests add_subdirectory(src) IF(BUILD_UNIT_TESTS) -add_subdirectory(test) + add_subdirectory(test) ENDIF(BUILD_UNIT_TESTS) IF(BUILD_EXAMPLES) add_subdirectory(examples) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ce5bc8b..ac530b8 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -32,6 +32,8 @@ set_target_properties(libsdr PROPERTIES DEPENDS libsdr_hdrs) set_target_properties(libsdr PROPERTIES VERSION "${libsdr_VERSION_MAJOR}.${libsdr_VERSION_MINOR}.${libsdr_VERSION_PATCH}") set_target_properties(libsdr PROPERTIES SOVERION "${libsdr_VERSION_MAJOR}") +set_target_properties(libsdr PROPERTIES MACOSX_RPATH ${CMAKE_INSTALL_RPATH}) +set_target_properties(libsdr PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_FULL_LIBDIR}) target_link_libraries(libsdr ${LIBS}) install(TARGETS libsdr DESTINATION ${CMAKE_INSTALL_LIBDIR}) @@ -50,6 +52,8 @@ if(SDR_WITH_FFTW AND SDR_WITH_QT5) set_target_properties(libsdr-gui PROPERTIES VERSION "${libsdr_VERSION_MAJOR}.${libsdr_VERSION_MINOR}.${libsdr_VERSION_PATCH}") set_target_properties(libsdr-gui PROPERTIES SOVERION "${libsdr_VERSION_MAJOR}") + set_target_properties(libsdr-gui PROPERTIES INSTALL_NAME_DIR ${CMAKE_INSTALL_FULL_LIBDIR}) + set_target_properties(libsdr-gui PROPERTIES MACOSX_RPATH ${CMAKE_INSTALL_RPATH}) target_link_libraries(libsdr-gui libsdr ${Qt5Core_LIBRARIES} ${Qt5Widgets_LIBRARIES}) install(TARGETS libsdr-gui DESTINATION ${CMAKE_INSTALL_LIBDIR}) diff --git a/src/config.hh.in b/src/config.hh.in index 7301dce..f625c8f 100644 --- a/src/config.hh.in +++ b/src/config.hh.in @@ -4,3 +4,8 @@ #cmakedefine SDR_WITH_FFTW 1 #cmakedefine SDR_WITH_PORTAUDIO 1 #cmakedefine SDR_WITH_RTLSDR 1 + +#define SDR_VERSION_MAJOR ${libsdr_VERSION_MAJOR} +#define SDR_VERSION_MINOR ${libsdr_VERSION_MINOR} +#define SDR_VERSION_PATCH ${libsdr_VERSION_PATCH} +#define SDR_VERSION_STRING "${libsdr_VERSION_MAJOR}.${libsdr_VERSION_MINOR}.${libsdr_VERSION_PATCH}"