summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaram Qashat <cyberbotx@cyberbotx.com>2012-12-25 02:20:00 -0500
committerNaram Qashat <cyberbotx@cyberbotx.com>2012-12-25 02:20:00 -0500
commit077ae273698c7e0f22e96dc22ac1a2632b4352d4 (patch)
treeaaae8bd79130cf3acd8ea9b80ca8022ffd7bc076
parentd4e1c958e27596af44db9be9046528f6d9116312 (diff)
Fix linking libraries so their rpath is set correctly and isn't stripped on install.
-rw-r--r--CMakeLists.txt4
-rw-r--r--modules/CMakeLists.txt4
-rw-r--r--src/CMakeLists.txt2
3 files changed, 5 insertions, 5 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ad3b9ca06..8133d45aa 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -212,13 +212,13 @@ endif(CMAKE244_OR_BETTER)
# If extra include directories were specified, tell cmake about them.
if(EXTRA_INCLUDE)
include_directories(${EXTRA_INCLUDE})
- link_directories(${EXTRA_INCLUDE})
endif(EXTRA_INCLUDE)
# If extra library directories were specified, tell cmake about them.
if(EXTRA_LIBS)
foreach(LIB ${EXTRA_LIBS})
- set(CXXFLAGS "${CXXFLAGS} -L${LIB}")
+ set(LDFLAGS "${LDFLAGS} -L${LIB}")
+ link_directories(${LIB})
endforeach(LIB)
endif(EXTRA_LIBS)
diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt
index e1adec666..32fccd2d4 100644
--- a/modules/CMakeLists.txt
+++ b/modules/CMakeLists.txt
@@ -76,7 +76,7 @@ foreach(MODULE_FOLDER ${MODULES_FOLDERS})
else(WIN32)
set(WIN32_NO_LIBS)
endif(WIN32)
- set_target_properties(${SO} PROPERTIES LINKER_LANGUAGE CXX PREFIX "" SUFFIX "" LINK_FLAGS "${TEMP_LDFLAGS} ${WIN32_NO_LIBS}")
+ set_target_properties(${SO} PROPERTIES LINKER_LANGUAGE CXX PREFIX "" SUFFIX "" LINK_FLAGS "${TEMP_LDFLAGS} ${WIN32_NO_LIBS}" INSTALL_RPATH_USE_LINK_PATH ON BUILD_WITH_INSTALL_RPATH ON)
add_dependencies(${SO} ${PROGRAM_NAME})
target_link_libraries(${SO} ${PROGRAM_NAME})
if(GETTEXT_FOUND)
@@ -179,7 +179,7 @@ foreach(MODULE_FOLDER ${MODULES_FOLDERS})
# Generate the module and set it's linker flags, also set it to depend on the main Anope executable to be built beforehand
add_library(${SO} MODULE ${MODULES_SUBDIR_SRCS})
- set_target_properties(${SO} PROPERTIES LINKER_LANGUAGE CXX PREFIX "" SUFFIX "" LINK_FLAGS "${SUBDIR_LDFLAGS}")
+ set_target_properties(${SO} PROPERTIES LINKER_LANGUAGE CXX PREFIX "" SUFFIX "" LINK_FLAGS "${SUBDIR_LDFLAGS}" INSTALL_RPATH_USE_LINK_PATH ON BUILD_WITH_INSTALL_RPATH ON)
add_dependencies(${SO} ${PROGRAM_NAME})
target_link_libraries(${SO} ${PROGRAM_NAME})
if(GETTEXT_FOUND)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 8012e03e1..d2bc9f050 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -82,7 +82,7 @@ endif(MSVC)
# Generate the Anope executable and set it's linker flags, also set it to export it's symbols even though it's not a module
add_executable(${PROGRAM_NAME} ${SRC_SRCS})
-set_target_properties(${PROGRAM_NAME} PROPERTIES LINKER_LANGUAGE CXX LINK_FLAGS "${LDFLAGS}" ENABLE_EXPORTS ON)
+set_target_properties(${PROGRAM_NAME} PROPERTIES LINKER_LANGUAGE CXX LINK_FLAGS "${LDFLAGS}" ENABLE_EXPORTS ON INSTALL_RPATH_USE_LINK_PATH ON BUILD_WITH_INSTALL_RPATH ON)
# On Windows, also link Anope to the wsock32 and Ws2_32 library, as well as set the version
if(WIN32)
target_link_libraries(${PROGRAM_NAME} wsock32 Ws2_32 ${LINK_LIBS} ${GETTEXT_LIBRARIES} ${WIN32_MEMORY})