Skip to content

Commit 95c0edd

Browse files
committed
cmake: java.cmake rework
1 parent c8e6978 commit 95c0edd

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

cmake/java.cmake

+11-4
Original file line numberDiff line numberDiff line change
@@ -171,15 +171,22 @@ configure_file(
171171
set(is_windows "$<PLATFORM_ID:Windows>")
172172
set(is_not_windows "$<NOT:$<PLATFORM_ID:Windows>>")
173173

174+
set(is_shared "$<STREQUAL:$<TARGET_PROPERTY:Foo,TYPE>,SHARED_LIBRARY>")
175+
set(need_unix_lib "$<AND:${is_not_windows},${is_shared}>")
176+
set(need_windows_lib "$<AND:${is_windows},${is_shared}>")
174177

175178
add_custom_command(
176179
OUTPUT ${JAVA_NATIVE_PROJECT_DIR}/timestamp
177180
COMMAND ${CMAKE_COMMAND} -E remove -f timestamp
178181
COMMAND ${CMAKE_COMMAND} -E make_directory ${JAVA_RESSOURCES_PATH}/${JAVA_NATIVE_PROJECT}
179-
COMMAND ${CMAKE_COMMAND} -E copy
180-
$<$<NOT:$<PLATFORM_ID:Windows>>:$<TARGET_SONAME_FILE:Foo>>
181-
$<$<NOT:$<PLATFORM_ID:Windows>>:$<TARGET_SONAME_FILE:Bar>>
182-
$<$<NOT:$<PLATFORM_ID:Windows>>:$<TARGET_SONAME_FILE:FooBar>>
182+
COMMAND ${CMAKE_COMMAND} -E
183+
$<IF:${is_shared},copy,true>
184+
$<${need_unix_lib}:$<TARGET_SONAME_FILE:Foo>>
185+
$<${need_unix_lib}:$<TARGET_SONAME_FILE:Bar>>
186+
$<${need_unix_lib}:$<TARGET_SONAME_FILE:FooBar>>
187+
$<${need_windows_lib}:$<TARGET_FILE:Foo>>
188+
$<${need_windows_lib}:$<TARGET_FILE:Bar>>
189+
$<${need_windows_lib}:$<TARGET_FILE:FooBar>>
183190
${JAVA_RESSOURCES_PATH}/${JAVA_NATIVE_PROJECT}/
184191

185192
COMMAND ${CMAKE_COMMAND} -E copy

0 commit comments

Comments
 (0)