Skip to content

Commit

Permalink
fix the missing metadata in static library
Browse files Browse the repository at this point in the history
  • Loading branch information
yhmtsai committed Nov 26, 2019
1 parent ca2e369 commit a69e000
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 7 deletions.
22 changes: 22 additions & 0 deletions cmake/create_test.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,28 @@ function(ginkgo_create_test test_name)
add_test(NAME ${REL_BINARY_DIR}/${test_name} COMMAND ${TEST_TARGET_NAME})
endfunction(ginkgo_create_test)

function(ginkgo_create_test_link_hip test_name)
file(RELATIVE_PATH REL_BINARY_DIR
${PROJECT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR})
string(REPLACE "/" "_" TEST_TARGET_NAME "${REL_BINARY_DIR}/${test_name}")
add_executable(${TEST_TARGET_NAME} ${test_name}.cpp)
# Fix the missing metadata when building static library.
if(GINKGO_HIP_PLATFORM MATCHES "hcc" AND NOT BUILD_SHARED_LIBS)
set_target_properties(${TEST_TARGET_NAME} PROPERTIES LINKER_LANGUAGE HIP)
endif()
target_include_directories("${TEST_TARGET_NAME}"
PRIVATE
"$<BUILD_INTERFACE:${Ginkgo_BINARY_DIR}>"
)
set_target_properties(${TEST_TARGET_NAME} PROPERTIES
OUTPUT_NAME ${test_name})
if (GINKGO_CHECK_CIRCULAR_DEPS)
target_link_libraries(${TEST_TARGET_NAME} PRIVATE "${GINKGO_CIRCULAR_DEPS_FLAGS}")
endif()
target_link_libraries(${TEST_TARGET_NAME} PRIVATE ginkgo GTest::Main GTest::GTest ${ARGN})
add_test(NAME ${REL_BINARY_DIR}/${test_name} COMMAND ${TEST_TARGET_NAME})
endfunction(ginkgo_create_test_link_hip)

function(ginkgo_create_cuda_test test_name)
file(RELATIVE_PATH REL_BINARY_DIR
${PROJECT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR})
Expand Down
2 changes: 1 addition & 1 deletion hip/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ endif()
if(GINKGO_HIP_PLATFORM MATCHES "hcc")
# Fix the exception thrown bug with `hcc` backend and shared libraries
set_target_properties(ginkgo_hip PROPERTIES LINKER_LANGUAGE HIP)

# Ban `-hc` flag as INTERFACE_LINK_LIBRARIES since that is propagated when building
# a static library, and it's definitely not a known option to any compiler.
ginkgo_hip_ban_link_hcflag(hcc::hccrt)
Expand Down
12 changes: 6 additions & 6 deletions hip/test/solver/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ginkgo_create_test(bicgstab_kernels)
ginkgo_create_test(cg_kernels)
ginkgo_create_test(cgs_kernels)
ginkgo_create_test(fcg_kernels)
ginkgo_create_test(gmres_kernels)
ginkgo_create_test(ir_kernels)
ginkgo_create_test_link_hip(bicgstab_kernels)
ginkgo_create_test_link_hip(cg_kernels)
ginkgo_create_test_link_hip(cgs_kernels)
ginkgo_create_test_link_hip(fcg_kernels)
ginkgo_create_test_link_hip(gmres_kernels)
ginkgo_create_test_link_hip(ir_kernels)

0 comments on commit a69e000

Please sign in to comment.