Skip to content

Commit c3105f8

Browse files
authored
Merge pull request #179 from Kvalme/cmake_fixes
Fix CMake files
2 parents e8c7c26 + 3ad9937 commit c3105f8

File tree

5 files changed

+117
-24
lines changed

5 files changed

+117
-24
lines changed

CLW/CMakeLists.txt

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,26 @@ set(SOURCES
1111
CLWPlatform.cpp
1212
CLWProgram.cpp
1313
ParameterHolder.cpp
14-
ReferenceCounter.cpp)
14+
ReferenceCounter.cpp
15+
CLW.h
16+
CLWBuffer.h
17+
CLWCommandQueue.h
18+
CLWContext.h
19+
CLWDevice.h
20+
CLWEvent.h
21+
CLWExcept.h
22+
CLWImage2D.h
23+
CLWKernel.h
24+
CLWParallelPrimitives.h
25+
CLWPlatform.h
26+
CLWProgram.h
27+
ParameterHolder.h
28+
ReferenceCounter.h
29+
)
1530

1631
set(SHADER CL/CLW.cl)
17-
18-
add_library(CLW STATIC ${SOURCES})
32+
source_group("CL" ${SHADER})
33+
add_library(CLW STATIC ${SOURCES} ${SHADER})
1934

2035
if (UNIX)
2136
target_compile_options(CLW PUBLIC -std=c++11 -fPIC)
@@ -32,12 +47,12 @@ endif(RR_ALLOW_CPU_DEVICES)
3247
#CLW always embed its kernels
3348
target_compile_definitions(CLW PRIVATE RR_EMBED_KERNELS=1)
3449
add_custom_command(
35-
OUTPUT ${CLW_BINARY_DIR}/clwkernels_cl.h
36-
COMMAND ${PYTHON_EXECUTABLE} ${STRINGIFY_SCRIPT} ${CLW_SOURCE_DIR}/CL/ .cl opencl > ${CLW_BINARY_DIR}/clwkernels_cl.h
37-
MAIN_DEPENDENCY ${SHADER}
50+
OUTPUT "${CLW_BINARY_DIR}/clwkernels_cl.h"
51+
COMMAND "${PYTHON_EXECUTABLE}" "${STRINGIFY_SCRIPT}" "${CLW_SOURCE_DIR}/CL/" .cl opencl > "${CLW_BINARY_DIR}/clwkernels_cl.h"
52+
MAIN_DEPENDENCY "${SHADER}"
3853
COMMENT "Generating CLW kernel cache"
3954
VERBATIM)
40-
target_include_directories(CLW PRIVATE ${CLW_BINARY_DIR})
55+
target_include_directories(CLW PRIVATE "${CLW_BINARY_DIR}")
4156
target_include_directories(CLW PUBLIC .)
4257
add_custom_target(clw_kernel_cache_h DEPENDS "${CLW_BINARY_DIR}/clwkernels_cl.h")
4358

Calc/CMakeLists.txt

Lines changed: 39 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,54 @@
11
project(Calc CXX)
22

33
set(SOURCES src/calc.cpp)
4-
4+
set(PUBLIC_HEADERS
5+
inc/buffer.h
6+
inc/calc.h
7+
inc/calc_common.h
8+
inc/device.h
9+
inc/event.h
10+
inc/except.h
11+
inc/executable.h
12+
inc/primitives.h
13+
)
14+
515
if (RR_USE_OPENCL)
616
list(APPEND SOURCES
717
src/calc_clw.cpp
8-
src/device_clw.cpp)
18+
src/device_clw.cpp
19+
src/calc_clw.h
20+
src/calc_clw_common.h
21+
src/device_clw.h
22+
src/except_clw.h
23+
)
24+
list(APPEND PUBLIC_HEADERS
25+
inc/calc_cl.h
26+
inc/device_cl.h
27+
)
928
elseif (RR_USE_VULKAN)
1029
list(APPEND SOURCES
1130
src/calc_vkw.cpp
12-
src/device_vkw.cpp)
31+
src/device_vkw.cpp
32+
src/calc_vkw.h
33+
src/device_vkw.h
34+
src/event_vk.h
35+
src/common_vk.h
36+
src/except_vk.h
37+
src/executable_vk.h
38+
src/function_vk.h
39+
)
40+
list(APPEND PUBLIC_HEADERS
41+
inc/buffer_vk.h
42+
inc/calc_vk.h
43+
inc/device_vk.h
44+
)
1345
endif (RR_USE_OPENCL)
1446

