diff options
author | Ronan Collobert <ronan@collobert.com> | 2014-11-03 09:33:18 +0300 |
---|---|---|
committer | Ronan Collobert <ronan@collobert.com> | 2014-11-03 09:33:18 +0300 |
commit | 0079b6b2d0bbfb2d585a735e6e39f54ed815ddf7 (patch) | |
tree | 00869c828e7e84fefdb9014bed3c6f7b1d17b7fa | |
parent | 28f70cde89715250196c11e74369039dbed16877 (diff) |
cleanup rpath to follow new cmake recommendations
-rw-r--r-- | CMakeLists.txt | 10 | ||||
-rw-r--r-- | cmake/MacroAddQtLuaModule.cmake | 14 | ||||
-rw-r--r-- | cmake/QtLuaPaths.cmake | 21 |
3 files changed, 20 insertions, 25 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a587c8..d38ca6f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,8 +2,14 @@ project(QtLua)
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6 FATAL_ERROR)
-CMAKE_POLICY(VERSION 2.6)
+IF(APPLE)
+ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.12 FATAL_ERROR)
+ CMAKE_POLICY(VERSION 2.8.12)
+ SET(CMAKE_MACOSX_RPATH TRUE) # @rpath in libs
+ELSE()
+ CMAKE_MINIMUM_REQUIRED(VERSION 2.8 FATAL_ERROR)
+ CMAKE_POLICY(VERSION 2.8)
+ENDIF()
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
diff --git a/cmake/MacroAddQtLuaModule.cmake b/cmake/MacroAddQtLuaModule.cmake index 29d40e9..795b4d4 100644 --- a/cmake/MacroAddQtLuaModule.cmake +++ b/cmake/MacroAddQtLuaModule.cmake @@ -11,24 +11,20 @@ MACRO(MACRO_ADD_QTLUA_MODULE modulename) -# FIND_PACKAGE(Lua REQUIRED) FIND_PACKAGE(QtLua REQUIRED) - + ADD_DEFINITIONS(${QTLUA_DEFINITIONS} ${LUA_DEFINITIONS}) INCLUDE_DIRECTORIES(${QTLUA_INCLUDE_DIR} ${LUA_INCLUDE_DIR}) - + ADD_LIBRARY("${modulename}" MODULE ${ARGN}) TARGET_LINK_LIBRARIES("${modulename}" ${QTLUA_LIBRARIES} ${LUA_LIBRARIES} ${QT_LIBRARIES}) - - SET_TARGET_PROPERTIES("${modulename}" PROPERTIES - PREFIX "" - INSTALL_NAME_DIR "@executable_path/${QtLua_INSTALL_BIN2CPATH}") - + SET_TARGET_PROPERTIES("${modulename}" PROPERTIES PREFIX "") + INSTALL(TARGETS "${modulename}" RUNTIME DESTINATION ${QtLua_INSTALL_LUA_CPATH_SUBDIR} LIBRARY DESTINATION ${QtLua_INSTALL_LUA_CPATH_SUBDIR}) - + ENDMACRO(MACRO_ADD_QTLUA_MODULE modulename) diff --git a/cmake/QtLuaPaths.cmake b/cmake/QtLuaPaths.cmake index a79c937..27ba408 100644 --- a/cmake/QtLuaPaths.cmake +++ b/cmake/QtLuaPaths.cmake @@ -40,27 +40,20 @@ FILE(RELATIVE_PATH QtLua_INSTALL_CMAKE_RIDBUS "${QtLua_INSTALL_CMAKE}" "${QtLua_ GET_FILENAME_COMPONENT(QtLua_INSTALL_BIN_RIDBUS "${QtLua_INSTALL_BIN_RIDBUS}" PATH) GET_FILENAME_COMPONENT(QtLua_INSTALL_CMAKE_RIDBUS "${QtLua_INSTALL_CMAKE_RIDBUS}" PATH) +FILE(RELATIVE_PATH QtLua_INSTALL_BIN2LIB "${QtLua_INSTALL_BIN}" "${QtLua_INSTALL_LIB}") + IF(UNIX) OPTION(QtLua_BUILD_WITH_RPATH "Build libraries with rpaths" ON) IF(QtLua_BUILD_WITH_RPATH) - SET(CMAKE_SKIP_BUILD_RPATH FALSE) - SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) - SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) FILE(RELATIVE_PATH QtLua_INSTALL_BIN2LIB "${QtLua_INSTALL_BIN}" "${QtLua_INSTALL_LIB}") - FILE(RELATIVE_PATH QtLua_INSTALL_BIN2CPATH - "${QtLua_INSTALL_BIN}" "${QtLua_INSTALL_LUA_CPATH}") - IF(NOT APPLE) - OPTION(WITH_DYNAMIC_RPATH - "Build libraries with executable relative rpaths (\$ORIGIN)" ON ) - ENDIF(NOT APPLE) - IF (WITH_DYNAMIC_RPATH OR APPLE) + IF(APPLE) + SET(CMAKE_MACOSX_RPATH ON) # @rpath in libs + SET(CMAKE_INSTALL_RPATH "@loader_path/${QtLua_INSTALL_BIN2LIB}") # exec + ELSE() SET(CMAKE_INSTALL_RPATH "\$ORIGIN/${QtLua_INSTALL_BIN2LIB}") - ELSE (WITH_DYNAMIC_RPATH OR APPLE) - SET(CMAKE_INSTALL_RPATH "${QtLua_INSTALL_LIB}") - ENDIF (WITH_DYNAMIC_RPATH OR APPLE) - SET(CMAKE_INSTALL_NAME_DIR "@executable_path/${QtLua_INSTALL_BIN2LIB}") + ENDIF() ENDIF(QtLua_BUILD_WITH_RPATH) ENDIF(UNIX) |