Skip to content

Commit 1ee34e7

Browse files
committed
fix cmake dependencies
1 parent 13c0351 commit 1ee34e7

File tree

12 files changed

+44
-42
lines changed

12 files changed

+44
-42
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ find_package(Git)
88

99
set(CMAKE_C_STANDARD 11)
1010
set(CMAKE_C_STANDARD_REQUIRED ON)
11+
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
1112

1213
if (MSVC)
1314
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)

src/driver/CMakeLists.txt

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,32 @@
11
add_library(driver driver.c cli.c)
2-
target_link_libraries(driver PUBLIC "$<BUILD_INTERFACE:shady>" shady_spirv shady_c shady_emit_common)
3-
set_property(TARGET driver PROPERTY POSITION_INDEPENDENT_CODE ON)
4-
5-
add_executable(slim slim.c)
6-
target_link_libraries(slim PRIVATE driver)
7-
install(TARGETS slim EXPORT shady_export_set)
2+
target_link_libraries(driver PUBLIC "$<BUILD_INTERFACE:api>")
3+
target_link_libraries(driver PUBLIC "$<BUILD_INTERFACE:shady>")
4+
set_target_properties(driver PROPERTIES OUTPUT_NAME "shady_driver")
5+
install(TARGETS driver EXPORT shady_export_set)
86

97
if (TARGET shady_s2s)
108
target_compile_definitions(driver PUBLIC SPV_PARSER_PRESENT)
11-
target_link_libraries(driver PRIVATE shady_s2s)
9+
target_link_libraries(driver PUBLIC "$<BUILD_INTERFACE:shady_s2s>")
1210
endif()
1311

1412
if (TARGET shady_fe_llvm)
15-
target_link_libraries(driver PRIVATE shady_fe_llvm)
1613
target_compile_definitions(driver PUBLIC LLVM_PARSER_PRESENT)
14+
target_link_libraries(driver PUBLIC "$<BUILD_INTERFACE:shady_fe_llvm>")
15+
endif ()
1716

17+
add_executable(slim slim.c)
18+
target_link_libraries(slim PRIVATE driver)
19+
install(TARGETS slim EXPORT shady_export_set)
20+
21+
if (TARGET shady_fe_llvm)
1822
add_executable(vcc vcc.c)
19-
target_link_libraries(vcc PRIVATE driver api common)
23+
target_link_libraries(vcc PRIVATE driver api)
2024
install(TARGETS vcc EXPORT shady_export_set)
2125

2226
if (WIN32)
2327
add_custom_command(TARGET vcc POST_BUILD
24-
COMMAND ${CMAKE_COMMAND} -E copy -t $<TARGET_FILE_DIR:vcc> $<TARGET_RUNTIME_DLLS:vcc>
25-
COMMAND_EXPAND_LISTS
28+
COMMAND ${CMAKE_COMMAND} -E copy -t $<TARGET_FILE_DIR:vcc> $<TARGET_RUNTIME_DLLS:vcc>
29+
COMMAND_EXPAND_LISTS
2630
)
2731
endif ()
2832
endif ()

