Commit 63aa954a by Antonio Maiorano

CMake: use target_link_options

Replace set_target_properties(... LINK_FLAGS ...) with target_link_options. This allows us to keep our link flags variables. Note that this requires CMake 3.13. Bug: b/145758253 Change-Id: I8425f7a8e6db087d4000a721971a0dadfed6c3a5 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/44110Tested-by: 's avatarAntonio Maiorano <amaiorano@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarBen Clayton <bclayton@google.com>
parent bccfe71f
......@@ -551,10 +551,6 @@ if(NOT MSVC)
endif()
unset(USE_EXCEPTIONS)
# Transform SWIFTSHADER_LINK_FLAGS from semicolon delimited to whitespace
# delimited (what is expected by LINK_FLAGS)
string(REPLACE ";" " " SWIFTSHADER_LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}")
###########################################################
# libbacktrace and boost
###########################################################
......
......@@ -62,7 +62,6 @@ add_library(gl_common EXCLUDE_FROM_ALL
set_target_properties(gl_common PROPERTIES
POSITION_INDEPENDENT_CODE 1
FOLDER "SwiftShader GL"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
)
target_include_directories(gl_common
......@@ -80,6 +79,11 @@ target_compile_options(gl_common
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(gl_common
PUBLIC
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(gl_common
PRIVATE
${ROOT_PROJECT_LINK_LIBRARIES}
......
......@@ -59,7 +59,6 @@ add_library(vk_device EXCLUDE_FROM_ALL
set_target_properties(vk_device PROPERTIES
POSITION_INDEPENDENT_CODE 1
FOLDER "SwiftShader VK"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
)
target_include_directories(vk_device
......@@ -73,6 +72,11 @@ target_compile_options(vk_device
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(vk_device
PUBLIC
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(vk_device
PUBLIC
vk_pipeline
......
......@@ -61,7 +61,6 @@ add_library(gl_main EXCLUDE_FROM_ALL
set_target_properties(gl_main PROPERTIES
POSITION_INDEPENDENT_CODE 1
FOLDER "SwiftShader GL"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
)
target_include_directories(gl_main
......@@ -81,6 +80,11 @@ target_compile_options(gl_main
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(gl_main
PUBLIC
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(gl_main
PUBLIC
gl_common
......
......@@ -42,7 +42,6 @@ add_library(libGLESCommon
set_target_properties(libGLESCommon PROPERTIES
POSITION_INDEPENDENT_CODE 1
FOLDER "OpenGL"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
PREFIX ""
)
......@@ -62,6 +61,11 @@ target_compile_options(libGLESCommon
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(libGLESCommon
PUBLIC
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(libGLESCommon
PRIVATE
${ROOT_PROJECT_LINK_LIBRARIES}
......
......@@ -127,7 +127,6 @@ add_library(GLCompiler
set_target_properties(GLCompiler PROPERTIES
POSITION_INDEPENDENT_CODE 1
FOLDER "OpenGL"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
)
target_include_directories(GLCompiler
......@@ -146,6 +145,11 @@ target_compile_options(GLCompiler
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(GLCompiler
PUBLIC
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(GLCompiler
PRIVATE
${ROOT_PROJECT_LINK_LIBRARIES}
......
......@@ -59,7 +59,6 @@ set_target_properties(libEGL PROPERTIES
POSITION_INDEPENDENT_CODE 1
FOLDER "OpenGL"
PREFIX ""
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
......@@ -83,6 +82,11 @@ target_compile_options(libEGL
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(libEGL
PUBLIC
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(libEGL
PRIVATE
libGLESCommon
......
......@@ -65,7 +65,6 @@ set_target_properties(libGLES_CM PROPERTIES
POSITION_INDEPENDENT_CODE 1
FOLDER "OpenGL"
PREFIX ""
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
......@@ -90,6 +89,11 @@ target_compile_options(libGLES_CM
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(libGLES_CM
PUBLIC
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(libGLES_CM
PRIVATE
libGLESCommon
......
......@@ -81,7 +81,6 @@ set_target_properties(libGLESv2 PROPERTIES
POSITION_INDEPENDENT_CODE 1
FOLDER "OpenGL"
PREFIX ""
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
......@@ -106,6 +105,11 @@ target_compile_options(libGLESv2
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(libGLESv2
PUBLIC
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(libGLESv2
PRIVATE
libGLESCommon
......
......@@ -87,7 +87,6 @@ add_dependencies(vk_pipeline spirv_tools_ext_includes)
set_target_properties(vk_pipeline PROPERTIES
POSITION_INDEPENDENT_CODE 1
FOLDER "SwiftShader VK"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
)
target_include_directories(vk_pipeline
......@@ -103,6 +102,11 @@ target_compile_options(vk_pipeline
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(vk_pipeline
PUBLIC
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(vk_pipeline
PUBLIC
vk_base
......
......@@ -69,7 +69,6 @@ add_library(gl_renderer EXCLUDE_FROM_ALL
set_target_properties(gl_renderer PROPERTIES
POSITION_INDEPENDENT_CODE 1
FOLDER "SwiftShader GL"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
)
target_include_directories(gl_renderer
......@@ -87,6 +86,11 @@ target_compile_options(gl_renderer
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(gl_renderer
PUBLIC
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(gl_renderer
PUBLIC
gl_shader
......
......@@ -53,7 +53,6 @@ add_library(gl_shader EXCLUDE_FROM_ALL
set_target_properties(gl_shader PROPERTIES
POSITION_INDEPENDENT_CODE 1
FOLDER "SwiftShader GL"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
)
target_include_directories(gl_shader
......@@ -71,6 +70,11 @@ target_compile_options(gl_shader
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(gl_shader
PUBLIC
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(gl_shader
PUBLIC
gl_main
......
......@@ -56,7 +56,6 @@ add_library(vk_system EXCLUDE_FROM_ALL
set_target_properties(vk_system PROPERTIES
POSITION_INDEPENDENT_CODE 1
FOLDER "SwiftShader VK"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
)
target_include_directories(vk_system
......@@ -68,3 +67,8 @@ target_compile_options(vk_system
PRIVATE
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(vk_system
PUBLIC
${SWIFTSHADER_LINK_FLAGS}
)
......@@ -137,8 +137,6 @@ if(FUCHSIA)
# have system libraries available, so ensure it does not depend on libc++.so.
list(APPEND VULKAN_LINKER_FLAGS "-static-libstdc++")
endif()
# Convert list to space-delimited string for LINK_FLAGS
string(REPLACE ";" " " VULKAN_LINKER_FLAGS "${VULKAN_LINKER_FLAGS}")
add_library(vk_swiftshader SHARED
${VULKAN_SRC_FILES}
......@@ -147,7 +145,6 @@ add_library(vk_swiftshader SHARED
set_target_properties(vk_swiftshader PROPERTIES
POSITION_INDEPENDENT_CODE 1
FOLDER "SwiftShader VK"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS} ${VULKAN_LINKER_FLAGS}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
......@@ -169,6 +166,12 @@ target_compile_definitions(vk_swiftshader
$<$<CONFIG:Debug>:"DEBUGGER_WAIT_DIALOG">
)
target_link_options(vk_swiftshader
PRIVATE
${SWIFTSHADER_LINK_FLAGS}
${VULKAN_LINKER_FLAGS}
)
target_link_libraries(vk_swiftshader
PRIVATE
vk_system
......
......@@ -60,7 +60,6 @@ add_library(vk_wsi EXCLUDE_FROM_ALL
set_target_properties(vk_wsi PROPERTIES
POSITION_INDEPENDENT_CODE 1
FOLDER "SwiftShader VK"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
)
target_include_directories(vk_wsi
......@@ -74,6 +73,11 @@ target_compile_options(vk_wsi
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(vk_wsi
PUBLIC
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(vk_wsi
PUBLIC
vk_pipeline
......
......@@ -33,7 +33,6 @@ add_executable(gles-unittests
set_target_properties(gles-unittests PROPERTIES
FOLDER "Tests"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
......@@ -52,6 +51,11 @@ target_compile_options(gles-unittests
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(gles-unittests
PRIVATE
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(gles-unittests
PRIVATE
libEGL
......
......@@ -33,7 +33,6 @@ add_executable(math-unittests
set_target_properties(math-unittests PROPERTIES
FOLDER "Tests"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
......@@ -42,6 +41,11 @@ target_compile_options(math-unittests
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(math-unittests
PRIVATE
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(math-unittests
PRIVATE
vk_system
......
......@@ -33,7 +33,6 @@ add_executable(ReactorBenchmarks
set_target_properties(ReactorBenchmarks PROPERTIES
FOLDER "Benchmarks"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
......@@ -42,6 +41,11 @@ target_compile_options(ReactorBenchmarks
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(ReactorBenchmarks
PRIVATE
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(ReactorBenchmarks
PRIVATE
benchmark::benchmark
......
......@@ -33,7 +33,6 @@ add_executable(ReactorUnitTests
set_target_properties(ReactorUnitTests PROPERTIES
FOLDER "Tests"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
......@@ -42,6 +41,11 @@ target_compile_options(ReactorUnitTests
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(ReactorUnitTests
PRIVATE
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(ReactorUnitTests
PRIVATE
${Reactor}
......
......@@ -33,7 +33,6 @@ add_executable(system-benchmarks
set_target_properties(system-benchmarks PROPERTIES
FOLDER "Benchmarks"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
......@@ -42,6 +41,11 @@ target_compile_options(system-benchmarks
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(system-benchmarks
PRIVATE
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(system-benchmarks
PRIVATE
benchmark::benchmark
......
......@@ -34,7 +34,6 @@ add_executable(system-unittests
set_target_properties(system-unittests PROPERTIES
FOLDER "Tests"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
......@@ -43,6 +42,11 @@ target_compile_options(system-unittests
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(system-unittests
PRIVATE
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(system-unittests
PRIVATE
vk_system
......
......@@ -44,7 +44,6 @@ add_dependencies(vk-unittests
set_target_properties(vk-unittests PROPERTIES
FOLDER "Tests"
LINK_FLAGS "${SWIFTSHADER_LINK_FLAGS}"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}"
)
......@@ -63,6 +62,11 @@ target_compile_options(vk-unittests
${ROOT_PROJECT_COMPILE_OPTIONS}
)
target_link_options(vk-unittests
PRIVATE
${SWIFTSHADER_LINK_FLAGS}
)
target_link_libraries(vk-unittests
PRIVATE
gtest
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment