Skip to content

Commit 9f5a225

Browse files
add static libs
1 parent 9358f8e commit 9f5a225

File tree

4 files changed

+64
-7
lines changed

4 files changed

+64
-7
lines changed

cmake/ta_core_config.cmake

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,22 @@ if(CMAKE_CUDA_COMPILER)
2525
enable_language(CUDA)
2626
find_package(CUDAToolkit REQUIRED)
2727
add_library(tensorarray_core SHARED ${TensorArray_Core_cc} ${TensorArray_Core_cu})
28+
add_library(tensorarray_core_static STATIC ${TensorArray_Core_cc} ${TensorArray_Core_cu})
29+
2830
set_property(TARGET tensorarray_core PROPERTY CUDA_STANDARD 17)
2931
set_property(TARGET tensorarray_core PROPERTY CUDA_STANDARD_REQUIRED ON)
3032
set_property(TARGET tensorarray_core PROPERTY CUDA_EXTENSIONS OFF)
3133
set_property(TARGET tensorarray_core PROPERTY CUDA_SEPARABLE_COMPILATION ON)
3234
target_include_directories(tensorarray_core PRIVATE $<$<COMPILE_LANGUAGE:C,CXX>:${CUDAToolkit_INCLUDE_DIRS}>)
3335
target_link_libraries(tensorarray_core PRIVATE $<$<LINK_LANGUAGE:C,CXX>:CUDA::cublas>)
36+
37+
set_property(TARGET tensorarray_core_static PROPERTY CUDA_STANDARD 17)
38+
set_property(TARGET tensorarray_core_static PROPERTY CUDA_STANDARD_REQUIRED ON)
39+
set_property(TARGET tensorarray_core_static PROPERTY CUDA_EXTENSIONS OFF)
40+
set_property(TARGET tensorarray_core_static PROPERTY CUDA_SEPARABLE_COMPILATION ON)
41+
target_include_directories(tensorarray_core_static PRIVATE $<$<COMPILE_LANGUAGE:C,CXX>:${CUDAToolkit_INCLUDE_DIRS}>)
42+
target_link_libraries(tensorarray_core_static PRIVATE $<$<LINK_LANGUAGE:C,CXX>:CUDA::cublas>)
43+
3444
if(MSVC)
3545
target_compile_definitions(tensorarray_core PRIVATE TENSOR_ARRAY_CORE_EXPORTS)
3646
endif()
@@ -40,7 +50,8 @@ if(CMAKE_CUDA_COMPILER)
4050
# set(CMAKE_CUDA_SEPARABLE_COMPILATION ON)
4151
# list(APPEND CMAKE_CUDA_FLAGS "--default-stream per-thread")
4252
else()
43-
add_library(tensorarray_core SHARED ${TensorArray_Core_cc} ${TensorArray_Core_cu})
53+
add_library(tensorarray_core SHARED ${TensorArray_Core_cc})
54+
add_library(tensorarray_core_static STATIC ${TensorArray_Core_cc})
4455
endif()
4556

4657

@@ -54,6 +65,15 @@ set_property(TARGET tensorarray_core PROPERTY CXX_STANDARD 17)
5465
set_property(TARGET tensorarray_core PROPERTY CXX_STANDARD_REQUIRED ON)
5566
set_property(TARGET tensorarray_core PROPERTY CXX_EXTENSIONS OFF)
5667

68+
69+
set_property(TARGET tensorarray_core_static PROPERTY C_STANDARD 11)
70+
set_property(TARGET tensorarray_core_static PROPERTY C_STANDARD_REQUIRED ON)
71+
set_property(TARGET tensorarray_core_static PROPERTY C_EXTENSIONS OFF)
72+
73+
set_property(TARGET tensorarray_core_static PROPERTY CXX_STANDARD 17)
74+
set_property(TARGET tensorarray_core_static PROPERTY CXX_STANDARD_REQUIRED ON)
75+
set_property(TARGET tensorarray_core_static PROPERTY CXX_EXTENSIONS OFF)
76+
5777
install(
5878
TARGETS tensorarray_core
5979
EXPORT TensorArrayTargets
@@ -65,4 +85,16 @@ install(
6585
COMPONENT Development
6686
)
6787

68-
add_library(TensorArray::Core ALIAS tensorarray_core)
88+
install(
89+
TARGETS tensorarray_core_static
90+
EXPORT TensorArrayTargets
91+
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
92+
COMPONENT Runtime
93+
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/tensor-array"
94+
COMPONENT Runtime
95+
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}/${TensorArray_Core_Dir}"
96+
COMPONENT Development
97+
)
98+
99+
add_library(TensorArray::core ALIAS tensorarray_core)
100+
add_library(TensorArray::core_static ALIAS tensorarray_core_static)