1547
if (RR_SHARED_CALC)
16-
add_library(Calc SHARED ${SOURCES})
48+
add_library(Calc SHARED ${SOURCES} ${PUBLIC_HEADERS})
1749
target_compile_definitions(Calc PUBLIC CALC_EXPORT_API)
1850
else (NOT RR_SHARED_CALC)
19-
add_library(Calc STATIC ${SOURCES})
51+
add_library(Calc STATIC ${SOURCES} ${PUBLIC_HEADERS})
2052
target_compile_definitions(Calc PUBLIC CALC_STATIC_LIBRARY)
2153
endif (RR_SHARED_CALC)
2254

@@ -39,7 +71,7 @@ endif (RR_USE_OPENCL)
3971
if (RR_USE_VULKAN)
4072
#Need to add Anvil to include path
4173
target_include_directories(Calc
42-
PRIVATE ${RadeonRaysSDK_SOURCE_DIR}/Anvil/deps
43-
PRIVATE ${RadeonRaysSDK_SOURCE_DIR}/Anvil/include)
74+
PRIVATE "${RadeonRaysSDK_SOURCE_DIR}/Anvil/deps"
75+
PRIVATE "${RadeonRaysSDK_SOURCE_DIR}/Anvil/include")
4476
target_link_libraries(Calc PUBLIC Vulkan::Vulkan)
4577
endif (RR_USE_VULKAN)

RadeonRays/CMakeLists.txt

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,24 +89,43 @@ if (RR_USE_OPENCL)
8989
list (APPEND DEVICE_SOURCES
9090
src/device/calc_intersection_device_cl.cpp
9191
src/device/calc_intersection_device_cl.h)
92+
set(KERNEL_SOURCES
93+
src/kernels/CL/build_hlbvh.cl
94+
src/kernels/CL/common.cl
95+
src/kernels/CL/intersect_bvh2level_skiplinks.cl
96+
src/kernels/CL/intersect_bvh2_bittrail.cl
97+
src/kernels/CL/intersect_bvh2_lds.cl
98+
src/kernels/CL/intersect_bvh2_lds_fp16.cl
99+
src/kernels/CL/intersect_bvh2_short_stack.cl
100+
src/kernels/CL/intersect_bvh2_skiplinks.cl
101+
src/kernels/CL/intersect_hlbvh_stack.cl)
92102
endif (RR_USE_OPENCL)
93103

94104
if (RR_USE_VULKAN)
95105
list (APPEND DEVICE_SOURCES
96106
src/device/calc_intersection_device_vk.cpp
97107
src/device/calc_intersection_device_vk.h)
108+
set(KERNEL_SOURCES
109+
src/kernels/GLSL/bvh.comp
110+
src/kernels/GLSL/bvh2.comp
111+
src/kernels/GLSL/bvh2l.comp
112+
src/kernels/GLSL/bvh2_fp16.comp
113+
src/kernels/GLSL/fatbvh.comp
114+
src/kernels/GLSL/hlbvh.comp
115+
src/kernels/GLSL/hlbvh_build.comp)
98116
endif (RR_USE_VULKAN)
99117

100118
source_group("accelerator" FILES ${ACCELERATOR_SOURCES})
101119
source_group("api" FILES ${API_SOURCES})
102120
source_group("async" FILES ${ASYNC_SOURCES})
103121
source_group("device" FILES ${DEVICE_SOURCES})
104122
source_group("except" FILES ${EXCEPT_SOURCES})
105-
source_group("intersecotr" FILES ${INTERSECTOR_SOURCES})
123+
source_group("intersector" FILES ${INTERSECTOR_SOURCES})
106124
source_group("primitive" FILES ${PRIMITIVE_SOURCES})
107125
source_group("translator" FILES ${TRANSLATOR_SOURCES})
108126
source_group("util" FILES ${UTIL_SOURCES})
109127
source_group("world" FILES ${WORLD_SOURCES})
128+
source_group("kernels" FILES ${KERNEL_SOURCES})
110129

