diff --git a/config/cmake_ext_mod/HDFMacros.cmake b/config/cmake_ext_mod/HDFMacros.cmake index f1d5e1d59e..aa18022e85 100644 --- a/config/cmake_ext_mod/HDFMacros.cmake +++ b/config/cmake_ext_mod/HDFMacros.cmake @@ -380,13 +380,14 @@ macro (HDF_DIR_PATHS package_prefix) set (CMAKE_Fortran_MODULE_DIRECTORY ${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all fortran modules." ) - if (WIN32) - set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CTEST_CONFIGURATION_TYPE}) + get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) + if(_isMultiConfig) + set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CMAKE_BUILD_TYPE}) set (CMAKE_PDB_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all pdb files." ) else () - set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${CTEST_CONFIGURATION_TYPE}) + set (CMAKE_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) endif () else () # if we are externally configured, but the project uses old cmake scripts diff --git a/java/examples/datatypes/CMakeLists.txt b/java/examples/datatypes/CMakeLists.txt index beacd7aa6e..4a8b2a43a4 100644 --- a/java/examples/datatypes/CMakeLists.txt +++ b/java/examples/datatypes/CMakeLists.txt @@ -65,7 +65,7 @@ MACRO (ADD_H5_TEST resultfile resultcode) -D "TEST_PROGRAM=examples.datatypes.${resultfile}" -D "TEST_ARGS:STRING=${CMD_ARGS}${ARGN}" -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${resultfile}_JAR_FILE}" - -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_OUTPUT_DIRECTORY}/${HDF_CFG_BUILD_TYPE}" + -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_OUTPUT_DIRECTORY}" -D "TEST_FOLDER=${HDFJAVA_EXAMPLES_BINARY_DIR}" -D "TEST_OUTPUT=datatypes/${resultfile}.out" -D "TEST_EXPECT=${resultcode}" diff --git a/java/examples/groups/CMakeLists.txt b/java/examples/groups/CMakeLists.txt index d406cabe1a..2c5d33b495 100644 --- a/java/examples/groups/CMakeLists.txt +++ b/java/examples/groups/CMakeLists.txt @@ -64,7 +64,7 @@ MACRO (ADD_H5_TEST resultfile resultcode) -D "TEST_PROGRAM=examples.groups.${resultfile}" -D "TEST_ARGS:STRING=${CMD_ARGS}${ARGN}" -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${resultfile}_JAR_FILE}" - -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_OUTPUT_DIRECTORY}/${HDF_CFG_BUILD_TYPE}" + -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_OUTPUT_DIRECTORY}" -D "TEST_FOLDER=${HDFJAVA_EXAMPLES_BINARY_DIR}" -D "TEST_OUTPUT=groups/${resultfile}.out" -D "TEST_EXPECT=${resultcode}" diff --git a/java/examples/intro/CMakeLists.txt b/java/examples/intro/CMakeLists.txt index 8c9485f5a4..8d56b86d5b 100644 --- a/java/examples/intro/CMakeLists.txt +++ b/java/examples/intro/CMakeLists.txt @@ -66,7 +66,7 @@ MACRO (ADD_H5_TEST resultfile resultcode) -D "TEST_PROGRAM=examples.intro.${resultfile}" -D "TEST_ARGS:STRING=${CMD_ARGS}${ARGN}" -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${${resultfile}_JAR_FILE}" - -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_OUTPUT_DIRECTORY}/${HDF_CFG_BUILD_TYPE}" + -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_OUTPUT_DIRECTORY}" -D "TEST_FOLDER=${HDFJAVA_EXAMPLES_BINARY_DIR}" -D "TEST_OUTPUT=intro/${resultfile}.out" -D "TEST_EXPECT=${resultcode}" diff --git a/java/test/CMakeLists.txt b/java/test/CMakeLists.txt index 710a5e0d92..b76f5720f0 100644 --- a/java/test/CMakeLists.txt +++ b/java/test/CMakeLists.txt @@ -111,7 +111,7 @@ foreach (test_file ${HDF5_JAVA_TEST_SOURCES}) -D "TEST_CLASSPATH:STRING=${CMAKE_JAVA_CLASSPATH}" -D "TEST_ARGS:STRING=${CMD_ARGS}-ea;org.junit.runner.JUnitCore" -D "TEST_PROGRAM=test.${test_file}" - -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_OUTPUT_DIRECTORY}/${HDF_CFG_BUILD_TYPE}" + -D "TEST_LIBRARY_DIRECTORY=${CMAKE_TEST_OUTPUT_DIRECTORY}" -D "TEST_FOLDER=${HDF5_BINARY_DIR}/java/test" -D "TEST_OUTPUT=JUnit-${test_file}.out" # -D "TEST_LOG_LEVEL=trace"