cmake/ta_interp_config.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ file(
2020
add_executable(tensorarray_interpreter ${TensorArray_Interpreter_src})
2121

2222
target_include_directories(tensorarray_interpreter PRIVATE ${PROJECT_SOURCE_DIR}/src)
23-
target_link_libraries(tensorarray_interpreter TensorArray::Core)
23+
target_link_libraries(tensorarray_interpreter TensorArray::core)
2424

2525
set_property(TARGET tensorarray_interpreter PROPERTY C_STANDARD 11)
2626
set_property(TARGET tensorarray_interpreter PROPERTY C_STANDARD_REQUIRED ON)
@@ -47,4 +47,4 @@ install(
4747
POST_BUILD
4848
COMMAND tensorarray_interpreter)
4949
]]
50-
add_executable(TensorArray::Interpreter ALIAS tensorarray_interpreter)
50+
add_executable(TensorArray::interpreter ALIAS tensorarray_interpreter)

cmake/ta_layers_config.cmake

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,13 @@ install(
1515
file(GLOB TensorArray_Layers_src "${PROJECT_SOURCE_DIR}/src/${TensorArray_Layers_Dir}/*.cc")
1616

1717
add_library(tensorarray_layers SHARED ${TensorArray_Layers_src})
18+
add_library(tensorarray_layers_static STATIC ${TensorArray_Layers_src})
1819

1920
target_include_directories(tensorarray_layers PRIVATE ${PROJECT_SOURCE_DIR}/src)
20-
target_link_libraries(tensorarray_layers TensorArray::Core)
21+
target_include_directories(tensorarray_layers_static PRIVATE ${PROJECT_SOURCE_DIR}/src)
22+
23+
target_link_libraries(tensorarray_layers TensorArray::core)
24+
target_link_libraries(tensorarray_layers_static TensorArray::core_static)
2125

2226
set_property(TARGET tensorarray_layers PROPERTY C_STANDARD 11)
2327
set_property(TARGET tensorarray_layers PROPERTY C_STANDARD_REQUIRED ON)
@@ -27,6 +31,15 @@ set_property(TARGET tensorarray_layers PROPERTY CXX_STANDARD 17)
2731
set_property(TARGET tensorarray_layers PROPERTY CXX_STANDARD_REQUIRED ON)
2832
set_property(TARGET tensorarray_layers PROPERTY CXX_EXTENSIONS OFF)
2933

34+
35+
set_property(TARGET tensorarray_layers_static PROPERTY C_STANDARD 11)
36+
set_property(TARGET tensorarray_layers_static PROPERTY C_STANDARD_REQUIRED ON)
37+
set_property(TARGET tensorarray_layers_static PROPERTY C_EXTENSIONS OFF)
38+
39+
set_property(TARGET tensorarray_layers_static PROPERTY CXX_STANDARD 17)
40+
set_property(TARGET tensorarray_layers_static PROPERTY CXX_STANDARD_REQUIRED ON)
41+
set_property(TARGET tensorarray_layers_static PROPERTY CXX_EXTENSIONS OFF)
42+
3043
if(MSVC)
3144
target_compile_definitions(tensorarray_layers PRIVATE TENSOR_ARRAY_LAYERS_EXPORTS)
3245
endif()
@@ -42,4 +55,16 @@ install(
4255
COMPONENT Development
4356
)
4457

45-
add_library(TensorArray::Layers ALIAS tensorarray_layers)
58+
install(
59+
TARGETS tensorarray_layers_static
60+
EXPORT TensorArrayTargets
61+
RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
62+
COMPONENT Runtime
63+
LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}/tensor-array"
64+
COMPONENT Runtime
65+
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}/${TensorArray_Layers_Dir}"
66+
COMPONENT Development
67+
)
68+
69+
add_library(TensorArray::layers ALIAS tensorarray_layers)
70+
add_library(TensorArray::layers_static ALIAS tensorarray_layers_static)

tests/tensor-array/core/cmake/ta_core_tests.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ create_test_sourcelist(
1717

1818
add_executable(tensorarray_core_tests ${TensorArray_tests})
1919
target_include_directories(tensorarray_core_tests PRIVATE ${PROJECT_SOURCE_DIR}/src)
20-
target_link_libraries(tensorarray_core_tests TensorArray::Core)
20+
target_link_libraries(tensorarray_core_tests TensorArray::core)
2121

2222
foreach(test ${TensorArray_tests_src})
2323
get_filename_component(TName ${test} NAME_WE)

0 commit comments

Comments
 (0)