summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEgor <egor.yusov@gmail.com>2019-01-22 06:34:45 +0000
committerEgor <egor.yusov@gmail.com>2019-01-22 06:34:45 +0000
commit2bc2a60b09b93804c4b6097b055a3b29f405d55d (patch)
treeb61fc6bded78ace317e7ed6a46d59689c497988a
parentFixed --whole-archive flag on Mac and iOS (diff)
downloadDiligentCore-2bc2a60b09b93804c4b6097b055a3b29f405d55d.tar.gz
DiligentCore-2bc2a60b09b93804c4b6097b055a3b29f405d55d.zip
Fixed rpath installation issues on Linux
-rw-r--r--BuildUtils.cmake2
-rw-r--r--CMakeLists.txt8
l---------External/vulkan/libs/linux/libvulkan.so (renamed from External/vulkan/libs/libvulkan.so)0
l---------External/vulkan/libs/linux/libvulkan.so.1 (renamed from External/vulkan/libs/libvulkan.so.1)0
-rwxr-xr-xExternal/vulkan/libs/linux/libvulkan.so.1.1.73 (renamed from External/vulkan/libs/libvulkan.so.1.1.73)bin425594 -> 425594 bytes
-rw-r--r--Graphics/GraphicsEngineVulkan/CMakeLists.txt9
-rw-r--r--appveyor.yml17
7 files changed, 24 insertions, 12 deletions
diff --git a/BuildUtils.cmake b/BuildUtils.cmake
index cea1acc7..8177d06f 100644
--- a/BuildUtils.cmake
+++ b/BuildUtils.cmake
@@ -209,7 +209,7 @@ function(install_core_lib _TARGET)
elseif(TARGET_TYPE STREQUAL SHARED_LIBRARY)
install(TARGETS ${_TARGET}
ARCHIVE DESTINATION "${DILIGENT_CORE_INSTALL_DIR}/lib"
- LIBRARY DESTINATION "${DILIGENT_CORE_INSTALL_DIR}/lib"
+ LIBRARY DESTINATION "${DILIGENT_CORE_INSTALL_DIR}/bin"
RUNTIME DESTINATION "${DILIGENT_CORE_INSTALL_DIR}/bin"
)
endif()
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7c43195c..36e3c005 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -267,10 +267,16 @@ else()
endif()
if(NOT DILIGENT_CORE_INSTALL_DIR)
- set(DILIGENT_CORE_INSTALL_DIR "DiligentCore")
+ set(DILIGENT_CORE_INSTALL_DIR "DiligentCore" CACHE INTERNAL "DiligentCore installation directory")
endif()
SET(DILIGENT_CORE_INSTALL_LIBS_LIST "" CACHE INTERNAL "Core libraries installation list")
+# CMAKE_INSTALL_PREFIX must be absolute otherwise rpath won't work
+if(NOT IS_ABSOLUTE ${CMAKE_INSTALL_PREFIX})
+ set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_PREFIX}" CACHE FILEPATH "Installation path" FORCE)
+ message("Transformed CMAKE_INSTALL_PREFIX into absolute path: " ${CMAKE_INSTALL_PREFIX})
+endif()
+
include(BuildUtils.cmake)
add_subdirectory(Utilities)
diff --git a/External/vulkan/libs/libvulkan.so b/External/vulkan/libs/linux/libvulkan.so
index 2a67c929..2a67c929 120000
--- a/External/vulkan/libs/libvulkan.so
+++ b/External/vulkan/libs/linux/libvulkan.so
diff --git a/External/vulkan/libs/libvulkan.so.1 b/External/vulkan/libs/linux/libvulkan.so.1
index 539d42aa..539d42aa 120000
--- a/External/vulkan/libs/libvulkan.so.1
+++ b/External/vulkan/libs/linux/libvulkan.so.1
diff --git a/External/vulkan/libs/libvulkan.so.1.1.73 b/External/vulkan/libs/linux/libvulkan.so.1.1.73
index 8702e1fa..8702e1fa 100755
--- a/External/vulkan/libs/libvulkan.so.1.1.73
+++ b/External/vulkan/libs/linux/libvulkan.so.1.1.73
Binary files differ
diff --git a/Graphics/GraphicsEngineVulkan/CMakeLists.txt b/Graphics/GraphicsEngineVulkan/CMakeLists.txt
index 251bee28..18887fea 100644
--- a/Graphics/GraphicsEngineVulkan/CMakeLists.txt
+++ b/Graphics/GraphicsEngineVulkan/CMakeLists.txt
@@ -181,7 +181,7 @@ if(PLATFORM_WIN32)
elseif(PLATFORM_MACOS)
find_library(Vulkan_LIBRARY NAMES MoltenVK PATHS "../../External/vulkan/libs/macOS")
else()
- find_library(Vulkan_LIBRARY NAMES vulkan HINTS "$ENV{VULKAN_SDK}/lib" "../../External/vulkan/libs")
+ find_library(Vulkan_LIBRARY NAMES vulkan HINTS "$ENV{VULKAN_SDK}/lib" "../../External/vulkan/libs/linux")
endif()
list(APPEND PRIVATE_DEPENDENCIES ${Vulkan_LIBRARY})
@@ -244,6 +244,13 @@ else()
)
endif()
+if(PLATFORM_LINUX)
+ get_filename_component(VULKAN_LIBRARY_PATH ${Vulkan_LIBRARY} DIRECTORY)
+ set_target_properties(GraphicsEngineVk-shared PROPERTIES
+ INSTALL_RPATH "${VULKAN_LIBRARY_PATH}"
+ )
+endif()
+
set_common_target_properties(GraphicsEngineVk-shared)
set_common_target_properties(GraphicsEngineVk-static)
diff --git a/appveyor.yml b/appveyor.yml
index 25f084f3..eba06d75 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -18,25 +18,24 @@ environment:
cmake_args: -D CMAKE_INSTALL_PREFIX=install
platform_name: Windows
-
# Win32/x64/Release
- platform: x64
configuration: Release
cmake_args: -D CMAKE_INSTALL_PREFIX=install
platform_name: Windows
-
+
# UWP/x64/Debug
- platform: x64
configuration: Debug
cmake_args: -D CMAKE_INSTALL_PREFIX=install -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0
platform_name: UWP
-
+
# UWP/x64/Release
- platform: x64
configuration: Release
cmake_args: -D CMAKE_INSTALL_PREFIX=install -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0
platform_name: UWP
-
+
# Win32/x86/Release
- platform: Win32
configuration: Release
@@ -48,13 +47,13 @@ environment:
configuration: Release
cmake_args: -D CMAKE_INSTALL_PREFIX=install -D CMAKE_SYSTEM_NAME=WindowsStore -D CMAKE_SYSTEM_VERSION=10.0
platform_name: UWP
-
+
# Win32-8.1SDK/x64/Release
- platform: x64
configuration: Release
cmake_args: -D CMAKE_INSTALL_PREFIX=install -D CMAKE_SYSTEM_VERSION=8.1
platform_name: Windows8.1
-
+
# clone directory
clone_folder: c:\projects\DiligentCore
@@ -71,7 +70,7 @@ install:
- cmake --version
- echo %PLATFORM%
- if "%PLATFORM%"=="x64" ( set generator="Visual Studio 15 2017 Win64" ) else ( set generator="Visual Studio 15 2017" )
-
+
before_build:
- cd c:\projects\DiligentCore
- echo %generator%
@@ -84,10 +83,10 @@ build:
parallel: true
after_test:
- - cd install
+ - cd cmk_build\install
- 7z a DiligentCore-"%platform_name%"-"%PLATFORM%"-"%CONFIGURATION%".zip
DiligentCore\*
artifacts:
- - path: install\*.zip
+ - path: cmk_build\install\*.zip
name: artifacts-zip