Skip to content

Commit dae01f2

Browse files
committed
Fix Vulkan for Windows. Fix Linux build
1 parent fc4bf60 commit dae01f2

File tree

3 files changed

+36
-10
lines changed

3 files changed

+36
-10
lines changed

Calc/CMakeLists.txt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,13 @@ endif (RR_SHARED_CALC)
2323
target_include_directories(Calc PUBLIC inc)
2424
target_include_directories(Calc PRIVATE .)
2525

26+
target_compile_features(Calc PRIVATE cxx_std_11)
27+
2628
if (UNIX)
27-
target_compile_options(Calc PUBLIC -std=c++11 -fPIC)
28-
target_link_libraries(RadeonRays INTERFACE "-Wl,--no-undefined")
29+
target_compile_options(Calc PUBLIC -fPIC)
30+
target_link_libraries(Calc INTERFACE "-Wl,--no-undefined")
2931
elseif (APPLE)
30-
target_compile_options(Calc PUBLIC -std=c++11 -stdlib=libc++)
32+
target_compile_options(Calc PUBLIC -stdlib=libc++)
3133
endif (UNIX)
3234

3335
if (RR_USE_OPENCL)

RadeonRays/CMakeLists.txt

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,18 @@ set(SOURCES
125125
if (RR_EMBED_KERNELS)
126126
add_subdirectory(src/kernels)
127127
endif (RR_EMBED_KERNELS)
128-
128+
129+
if (RR_USE_VULKAN)
130+
#Anvil specify vulkan-1 lib directly so we need to add correct paths
131+
if (WIN32)
132+
link_directories ($ENV{VK_SDK_PATH}/Lib
133+
$ENV{VULKAN_SDK}/Lib)
134+
else()
135+
link_directories ($ENV{VK_SDK_PATH}/x86_64/lib
136+
$ENV{VULKAN_SDK}/x86_64/lib)
137+
endif (WIN32)
138+
endif (RR_USE_VULKAN)
139+
129140
#Declare RadeonRays library
130141
if (RR_ENABLE_STATIC)
131142
add_library(RadeonRays STATIC ${SOURCES})
@@ -147,7 +158,7 @@ target_include_directories(RadeonRays
147158
PRIVATE .
148159
PRIVATE ${EMBREE_INCLUDE_PATH})
149160

150-
target_link_libraries(RadeonRays PUBLIC Calc)
161+
target_link_libraries(RadeonRays PUBLIC Calc Threads::Threads)
151162

152163
target_compile_definitions(RadeonRays PRIVATE EXPORT_API)
153164

@@ -170,16 +181,17 @@ endif (RR_USE_OPENCL)
170181

171182
if (RR_USE_VULKAN)
172183
#Need to add Anvil to include path
173-
174184
target_include_directories(RadeonRays
175185
PRIVATE ${RadeonRaysSDK_SOURCE_DIR}/Anvil/deps
176186
PRIVATE ${RadeonRaysSDK_SOURCE_DIR}/Anvil/include)
177-
178-
target_link_libraries(RadeonRays PUBLIC Vulkan::Vulkan Anvil Threads::Threads)
187+
188+
target_link_libraries(RadeonRays PUBLIC Vulkan::Vulkan Anvil)
179189
endif (RR_USE_VULKAN)
180190

191+
target_compile_features(RadeonRays PRIVATE cxx_std_14)
192+
181193
if (UNIX)
182-
target_compile_options(RadeonRays PUBLIC -std=c++14 -msse4.2 -fPIC)
194+
target_compile_options(RadeonRays PUBLIC -msse4.2 -fPIC)
183195
target_link_libraries(RadeonRays INTERFACE "-Wl,--no-undefined")
184196

185197
#read version from header
@@ -188,7 +200,7 @@ if (UNIX)
188200

189201
set_target_properties(RadeonRays PROPERTIES SOVERSION ${RR_API_VERSION})
190202
elseif (APPLE)
191-
target_compile_options(RadeonRays PUBLIC -std=c++14 -stdlib=libc++)
203+
target_compile_options(RadeonRays PUBLIC -stdlib=libc++)
192204
endif (UNIX)
193205

194206

UnitTest/CMakeLists.txt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,18 @@ set(SOURCES
55
tiny_obj_loader.cpp
66
utils.cpp)
77

8+
if (RR_USE_VULKAN)
9+
#Anvil specify vulkan-1 lib directly so we need to add correct paths
10+
if (WIN32)
11+
link_directories ($ENV{VK_SDK_PATH}/Lib
12+
$ENV{VULKAN_SDK}/Lib)
13+
else()
14+
link_directories ($ENV{VK_SDK_PATH}/x86_64/lib
15+
$ENV{VULKAN_SDK}/x86_64/lib)
16+
endif (WIN32)
17+
endif (RR_USE_VULKAN)
18+
19+
820
add_executable(UnitTest ${SOURCES})
921

1022
target_link_libraries(UnitTest PRIVATE GTest RadeonRays Calc)

0 commit comments

Comments
 (0)