summaryrefslogtreecommitdiffstats
path: root/config/cmake/HDFMacros.cmake
diff options
context:
space:
mode:
authorAllen Byrne <50328838+byrnHDF@users.noreply.github.com>2023-05-01 19:46:04 (GMT)
committerGitHub <noreply@github.com>2023-05-01 19:46:04 (GMT)
commita61eff84c1c7c373047a5a000ad75c6b85033d8e (patch)
tree72833d0e74cb90e8e5018f28927456e60b46525c /config/cmake/HDFMacros.cmake
parent62058276a9d8620a04136816331894699412dec9 (diff)
downloadhdf5-a61eff84c1c7c373047a5a000ad75c6b85033d8e.zip
hdf5-a61eff84c1c7c373047a5a000ad75c6b85033d8e.tar.gz
hdf5-a61eff84c1c7c373047a5a000ad75c6b85033d8e.tar.bz2
Correct usage of CMAKE_BUILD_TYPE (#2863)
Fixes a problem when using multi-config builds with the CMake GUI
Diffstat (limited to 'config/cmake/HDFMacros.cmake')
-rw-r--r--config/cmake/HDFMacros.cmake20
1 files changed, 10 insertions, 10 deletions
diff --git a/config/cmake/HDFMacros.cmake b/config/cmake/HDFMacros.cmake
index 5ac7316..938b876 100644
--- a/config/cmake/HDFMacros.cmake
+++ b/config/cmake/HDFMacros.cmake
@@ -14,8 +14,15 @@
macro (SET_HDF_BUILD_TYPE)
get_property (_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
if (_isMultiConfig)
- set (HDF_CFG_NAME ${CMAKE_BUILD_TYPE})
- set (HDF_BUILD_TYPE ${CMAKE_CFG_INTDIR})
+ set_property (CACHE CMAKE_CONFIGURATION_TYPES PROPERTY STRINGS "Debug" "Release"
+ "MinSizeRel" "RelWithDebInfo" "Developer" FORCE)
+ if (CMAKE_BUILD_TYPE)
+ set (HDF_CFG_NAME ${CMAKE_BUILD_TYPE})
+ set (HDF_BUILD_TYPE ${CMAKE_BUILD_TYPE})
+ else ()
+ set (HDF_CFG_NAME "RelWithDebInfo")
+ set (HDF_BUILD_TYPE ${CMAKE_CFG_INTDIR})
+ endif ()
set (HDF_CFG_BUILD_TYPE \${CMAKE_INSTALL_CONFIG_NAME})
else ()
set (HDF_CFG_BUILD_TYPE ".")
@@ -27,13 +34,6 @@ macro (SET_HDF_BUILD_TYPE)
set (HDF_BUILD_TYPE "Release")
endif ()
endif ()
- if (NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
- message (VERBOSE "Setting build type to 'RelWithDebInfo' as none was specified.")
- set (CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "Choose the type of build." FORCE)
- # Set the possible values of build type for cmake-gui
- set_property (CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
- "MinSizeRel" "RelWithDebInfo" "Developer")
- endif ()
endmacro ()
#-------------------------------------------------------------------------------
@@ -455,7 +455,7 @@ macro (HDF_DIR_PATHS package_prefix)
)
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_TEST_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${HDF_CFG_NAME})
set (CMAKE_PDB_OUTPUT_DIRECTORY
${PROJECT_BINARY_DIR}/bin CACHE PATH "Single Directory for all pdb files."
)