mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-20 13:22:22 -05:00
UseJava: add_jar OUTPUT_DIR option used only for jar generation.
Build artifacts go to CMAKE_CURRENT_BINARY_DIR subdirectory in all cases. Fixes: #17341
This commit is contained in:
@@ -481,6 +481,8 @@ function(add_jar _TARGET_NAME)
|
|||||||
else()
|
else()
|
||||||
get_filename_component(_add_jar_OUTPUT_DIR ${_add_jar_OUTPUT_DIR} ABSOLUTE)
|
get_filename_component(_add_jar_OUTPUT_DIR ${_add_jar_OUTPUT_DIR} ABSOLUTE)
|
||||||
endif()
|
endif()
|
||||||
|
# ensure output directory exists
|
||||||
|
file (MAKE_DIRECTORY "${_add_jar_OUTPUT_DIR}")
|
||||||
|
|
||||||
if (_add_jar_ENTRY_POINT)
|
if (_add_jar_ENTRY_POINT)
|
||||||
set(_ENTRY_POINT_OPTION e)
|
set(_ENTRY_POINT_OPTION e)
|
||||||
@@ -515,9 +517,7 @@ function(add_jar _TARGET_NAME)
|
|||||||
string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_FLAG_SEP}${JAVA_INCLUDE_DIR}")
|
string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_FLAG_SEP}${JAVA_INCLUDE_DIR}")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
set(CMAKE_JAVA_CLASS_OUTPUT_PATH "${_add_jar_OUTPUT_DIR}${CMAKE_FILES_DIRECTORY}/${_TARGET_NAME}.dir")
|
set(CMAKE_JAVA_CLASS_OUTPUT_PATH "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_TARGET_NAME}.dir")
|
||||||
# ensure output directory exists
|
|
||||||
file (MAKE_DIRECTORY "${CMAKE_JAVA_CLASS_OUTPUT_PATH}")
|
|
||||||
|
|
||||||
set(_JAVA_TARGET_OUTPUT_NAME "${_TARGET_NAME}.jar")
|
set(_JAVA_TARGET_OUTPUT_NAME "${_TARGET_NAME}.jar")
|
||||||
if (_add_jar_OUTPUT_NAME AND _add_jar_VERSION)
|
if (_add_jar_OUTPUT_NAME AND _add_jar_VERSION)
|
||||||
@@ -548,7 +548,7 @@ function(add_jar _TARGET_NAME)
|
|||||||
list(APPEND _JAVA_COMPILE_FILELISTS ${_JAVA_FULL})
|
list(APPEND _JAVA_COMPILE_FILELISTS ${_JAVA_FULL})
|
||||||
|
|
||||||
elseif (_JAVA_EXT MATCHES ".java")
|
elseif (_JAVA_EXT MATCHES ".java")
|
||||||
file(RELATIVE_PATH _JAVA_REL_BINARY_PATH ${_add_jar_OUTPUT_DIR} ${_JAVA_FULL})
|
file(RELATIVE_PATH _JAVA_REL_BINARY_PATH ${CMAKE_CURRENT_BINARY_DIR} ${_JAVA_FULL})
|
||||||
file(RELATIVE_PATH _JAVA_REL_SOURCE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${_JAVA_FULL})
|
file(RELATIVE_PATH _JAVA_REL_SOURCE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${_JAVA_FULL})
|
||||||
string(LENGTH ${_JAVA_REL_BINARY_PATH} _BIN_LEN)
|
string(LENGTH ${_JAVA_REL_BINARY_PATH} _BIN_LEN)
|
||||||
string(LENGTH ${_JAVA_REL_SOURCE_PATH} _SRC_LEN)
|
string(LENGTH ${_JAVA_REL_SOURCE_PATH} _SRC_LEN)
|
||||||
|
|||||||
Reference in New Issue
Block a user