111130
#Gather all sources together
112131
set(SOURCES
@@ -120,7 +139,8 @@ set(SOURCES
120139
${PRIMITIVE_SOURCES}
121140
${TRANSLATOR_SOURCES}
122141
${UTIL_SOURCES}
123-
${WORLD_SOURCES})
142+
${WORLD_SOURCES}
143+
${KERNEL_SOURCES})
124144

125145
if (RR_EMBED_KERNELS)
126146
add_subdirectory(src/kernels)
@@ -183,8 +203,8 @@ endif (RR_USE_OPENCL)
183203
if (RR_USE_VULKAN)
184204
#Need to add Anvil to include path
185205
target_include_directories(RadeonRays
186-
PRIVATE ${RadeonRaysSDK_SOURCE_DIR}/Anvil/deps
187-
PRIVATE ${RadeonRaysSDK_SOURCE_DIR}/Anvil/include)
206+
PRIVATE "${RadeonRaysSDK_SOURCE_DIR}/Anvil/deps"
207+
PRIVATE "${RadeonRaysSDK_SOURCE_DIR}/Anvil/include")
188208

189209
target_link_libraries(RadeonRays PUBLIC Vulkan::Vulkan Anvil)
190210
target_compile_definitions(RadeonRays PUBLIC USE_VULKAN=1)

RadeonRays/include/radeon_rays.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ THE SOFTWARE.
4242
#else
4343
#define RRAPI __attribute__((visibility ("default")))
4444
#endif
45+
#else
46+
#define RRAPI
4547
#endif
4648
namespace RadeonRays
4749
{

UnitTest/CMakeLists.txt

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,49 @@ project(UnitTest CXX)
33
set(SOURCES
44
test_main.cpp
55
tiny_obj_loader.cpp
6-
utils.cpp)
6+
utils.cpp
7+
clw_test.h
8+
tiny_obj_loader.h
9+
utils.h
10+
)
11+
12+
if (RR_USE_OPENCL)
13+
list(APPEND SOURCES
14+
calc_test_cl.h
15+
clw_test_cl.h
16+
radeon_rays_apitest_cl.h
17+
radeon_rays_conformance_test_cl.h
18+
radeon_rays_test_cl.h
19+
radeon_rays_performance_test_cl.h)
20+
endif (RR_USE_OPENCL)
721

822
if (RR_USE_VULKAN)
923
#Anvil specify vulkan-1 lib directly so we need to add correct paths
1024
if (WIN32)
11-
link_directories ($ENV{VK_SDK_PATH}/Lib
12-
$ENV{VULKAN_SDK}/Lib)
25+
link_directories ("$ENV{VK_SDK_PATH}/Lib"
26+
"$ENV{VULKAN_SDK}/Lib")
1327
else()
14-
link_directories ($ENV{VK_SDK_PATH}/x86_64/lib
15-
$ENV{VULKAN_SDK}/x86_64/lib)
28+
link_directories ("$ENV{VK_SDK_PATH}/x86_64/lib"
29+
"$ENV{VULKAN_SDK}/x86_64/lib")
1630
endif (WIN32)
31+
list(APPEND SOURCES
32+
calc_test_vk.h
33+
radeon_rays_apitest_vk.h
34+
radeon_rays_conformance_test_vk.h
35+
radeon_rays_performance_test_vk.h)
1736
endif (RR_USE_VULKAN)
1837

38+
if (RR_USE_EMBREE)
39+
list(APPEND SOURCES
40+
radeon_rays_apitest_embree.h
41+
radeon_rays_conformance_test_embree.h)
42+
endif (RR_USE_EMBREE)
1943

2044
add_executable(UnitTest ${SOURCES})
2145

2246
target_link_libraries(UnitTest PRIVATE GTest RadeonRays Calc)
2347
#Add root for unittests. They use private headers
24-
target_include_directories(UnitTest PRIVATE ${RadeonRaysSDK_SOURCE_DIR})
48+
target_include_directories(UnitTest PRIVATE "${RadeonRaysSDK_SOURCE_DIR}")
2549

2650
if (RR_SHARED_CALC)
2751
target_compile_definitions(UnitTest PRIVATE CALC_IMPORT_API)

0 commit comments

Comments
 (0)