Merge pull request #23 in HDFFV/hdf5 from ~BYRN/hdf5_adb:develop to develop
* commit '1963f50928089c0ec4a1ff11d54f652a4ab0a498': Add option to submit to Cdash Change UPDATE_TYPE to git Update CMake java functions
This commit is contained in:
@@ -17,7 +17,7 @@ else (CDASH_LOCAL)
|
|||||||
endif (CDASH_LOCAL)
|
endif (CDASH_LOCAL)
|
||||||
set (CTEST_DROP_SITE_CDASH TRUE)
|
set (CTEST_DROP_SITE_CDASH TRUE)
|
||||||
|
|
||||||
set (UPDATE_TYPE svn)
|
set (UPDATE_TYPE git)
|
||||||
set (VALGRIND_COMMAND "/usr/bin/valgrind")
|
set (VALGRIND_COMMAND "/usr/bin/valgrind")
|
||||||
set (VALGRIND_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=yes --num-callers=50 --show-reachable=yes --track-origins=yes --malloc-fill=0xff --free-fill=0xfe")
|
set (VALGRIND_COMMAND_OPTIONS "-v --tool=memcheck --leak-check=full --track-fds=yes --num-callers=50 --show-reachable=yes --track-origins=yes --malloc-fill=0xff --free-fill=0xfe")
|
||||||
set (CTEST_MEMORYCHECK_COMMAND "/usr/bin/valgrind")
|
set (CTEST_MEMORYCHECK_COMMAND "/usr/bin/valgrind")
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ macro(java_append_library_directories _var)
|
|||||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64")
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)64")
|
||||||
set(_java_libarch "ppc64" "ppc")
|
set(_java_libarch "ppc64" "ppc")
|
||||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(powerpc|ppc)")
|
||||||
set(_java_libarch "ppc")
|
set(_java_libarch "ppc" "ppc64")
|
||||||
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^sparc")
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^sparc")
|
||||||
# Both flavours can run on the same processor
|
# Both flavours can run on the same processor
|
||||||
set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "sparc" "sparcv9")
|
set(_java_libarch "${CMAKE_SYSTEM_PROCESSOR}" "sparc" "sparcv9")
|
||||||
@@ -92,11 +92,15 @@ macro(java_append_library_directories _var)
|
|||||||
if(_path MATCHES "{libarch}")
|
if(_path MATCHES "{libarch}")
|
||||||
foreach(_libarch ${_java_libarch})
|
foreach(_libarch ${_java_libarch})
|
||||||
string(REPLACE "{libarch}" "${_libarch}" _newpath "${_path}")
|
string(REPLACE "{libarch}" "${_libarch}" _newpath "${_path}")
|
||||||
|
if(EXISTS ${_newpath})
|
||||||
list(APPEND ${_var} "${_newpath}")
|
list(APPEND ${_var} "${_newpath}")
|
||||||
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
else()
|
else()
|
||||||
|
if(EXISTS ${_path})
|
||||||
list(APPEND ${_var} "${_path}")
|
list(APPEND ${_var} "${_path}")
|
||||||
endif()
|
endif()
|
||||||
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
@@ -161,6 +165,10 @@ JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
|
|||||||
/usr/lib/jvm/default-java/jre/lib/{libarch}
|
/usr/lib/jvm/default-java/jre/lib/{libarch}
|
||||||
/usr/lib/jvm/default-java/jre/lib
|
/usr/lib/jvm/default-java/jre/lib
|
||||||
/usr/lib/jvm/default-java/lib
|
/usr/lib/jvm/default-java/lib
|
||||||
|
# Ubuntu specific paths for default JVM
|
||||||
|
/usr/lib/jvm/java-8-openjdk-{libarch}/jre/lib/{libarch} # Ubuntu 15.10
|
||||||
|
/usr/lib/jvm/java-7-openjdk-{libarch}/jre/lib/{libarch} # Ubuntu 15.10
|
||||||
|
/usr/lib/jvm/java-6-openjdk-{libarch}/jre/lib/{libarch} # Ubuntu 15.10
|
||||||
# OpenBSD specific paths for default JVM
|
# OpenBSD specific paths for default JVM
|
||||||
/usr/local/jdk-1.7.0/jre/lib/{libarch}
|
/usr/local/jdk-1.7.0/jre/lib/{libarch}
|
||||||
/usr/local/jre-1.7.0/lib/{libarch}
|
/usr/local/jre-1.7.0/lib/{libarch}
|
||||||
@@ -191,6 +199,9 @@ list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES
|
|||||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/include"
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/include"
|
||||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/include"
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/include"
|
||||||
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/include"
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\${java_install_version};JavaHome]/include"
|
||||||
|
)
|
||||||
|
|
||||||
|
JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_INCLUDE_DIRECTORIES
|
||||||
${_JAVA_HOME}/include
|
${_JAVA_HOME}/include
|
||||||
/usr/include
|
/usr/include
|
||||||
/usr/java/include
|
/usr/java/include
|
||||||
@@ -209,6 +220,9 @@ list(APPEND JAVA_AWT_INCLUDE_DIRECTORIES
|
|||||||
/usr/lib/jvm/java-7-openjdk-amd64/include
|
/usr/lib/jvm/java-7-openjdk-amd64/include
|
||||||
/usr/lib64/jvm/java-7-openjdk/include
|
/usr/lib64/jvm/java-7-openjdk/include
|
||||||
/usr/lib64/jvm/java-7-openjdk-amd64/include
|
/usr/lib64/jvm/java-7-openjdk-amd64/include
|
||||||
|
/usr/lib/jvm/java-8-openjdk-{libarch}/include # ubuntu 15.10
|
||||||
|
/usr/lib/jvm/java-7-openjdk-{libarch}/include # ubuntu 15.10
|
||||||
|
/usr/lib/jvm/java-6-openjdk-{libarch}/include # ubuntu 15.10
|
||||||
/usr/local/share/java/include
|
/usr/local/share/java/include
|
||||||
/usr/lib/j2sdk1.4-sun/include
|
/usr/lib/j2sdk1.4-sun/include
|
||||||
/usr/lib/j2sdk1.5-sun/include
|
/usr/lib/j2sdk1.5-sun/include
|
||||||
@@ -290,7 +304,8 @@ find_path(JAVA_INCLUDE_PATH jni.h
|
|||||||
${JAVA_AWT_INCLUDE_DIRECTORIES}
|
${JAVA_AWT_INCLUDE_DIRECTORIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
find_path(JAVA_INCLUDE_PATH2 jni_md.h
|
find_path(JAVA_INCLUDE_PATH2 NAMES jni_md.h jniport.h
|
||||||
|
PATHS
|
||||||
${JAVA_INCLUDE_PATH}
|
${JAVA_INCLUDE_PATH}
|
||||||
${JAVA_INCLUDE_PATH}/darwin
|
${JAVA_INCLUDE_PATH}/darwin
|
||||||
${JAVA_INCLUDE_PATH}/win32
|
${JAVA_INCLUDE_PATH}/win32
|
||||||
@@ -300,6 +315,7 @@ find_path(JAVA_INCLUDE_PATH2 jni_md.h
|
|||||||
${JAVA_INCLUDE_PATH}/solaris
|
${JAVA_INCLUDE_PATH}/solaris
|
||||||
${JAVA_INCLUDE_PATH}/hp-ux
|
${JAVA_INCLUDE_PATH}/hp-ux
|
||||||
${JAVA_INCLUDE_PATH}/alpha
|
${JAVA_INCLUDE_PATH}/alpha
|
||||||
|
${JAVA_INCLUDE_PATH}/aix
|
||||||
)
|
)
|
||||||
|
|
||||||
find_path(JAVA_AWT_INCLUDE_PATH jawt.h
|
find_path(JAVA_AWT_INCLUDE_PATH jawt.h
|
||||||
@@ -316,8 +332,11 @@ endif()
|
|||||||
|
|
||||||
#include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
#include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
|
||||||
INCLUDE (FindPackageHandleStandardArgs)
|
INCLUDE (FindPackageHandleStandardArgs)
|
||||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(JNI DEFAULT_MSG JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(JNI DEFAULT_MSG JAVA_AWT_LIBRARY
|
||||||
JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
|
JAVA_JVM_LIBRARY
|
||||||
|
JAVA_INCLUDE_PATH
|
||||||
|
JAVA_INCLUDE_PATH2
|
||||||
|
JAVA_AWT_INCLUDE_PATH)
|
||||||
|
|
||||||
mark_as_advanced(
|
mark_as_advanced(
|
||||||
JAVA_AWT_LIBRARY
|
JAVA_AWT_LIBRARY
|
||||||
|
|||||||
@@ -45,6 +45,11 @@ if(NOT DEFINED FORTRAN_LIBRARIES)
|
|||||||
else(NOT DEFINED FORTRAN_LIBRARIES)
|
else(NOT DEFINED FORTRAN_LIBRARIES)
|
||||||
set(FORTRANLIBRARIES "YES")
|
set(FORTRANLIBRARIES "YES")
|
||||||
endif()
|
endif()
|
||||||
|
if(NOT DEFINED HDF_LOCAL)
|
||||||
|
set(CDASH_LOCAL "NO")
|
||||||
|
else(NOT HDF_LOCAL)
|
||||||
|
set(CDASH_LOCAL "YES")
|
||||||
|
endif()
|
||||||
|
|
||||||
#TAR_SOURCE - name of tarfile
|
#TAR_SOURCE - name of tarfile
|
||||||
#if(NOT DEFINED TAR_SOURCE)
|
#if(NOT DEFINED TAR_SOURCE)
|
||||||
@@ -77,6 +82,9 @@ if(${FORTRANLIBRARIES})
|
|||||||
else()
|
else()
|
||||||
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=OFF")
|
set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=OFF")
|
||||||
endif()
|
endif()
|
||||||
|
if(${CDASH_LOCAL})
|
||||||
|
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DCDASH_LOCAL:BOOL=ON")
|
||||||
|
endif()
|
||||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF5_PACKAGE_NAME:STRING=@HDF5_PACKAGE@@HDF_PACKAGE_EXT@")
|
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF5_PACKAGE_NAME:STRING=@HDF5_PACKAGE@@HDF_PACKAGE_EXT@")
|
||||||
|
|
||||||
###############################################################################################################
|
###############################################################################################################
|
||||||
|
|||||||
@@ -51,6 +51,11 @@ if(NOT DEFINED JAVA_LIBRARIES)
|
|||||||
else(NOT DEFINED JAVA_LIBRARIES)
|
else(NOT DEFINED JAVA_LIBRARIES)
|
||||||
set(JAVALIBRARIES "YES")
|
set(JAVALIBRARIES "YES")
|
||||||
endif()
|
endif()
|
||||||
|
if(NOT DEFINED HDF_LOCAL)
|
||||||
|
set(CDASH_LOCAL "NO")
|
||||||
|
else(NOT HDF_LOCAL)
|
||||||
|
set(CDASH_LOCAL "YES")
|
||||||
|
endif()
|
||||||
|
|
||||||
#TAR_SOURCE - name of tarfile
|
#TAR_SOURCE - name of tarfile
|
||||||
#if(NOT DEFINED TAR_SOURCE)
|
#if(NOT DEFINED TAR_SOURCE)
|
||||||
@@ -88,6 +93,9 @@ if(${JAVALIBRARIES})
|
|||||||
else()
|
else()
|
||||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_JAVA:BOOL=OFF")
|
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_JAVA:BOOL=OFF")
|
||||||
endif()
|
endif()
|
||||||
|
if(${CDASH_LOCAL})
|
||||||
|
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DCDASH_LOCAL:BOOL=ON")
|
||||||
|
endif()
|
||||||
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF5_PACKAGE_NAME:STRING=@HDF5_PACKAGE@@HDF_PACKAGE_EXT@")
|
set(BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF5_PACKAGE_NAME:STRING=@HDF5_PACKAGE@@HDF_PACKAGE_EXT@")
|
||||||
|
|
||||||
###############################################################################################################
|
###############################################################################################################
|
||||||
|
|||||||
@@ -169,7 +169,7 @@
|
|||||||
#
|
#
|
||||||
# ::
|
# ::
|
||||||
#
|
#
|
||||||
# The add_jar() functions sets some target properties. You can get these
|
# The add_jar() function sets some target properties. You can get these
|
||||||
# properties with the
|
# properties with the
|
||||||
# get_property(TARGET <target_name> PROPERTY <propery_name>)
|
# get_property(TARGET <target_name> PROPERTY <propery_name>)
|
||||||
# command.
|
# command.
|
||||||
@@ -217,6 +217,19 @@
|
|||||||
# This command installs the TARGET_NAME files to the given DESTINATION.
|
# This command installs the TARGET_NAME files to the given DESTINATION.
|
||||||
# It should be called in the same scope as add_jar() or it will fail.
|
# It should be called in the same scope as add_jar() or it will fail.
|
||||||
#
|
#
|
||||||
|
# Target Properties:
|
||||||
|
#
|
||||||
|
# ::
|
||||||
|
#
|
||||||
|
# The install_jar() function sets the INSTALL_DESTINATION target property
|
||||||
|
# on jars so installed. This property holds the DESTINATION as described
|
||||||
|
# above, and is used by install_jar_exports(). You can get this property
|
||||||
|
# with the
|
||||||
|
# get_property(TARGET <target_name> PROPERTY INSTALL_DESTINATION)
|
||||||
|
# command.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
#
|
||||||
# ::
|
# ::
|
||||||
#
|
#
|
||||||
# install_jni_symlink(target_name destination)
|
# install_jni_symlink(target_name destination)
|
||||||
@@ -228,6 +241,24 @@
|
|||||||
#
|
#
|
||||||
# ::
|
# ::
|
||||||
#
|
#
|
||||||
|
# install_jar_exports(TARGETS jar1 [jar2 ...]
|
||||||
|
# FILE export_filename
|
||||||
|
# DESTINATION destination [COMPONENT component])
|
||||||
|
#
|
||||||
|
# This command installs a target export file export_filename for the named jar
|
||||||
|
# targets to the given DESTINATION. Its function is similar to that of
|
||||||
|
# install(EXPORTS).
|
||||||
|
#
|
||||||
|
# ::
|
||||||
|
#
|
||||||
|
# export_jars(TARGETS jar1 [jar2 ...]
|
||||||
|
# FILE export_filename)
|
||||||
|
#
|
||||||
|
# This command writes a target export file export_filename for the named jar
|
||||||
|
# targets. Its function is similar to that of export().
|
||||||
|
#
|
||||||
|
# ::
|
||||||
|
#
|
||||||
# create_javadoc(<VAR>
|
# create_javadoc(<VAR>
|
||||||
# PACKAGES pkg1 [pkg2 ...]
|
# PACKAGES pkg1 [pkg2 ...]
|
||||||
# [SOURCEPATH <sourcepath>]
|
# [SOURCEPATH <sourcepath>]
|
||||||
@@ -324,7 +355,7 @@
|
|||||||
# that allow your Java and C code to interact.
|
# that allow your Java and C code to interact.
|
||||||
#
|
#
|
||||||
# There are two main signatures for create_javah. The first signature
|
# There are two main signatures for create_javah. The first signature
|
||||||
# returns generated files throught variable specified by GENERATED_FILES option:
|
# returns generated files through variable specified by GENERATED_FILES option:
|
||||||
#
|
#
|
||||||
# ::
|
# ::
|
||||||
#
|
#
|
||||||
@@ -389,14 +420,36 @@ include(CMakeParseArguments)
|
|||||||
function (__java_copy_file src dest comment)
|
function (__java_copy_file src dest comment)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${dest}
|
OUTPUT ${dest}
|
||||||
COMMAND cmake -E copy_if_different
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||||
ARGS ${src}
|
ARGS ${src}
|
||||||
${dest}
|
${dest}
|
||||||
DEPENDS ${src}
|
DEPENDS ${src}
|
||||||
COMMENT ${comment})
|
COMMENT ${comment})
|
||||||
endfunction ()
|
endfunction ()
|
||||||
|
|
||||||
|
function(__java_lcat VAR)
|
||||||
|
foreach(_line ${ARGN})
|
||||||
|
set(${VAR} "${${VAR}}${_line}\n")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
set(${VAR} "${${VAR}}" PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
function(__java_export_jar VAR TARGET PATH)
|
||||||
|
get_target_property(_jarpath ${TARGET} JAR_FILE)
|
||||||
|
get_filename_component(_jarname ${_jarpath} NAME)
|
||||||
|
__java_lcat(${VAR}
|
||||||
|
"# Create imported target ${TARGET}"
|
||||||
|
"add_custom_target(${TARGET})"
|
||||||
|
"set_target_properties(${TARGET} PROPERTIES"
|
||||||
|
" JAR_FILE \"${PATH}/${_jarname}\")"
|
||||||
|
""
|
||||||
|
)
|
||||||
|
set(${VAR} "${${VAR}}" PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
# define helper scripts
|
# define helper scripts
|
||||||
|
set(_JAVA_EXPORT_TARGETS_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/javaTargets.cmake.in)
|
||||||
set(_JAVA_CLASS_FILELIST_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/UseJavaClassFilelist.cmake)
|
set(_JAVA_CLASS_FILELIST_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/UseJavaClassFilelist.cmake)
|
||||||
set(_JAVA_SYMLINK_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/UseJavaSymlinks.cmake)
|
set(_JAVA_SYMLINK_SCRIPT ${CMAKE_CURRENT_LIST_DIR}/UseJavaSymlinks.cmake)
|
||||||
|
|
||||||
@@ -435,6 +488,8 @@ function(add_jar _TARGET_NAME)
|
|||||||
|
|
||||||
if (NOT DEFINED _add_jar_OUTPUT_DIR)
|
if (NOT DEFINED _add_jar_OUTPUT_DIR)
|
||||||
set(_add_jar_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
set(_add_jar_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
else()
|
||||||
|
get_filename_component(_add_jar_OUTPUT_DIR ${_add_jar_OUTPUT_DIR} ABSOLUTE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (_add_jar_ENTRY_POINT)
|
if (_add_jar_ENTRY_POINT)
|
||||||
@@ -467,7 +522,7 @@ function(add_jar _TARGET_NAME)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
foreach (JAVA_INCLUDE_DIR ${CMAKE_JAVA_INCLUDE_PATH})
|
foreach (JAVA_INCLUDE_DIR ${CMAKE_JAVA_INCLUDE_PATH})
|
||||||
set(CMAKE_JAVA_INCLUDE_PATH_FINAL "${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 "${_add_jar_OUTPUT_DIR}${CMAKE_FILES_DIRECTORY}/${_TARGET_NAME}.dir")
|
||||||
@@ -539,7 +594,7 @@ function(add_jar _TARGET_NAME)
|
|||||||
if (TARGET ${_JAVA_INCLUDE_JAR})
|
if (TARGET ${_JAVA_INCLUDE_JAR})
|
||||||
get_target_property(_JAVA_JAR_PATH ${_JAVA_INCLUDE_JAR} JAR_FILE)
|
get_target_property(_JAVA_JAR_PATH ${_JAVA_INCLUDE_JAR} JAR_FILE)
|
||||||
if (_JAVA_JAR_PATH)
|
if (_JAVA_JAR_PATH)
|
||||||
set(CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_PATH_FINAL}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${_JAVA_JAR_PATH}")
|
string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_FLAG_SEP}${_JAVA_JAR_PATH}")
|
||||||
list(APPEND CMAKE_JAVA_INCLUDE_PATH ${_JAVA_JAR_PATH})
|
list(APPEND CMAKE_JAVA_INCLUDE_PATH ${_JAVA_JAR_PATH})
|
||||||
list(APPEND _JAVA_DEPENDS ${_JAVA_INCLUDE_JAR})
|
list(APPEND _JAVA_DEPENDS ${_JAVA_INCLUDE_JAR})
|
||||||
list(APPEND _JAVA_COMPILE_DEPENDS ${_JAVA_INCLUDE_JAR})
|
list(APPEND _JAVA_COMPILE_DEPENDS ${_JAVA_INCLUDE_JAR})
|
||||||
@@ -547,18 +602,13 @@ function(add_jar _TARGET_NAME)
|
|||||||
message(SEND_ERROR "add_jar: INCLUDE_JARS target ${_JAVA_INCLUDE_JAR} is not a jar")
|
message(SEND_ERROR "add_jar: INCLUDE_JARS target ${_JAVA_INCLUDE_JAR} is not a jar")
|
||||||
endif ()
|
endif ()
|
||||||
else ()
|
else ()
|
||||||
set(CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_PATH_FINAL}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${_JAVA_INCLUDE_JAR}")
|
string(APPEND CMAKE_JAVA_INCLUDE_PATH_FINAL "${CMAKE_JAVA_INCLUDE_FLAG_SEP}${_JAVA_INCLUDE_JAR}")
|
||||||
list(APPEND CMAKE_JAVA_INCLUDE_PATH "${_JAVA_INCLUDE_JAR}")
|
list(APPEND CMAKE_JAVA_INCLUDE_PATH "${_JAVA_INCLUDE_JAR}")
|
||||||
list(APPEND _JAVA_DEPENDS "${_JAVA_INCLUDE_JAR}")
|
list(APPEND _JAVA_DEPENDS "${_JAVA_INCLUDE_JAR}")
|
||||||
list(APPEND _JAVA_COMPILE_DEPENDS "${_JAVA_INCLUDE_JAR}")
|
list(APPEND _JAVA_COMPILE_DEPENDS "${_JAVA_INCLUDE_JAR}")
|
||||||
endif ()
|
endif ()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# create an empty java_class_filelist
|
|
||||||
if (NOT EXISTS ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist)
|
|
||||||
file(WRITE ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist "")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (_JAVA_COMPILE_FILES OR _JAVA_COMPILE_FILELISTS)
|
if (_JAVA_COMPILE_FILES OR _JAVA_COMPILE_FILELISTS)
|
||||||
set (_JAVA_SOURCES_FILELISTS)
|
set (_JAVA_SOURCES_FILELISTS)
|
||||||
|
|
||||||
@@ -598,6 +648,11 @@ function(add_jar _TARGET_NAME)
|
|||||||
DEPENDS ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_compiled_${_TARGET_NAME}
|
DEPENDS ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_compiled_${_TARGET_NAME}
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
)
|
||||||
|
else ()
|
||||||
|
# create an empty java_class_filelist
|
||||||
|
if (NOT EXISTS ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist)
|
||||||
|
file(WRITE ${CMAKE_JAVA_CLASS_OUTPUT_PATH}/java_class_filelist "")
|
||||||
|
endif()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# create the jar file
|
# create the jar file
|
||||||
@@ -716,6 +771,13 @@ function(INSTALL_JAR _TARGET_NAME)
|
|||||||
PROPERTY
|
PROPERTY
|
||||||
INSTALL_FILES
|
INSTALL_FILES
|
||||||
)
|
)
|
||||||
|
set_property(
|
||||||
|
TARGET
|
||||||
|
${_TARGET_NAME}
|
||||||
|
PROPERTY
|
||||||
|
INSTALL_DESTINATION
|
||||||
|
${_DESTINATION}
|
||||||
|
)
|
||||||
|
|
||||||
if (__FILES)
|
if (__FILES)
|
||||||
install(
|
install(
|
||||||
@@ -1348,3 +1410,94 @@ function (create_javah)
|
|||||||
set (${_create_javah_GENERATED_FILES} ${_output_files} PARENT_SCOPE)
|
set (${_create_javah_GENERATED_FILES} ${_output_files} PARENT_SCOPE)
|
||||||
endif()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
function(export_jars)
|
||||||
|
# Parse and validate arguments
|
||||||
|
cmake_parse_arguments(_export_jars
|
||||||
|
""
|
||||||
|
"FILE"
|
||||||
|
"TARGETS"
|
||||||
|
${ARGN}
|
||||||
|
)
|
||||||
|
if (NOT _export_jars_FILE)
|
||||||
|
message(SEND_ERROR "export_jars: FILE must be specified.")
|
||||||
|
endif()
|
||||||
|
if (NOT _export_jars_TARGETS)
|
||||||
|
message(SEND_ERROR "export_jars: TARGETS must be specified.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Set content of generated exports file
|
||||||
|
string(REPLACE ";" " " __targets__ "${_export_jars_TARGETS}")
|
||||||
|
set(__targetdefs__ "")
|
||||||
|
foreach(_target ${_export_jars_TARGETS})
|
||||||
|
get_target_property(_jarpath ${_target} JAR_FILE)
|
||||||
|
get_filename_component(_jarpath ${_jarpath} PATH)
|
||||||
|
__java_export_jar(__targetdefs__ ${_target} "${_jarpath}")
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
# Generate exports file
|
||||||
|
configure_file(
|
||||||
|
${_JAVA_EXPORT_TARGETS_SCRIPT}
|
||||||
|
${_export_jars_FILE}
|
||||||
|
@ONLY
|
||||||
|
)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
function(install_jar_exports)
|
||||||
|
# Parse and validate arguments
|
||||||
|
cmake_parse_arguments(_install_jar_exports
|
||||||
|
""
|
||||||
|
"FILE;DESTINATION;COMPONENT"
|
||||||
|
"TARGETS"
|
||||||
|
${ARGN}
|
||||||
|
)
|
||||||
|
if (NOT _install_jar_exports_FILE)
|
||||||
|
message(SEND_ERROR "install_jar_exports: FILE must be specified.")
|
||||||
|
endif()
|
||||||
|
if (NOT _install_jar_exports_DESTINATION)
|
||||||
|
message(SEND_ERROR "install_jar_exports: DESTINATION must be specified.")
|
||||||
|
endif()
|
||||||
|
if (NOT _install_jar_exports_TARGETS)
|
||||||
|
message(SEND_ERROR "install_jar_exports: TARGETS must be specified.")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if (_install_jar_exports_COMPONENT)
|
||||||
|
set (_COMPONENT COMPONENT ${_install_jar_exports_COMPONENT})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Determine relative path from installed export file to install prefix
|
||||||
|
if(IS_ABSOLUTE ${_install_jar_exports_DESTINATION})
|
||||||
|
file(RELATIVE_PATH _relpath
|
||||||
|
${_install_jar_exports_DESTINATION}
|
||||||
|
${CMAKE_INSTALL_PREFIX}
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
file(RELATIVE_PATH _relpath
|
||||||
|
${CMAKE_INSTALL_PREFIX}/${_install_jar_exports_DESTINATION}
|
||||||
|
${CMAKE_INSTALL_PREFIX}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Set up unique location for generated exports file
|
||||||
|
string(SHA256 _hash "${_install_jar_exports_DESTINATION}")
|
||||||
|
set(_tmpdir ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/JavaExports/${_hash})
|
||||||
|
|
||||||
|
# Set content of generated exports file
|
||||||
|
string(REPLACE ";" " " __targets__ "${_install_jar_exports_TARGETS}")
|
||||||
|
set(__targetdefs__ "set(_prefix \${CMAKE_CURRENT_LIST_DIR}/${_relpath})\n\n")
|
||||||
|
foreach(_target ${_install_jar_exports_TARGETS})
|
||||||
|
get_target_property(_dir ${_target} INSTALL_DESTINATION)
|
||||||
|
__java_export_jar(__targetdefs__ ${_target} "\${_prefix}/${_dir}")
|
||||||
|
endforeach()
|
||||||
|
__java_lcat(__targetdefs__ "\nunset(_prefix)")
|
||||||
|
|
||||||
|
# Generate and install exports file
|
||||||
|
configure_file(
|
||||||
|
${_JAVA_EXPORT_TARGETS_SCRIPT}
|
||||||
|
${_tmpdir}/${_install_jar_exports_FILE}
|
||||||
|
@ONLY
|
||||||
|
)
|
||||||
|
install(FILES ${_tmpdir}/${_install_jar_exports_FILE}
|
||||||
|
DESTINATION ${_install_jar_exports_DESTINATION}
|
||||||
|
${_COMPONENT})
|
||||||
|
endfunction()
|
||||||
|
|||||||
@@ -11,7 +11,8 @@
|
|||||||
# of them have somewhat different include paths, libraries to link
|
# of them have somewhat different include paths, libraries to link
|
||||||
# against, etc., and this module tries to smooth out those differences.
|
# against, etc., and this module tries to smooth out those differences.
|
||||||
#
|
#
|
||||||
# === Variables ===
|
# Variables
|
||||||
|
# ^^^^^^^^^
|
||||||
#
|
#
|
||||||
# This module will set the following variables per language in your
|
# This module will set the following variables per language in your
|
||||||
# project, where <lang> is one of C, CXX, or Fortran:
|
# project, where <lang> is one of C, CXX, or Fortran:
|
||||||
@@ -37,11 +38,12 @@
|
|||||||
# before the executable to run.
|
# before the executable to run.
|
||||||
# MPIEXEC_POSTFLAGS Flags to pass to MPIEXEC after other flags
|
# MPIEXEC_POSTFLAGS Flags to pass to MPIEXEC after other flags
|
||||||
#
|
#
|
||||||
# === Usage ===
|
# Usage
|
||||||
|
# ^^^^^
|
||||||
#
|
#
|
||||||
# To use this module, simply call FindMPI from a CMakeLists.txt file, or
|
# To use this module, simply call FindMPI from a CMakeLists.txt file, or
|
||||||
# run find_package(MPI), then run CMake. If you are happy with the
|
# run ``find_package(MPI)``, then run CMake. If you are happy with the
|
||||||
# auto- detected configuration for your language, then you're done. If
|
# auto-detected configuration for your language, then you're done. If
|
||||||
# not, you have two options:
|
# not, you have two options:
|
||||||
#
|
#
|
||||||
# ::
|
# ::
|
||||||
@@ -55,24 +57,25 @@
|
|||||||
# listed above, but these two are required. This will circumvent
|
# listed above, but these two are required. This will circumvent
|
||||||
# autodetection entirely.
|
# autodetection entirely.
|
||||||
#
|
#
|
||||||
# When configuration is successful, MPI_<lang>_COMPILER will be set to
|
# When configuration is successful, ``MPI_<lang>_COMPILER`` will be set to
|
||||||
# the compiler wrapper for <lang>, if it was found. MPI_<lang>_FOUND
|
# the compiler wrapper for <lang>, if it was found. ``MPI_<lang>_FOUND``
|
||||||
# and other variables above will be set if any MPI implementation was
|
# and other variables above will be set if any MPI implementation was
|
||||||
# found for <lang>, regardless of whether a compiler was found.
|
# found for <lang>, regardless of whether a compiler was found.
|
||||||
#
|
#
|
||||||
# When using MPIEXEC to execute MPI applications, you should typically
|
# When using ``MPIEXEC`` to execute MPI applications, you should typically
|
||||||
# use all of the MPIEXEC flags as follows:
|
# use all of the ``MPIEXEC`` flags as follows:
|
||||||
#
|
#
|
||||||
# ::
|
# ::
|
||||||
#
|
#
|
||||||
# ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} PROCS
|
# ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} PROCS
|
||||||
# ${MPIEXEC_PREFLAGS} EXECUTABLE ${MPIEXEC_POSTFLAGS} ARGS
|
# ${MPIEXEC_PREFLAGS} EXECUTABLE ${MPIEXEC_POSTFLAGS} ARGS
|
||||||
#
|
#
|
||||||
# where PROCS is the number of processors on which to execute the
|
# where ``PROCS`` is the number of processors on which to execute the
|
||||||
# program, EXECUTABLE is the MPI program, and ARGS are the arguments to
|
# program, ``EXECUTABLE`` is the MPI program, and ``ARGS`` are the arguments to
|
||||||
# pass to the MPI program.
|
# pass to the MPI program.
|
||||||
#
|
#
|
||||||
# === Backward Compatibility ===
|
# Backward Compatibility
|
||||||
|
# ^^^^^^^^^^^^^^^^^^^^^^
|
||||||
#
|
#
|
||||||
# For backward compatibility with older versions of FindMPI, these
|
# For backward compatibility with older versions of FindMPI, these
|
||||||
# variables are set, but deprecated:
|
# variables are set, but deprecated:
|
||||||
@@ -83,7 +86,7 @@
|
|||||||
# MPI_COMPILE_FLAGS MPI_INCLUDE_PATH MPI_EXTRA_LIBRARY
|
# MPI_COMPILE_FLAGS MPI_INCLUDE_PATH MPI_EXTRA_LIBRARY
|
||||||
# MPI_LINK_FLAGS MPI_LIBRARIES
|
# MPI_LINK_FLAGS MPI_LIBRARIES
|
||||||
#
|
#
|
||||||
# In new projects, please use the MPI_<lang>_XXX equivalents.
|
# In new projects, please use the ``MPI_<lang>_XXX`` equivalents.
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Copyright 2001-2011 Kitware, Inc.
|
# Copyright 2001-2011 Kitware, Inc.
|
||||||
@@ -204,7 +207,7 @@ function (_mpi_check_compiler compiler options cmdvar resvar)
|
|||||||
# Intel MPI 5.0.1 will return a zero return code even when the
|
# Intel MPI 5.0.1 will return a zero return code even when the
|
||||||
# argument to the MPI compiler wrapper is unknown. Attempt to
|
# argument to the MPI compiler wrapper is unknown. Attempt to
|
||||||
# catch this case.
|
# catch this case.
|
||||||
if("${cmdline}" MATCHES "undefined reference")
|
if(cmdline MATCHES "undefined reference" OR cmdline MATCHES "unrecognized")
|
||||||
set(success 255 )
|
set(success 255 )
|
||||||
endif()
|
endif()
|
||||||
set(${cmdvar} "${cmdline}" PARENT_SCOPE)
|
set(${cmdvar} "${cmdline}" PARENT_SCOPE)
|
||||||
@@ -325,7 +328,7 @@ function (interrogate_mpi_compiler lang try_libs)
|
|||||||
|
|
||||||
foreach(FLAG ${MPI_ALL_COMPILE_FLAGS})
|
foreach(FLAG ${MPI_ALL_COMPILE_FLAGS})
|
||||||
if (MPI_COMPILE_FLAGS_WORK)
|
if (MPI_COMPILE_FLAGS_WORK)
|
||||||
set(MPI_COMPILE_FLAGS_WORK "${MPI_COMPILE_FLAGS_WORK} ${FLAG}")
|
string(APPEND MPI_COMPILE_FLAGS_WORK " ${FLAG}")
|
||||||
else()
|
else()
|
||||||
set(MPI_COMPILE_FLAGS_WORK ${FLAG})
|
set(MPI_COMPILE_FLAGS_WORK ${FLAG})
|
||||||
endif()
|
endif()
|
||||||
@@ -355,10 +358,10 @@ function (interrogate_mpi_compiler lang try_libs)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Extract linker paths from the link command line
|
# Extract linker paths from the link command line
|
||||||
string(REGEX MATCHALL "(^| |-Wl,)-L([^\" ]+|\"[^\"]+\")" MPI_ALL_LINK_PATHS "${MPI_LINK_CMDLINE}")
|
string(REGEX MATCHALL "(^| |-Wl,)(-L|/LIBPATH:)([^\" ]+|\"[^\"]+\")" MPI_ALL_LINK_PATHS "${MPI_LINK_CMDLINE}")
|
||||||
set(MPI_LINK_PATH)
|
set(MPI_LINK_PATH)
|
||||||
foreach(LPATH ${MPI_ALL_LINK_PATHS})
|
foreach(LPATH ${MPI_ALL_LINK_PATHS})
|
||||||
string(REGEX REPLACE "^(| |-Wl,)-L" "" LPATH ${LPATH})
|
string(REGEX REPLACE "^(| |-Wl,)(-L|/LIBPATH:)" "" LPATH ${LPATH})
|
||||||
string(REPLACE "//" "/" LPATH ${LPATH})
|
string(REPLACE "//" "/" LPATH ${LPATH})
|
||||||
list(APPEND MPI_LINK_PATH ${LPATH})
|
list(APPEND MPI_LINK_PATH ${LPATH})
|
||||||
endforeach()
|
endforeach()
|
||||||
@@ -374,7 +377,7 @@ function (interrogate_mpi_compiler lang try_libs)
|
|||||||
set(MPI_LINK_FLAGS_WORK)
|
set(MPI_LINK_FLAGS_WORK)
|
||||||
foreach(FLAG ${MPI_ALL_LINK_FLAGS})
|
foreach(FLAG ${MPI_ALL_LINK_FLAGS})
|
||||||
if (MPI_LINK_FLAGS_WORK)
|
if (MPI_LINK_FLAGS_WORK)
|
||||||
set(MPI_LINK_FLAGS_WORK "${MPI_LINK_FLAGS_WORK} ${FLAG}")
|
string(APPEND MPI_LINK_FLAGS_WORK " ${FLAG}")
|
||||||
else()
|
else()
|
||||||
set(MPI_LINK_FLAGS_WORK ${FLAG})
|
set(MPI_LINK_FLAGS_WORK ${FLAG})
|
||||||
endif()
|
endif()
|
||||||
@@ -383,20 +386,31 @@ function (interrogate_mpi_compiler lang try_libs)
|
|||||||
# Extract the set of libraries to link against from the link command
|
# Extract the set of libraries to link against from the link command
|
||||||
# line
|
# line
|
||||||
string(REGEX MATCHALL "(^| )-l([^\" ]+|\"[^\"]+\")" MPI_LIBNAMES "${MPI_LINK_CMDLINE}")
|
string(REGEX MATCHALL "(^| )-l([^\" ]+|\"[^\"]+\")" MPI_LIBNAMES "${MPI_LINK_CMDLINE}")
|
||||||
|
if(WIN32)
|
||||||
|
# The intel wrappers on windows link against static versions of the MPI libraries.
|
||||||
|
# The static libraries are simply listed on the command line without -l.
|
||||||
|
# For instance: " icl ... impi.lib "
|
||||||
|
string(REGEX MATCHALL "(^| )([^\" ]+)\\.lib" tmp "${MPI_LINK_CMDLINE}")
|
||||||
|
list(APPEND MPI_LIBNAMES ${tmp})
|
||||||
|
endif()
|
||||||
|
|
||||||
# add the compiler implicit directories because some compilers
|
# add the compiler implicit directories because some compilers
|
||||||
# such as the intel compiler have libraries that show up
|
# such as the intel compiler have libraries that show up
|
||||||
# in the showme list that can only be found in the implicit
|
# in the showme list that can only be found in the implicit
|
||||||
# link directories of the compiler.
|
# link directories of the compiler.
|
||||||
if (DEFINED CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES)
|
if (DEFINED CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES)
|
||||||
set(MPI_LINK_PATH
|
string(APPEND MPI_LINK_PATH
|
||||||
"${MPI_LINK_PATH};${CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES}")
|
";${CMAKE_${lang}_IMPLICIT_LINK_DIRECTORIES}")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
# Determine full path names for all of the libraries that one needs
|
# Determine full path names for all of the libraries that one needs
|
||||||
# to link against in an MPI program
|
# to link against in an MPI program
|
||||||
foreach(LIB ${MPI_LIBNAMES})
|
foreach(LIB ${MPI_LIBNAMES})
|
||||||
string(REGEX REPLACE "^ ?-l" "" LIB ${LIB})
|
string(REGEX REPLACE "^ ?-l" "" LIB ${LIB})
|
||||||
|
if(WIN32)
|
||||||
|
string(REGEX REPLACE "\\.lib$" "" LIB ${LIB})
|
||||||
|
endif()
|
||||||
|
string(STRIP ${LIB} LIB)
|
||||||
# MPI_LIB is cached by find_library, but we don't want that. Clear it first.
|
# MPI_LIB is cached by find_library, but we don't want that. Clear it first.
|
||||||
set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
|
set(MPI_LIB "MPI_LIB-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
|
||||||
find_library(MPI_LIB NAMES ${LIB} HINTS ${MPI_LINK_PATH})
|
find_library(MPI_LIB NAMES ${LIB} HINTS ${MPI_LINK_PATH})
|
||||||
@@ -597,14 +611,13 @@ foreach (lang C CXX Fortran)
|
|||||||
if (CMAKE_${lang}_COMPILER_WORKS)
|
if (CMAKE_${lang}_COMPILER_WORKS)
|
||||||
# If the user supplies a compiler *name* instead of an absolute path, assume that we need to find THAT compiler.
|
# If the user supplies a compiler *name* instead of an absolute path, assume that we need to find THAT compiler.
|
||||||
if (MPI_${lang}_COMPILER)
|
if (MPI_${lang}_COMPILER)
|
||||||
is_file_executable(MPI_${lang}_COMPILER MPI_COMPILER_IS_EXECUTABLE)
|
if (NOT IS_ABSOLUTE "${MPI_${lang}_COMPILER}")
|
||||||
if (NOT MPI_COMPILER_IS_EXECUTABLE)
|
|
||||||
# Get rid of our default list of names and just search for the name the user wants.
|
# Get rid of our default list of names and just search for the name the user wants.
|
||||||
set(_MPI_${lang}_COMPILER_NAMES ${MPI_${lang}_COMPILER})
|
set(_MPI_${lang}_COMPILER_NAMES ${MPI_${lang}_COMPILER})
|
||||||
set(MPI_${lang}_COMPILER "MPI_${lang}_COMPILER-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
|
set(MPI_${lang}_COMPILER "MPI_${lang}_COMPILER-NOTFOUND" CACHE FILEPATH "Cleared" FORCE)
|
||||||
|
endif()
|
||||||
# If the user specifies a compiler, we don't want to try to search libraries either.
|
# If the user specifies a compiler, we don't want to try to search libraries either.
|
||||||
set(try_libs FALSE)
|
set(try_libs FALSE)
|
||||||
endif()
|
|
||||||
else()
|
else()
|
||||||
set(try_libs TRUE)
|
set(try_libs TRUE)
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
Reference in New Issue
Block a user