src/frontends/llvm/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,3 @@ message(FATAL_ERROR "Failed to find LLVM-C target, but found LLVM module earlier
1919
endif()
2020

2121
target_link_libraries(shady_fe_llvm PRIVATE api common shady)
22-
set_property(TARGET shady_fe_llvm PROPERTY POSITION_INDEPENDENT_CODE ON)

src/frontends/slim/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@ add_library(slim_parser STATIC parser.c token.c)
22
target_link_libraries(slim_parser PUBLIC common api)
33
target_include_directories(slim_parser PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>)
44
target_include_directories(slim_parser INTERFACE "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../../>")
5-
set_property(TARGET slim_parser PROPERTY POSITION_INDEPENDENT_CODE ON)
65
target_link_libraries(shady PUBLIC "$<BUILD_INTERFACE:slim_parser>")

src/frontends/spirv/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
11
add_library(shady_s2s STATIC s2s.c)
2-
target_link_libraries(shady_s2s PRIVATE api common shady)
2+
target_link_libraries(shady_s2s PRIVATE api common)
33
target_link_libraries(shady_s2s PRIVATE "$<BUILD_INTERFACE:SPIRV-Headers::SPIRV-Headers>")
4-
set_property(TARGET shady_s2s PROPERTY POSITION_INDEPENDENT_CODE ON)

src/runtime/CMakeLists.txt

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
add_library(runtime SHARED runtime.c runtime_program.c)
2-
target_link_libraries(runtime PUBLIC shady)
3-
target_link_libraries(runtime PUBLIC "$<BUILD_INTERFACE:driver>")
4-
set_property(TARGET runtime PROPERTY POSITION_INDEPENDENT_CODE ON)
1+
add_library(runtime runtime.c runtime_program.c)
2+
target_link_libraries(runtime PUBLIC driver)
53
set_target_properties(runtime PROPERTIES OUTPUT_NAME "shady_runtime")
64

75
add_subdirectory(vulkan)

src/runtime/cuda/CMakeLists.txt

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@ find_package(CUDAToolkit)
33
if (CUDAToolkit_FOUND)
44
message("Cuda toolkit found.")
55
add_library(cuda_runtime STATIC cuda_runtime.c cuda_runtime_buffer.c cuda_runtime_program.c)
6-
target_link_libraries(cuda_runtime PUBLIC api)
7-
target_link_libraries(cuda_runtime PUBLIC shady)
6+
target_link_libraries(cuda_runtime PRIVATE api)
87
target_link_libraries(cuda_runtime PRIVATE "$<BUILD_INTERFACE:common>")
98
target_link_libraries(cuda_runtime PRIVATE "$<BUILD_INTERFACE:murmur3>")
109
target_link_libraries(cuda_runtime PRIVATE CUDA::cudart CUDA::cuda_driver CUDA::nvrtc)
11-
set_property(TARGET cuda_runtime PROPERTY POSITION_INDEPENDENT_CODE ON)
10+
1211
target_link_libraries(runtime PRIVATE cuda_runtime)
1312
target_compile_definitions(runtime PUBLIC CUDA_BACKEND_PRESENT=1)
1413
endif ()

src/runtime/vulkan/CMakeLists.txt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@ find_package(Vulkan)
33
if (Vulkan_FOUND)
44
message("Vulkan found")
55
add_library(vk_runtime STATIC vk_runtime.c vk_runtime_device.c vk_runtime_program.c vk_runtime_dispatch.c vk_runtime_buffer.c)
6-
target_link_libraries(vk_runtime PUBLIC api)
7-
target_link_libraries(vk_runtime PUBLIC shady)
6+
target_link_libraries(vk_runtime PRIVATE api)
87
target_link_libraries(vk_runtime PRIVATE "$<BUILD_INTERFACE:common>")
98
target_link_libraries(vk_runtime PRIVATE "$<BUILD_INTERFACE:murmur3>")
109
target_link_libraries(vk_runtime PRIVATE Vulkan::Headers Vulkan::Vulkan)
11-
set_property(TARGET vk_runtime PROPERTY POSITION_INDEPENDENT_CODE ON)
12-
target_link_libraries(runtime PRIVATE vk_runtime)
10+
1311
target_compile_definitions(runtime PUBLIC VK_BACKEND_PRESENT=1)
12+
target_link_libraries(runtime PRIVATE "$<BUILD_INTERFACE:vk_runtime>")
1413
else()
1514
message("Vulkan not found, runtime component will not be built.")
1615
endif()

src/shady/CMakeLists.txt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,8 @@ set(SHADY_SOURCES
9696
passes/spirv_lift_globals_ssbo.c
9797
)
9898

99-
add_library(shady OBJECT ${SHADY_SOURCES})
99+
add_library(shady ${SHADY_SOURCES})
100100
target_include_directories(shady PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>)
101-
set_property(TARGET shady PROPERTY POSITION_INDEPENDENT_CODE ON)
102101

103102
if (WIN32)
104103
if (MSVC)
@@ -111,7 +110,7 @@ endif()
111110
add_subdirectory(internal)
112111
add_subdirectory(emit)
113112

114-
target_link_libraries(shady PUBLIC "api")
115-
target_link_libraries(shady PUBLIC "$<BUILD_INTERFACE:common>")
113+
target_link_libraries(shady PRIVATE "api")
114+
target_link_libraries(shady INTERFACE "$<BUILD_INTERFACE:common>")
116115
target_link_libraries(shady PRIVATE "$<BUILD_INTERFACE:SPIRV-Headers::SPIRV-Headers>")
117116
target_link_libraries(shady PRIVATE "$<BUILD_INTERFACE:m>")

src/shady/emit/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,3 @@ add_subdirectory(c)
44
add_library(shady_emit_common OBJECT
55
common.c
66
)
7-
8-
target_link_libraries(shady PRIVATE "$<BUILD_INTERFACE:shady_spirv>")
9-
target_link_libraries(shady PRIVATE "$<BUILD_INTERFACE:shady_c>")

0 commit comments

Comments
 (0)