######################################################################### ### For Windows ${CTEST_SCRIPT_ARG} is one of ### ### [64_VS2013, 32_VS2013, 64_VS2012, 32_VS2012] ### ### ctest -S HDF5config.cmake,32_VS2012 -C Release -V -O hdf5.log ### ######################################################################### ### ${CTEST_SCRIPT_ARG} is of the form OPTION=VALUE ### # VS_VERS - always the first argument ### # INSTALLDIR - root folder where hdf5 is installed ### # BLDDIR - root folder where hdf5 is built ### ######################################################################### cmake_minimum_required(VERSION 3.2.2 FATAL_ERROR) set(CTEST_SOURCE_VERSION 1.10.4) set(CTEST_SOURCE_NAME "hdfsrc") if (DEFINED CTEST_SCRIPT_ARG) # transform ctest script arguments of the form # script.ctest,var1=value1,var2=value2 # to variables with the respective names set to the respective values list(GET CTEST_SCRIPT_ARG 0 VS_VERS) string (REPLACE "," ";" script_args "${CTEST_SCRIPT_ARG}") foreach (current_var ${script_args}) if ("${current_var}" MATCHES "^([^=]+)=(.+)$") set ("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}") endif () endforeach () endif () if (NOT DEFINED BLDDIR) set (BLDDIR "hdfbld") endif () set(CTEST_BINARY_NAME "${BLDDIR}") set(CTEST_DASHBOARD_ROOT "${CTEST_SCRIPT_DIRECTORY}") ################################################################### ### Following Line is one of [Release, RelWithDebInfo, Debug] ##### set(CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}") ################################################################### if(NOT DEFINED INSTALLDIR) if(WIN32) set(INSTALLDIR "C:/Program Files/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}") else() set(INSTALLDIR "${CTEST_SCRIPT_DIRECTORY}/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}") endif() endif() if(WIN32) set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\..\\${CTEST_SOURCE_NAME}") set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}") else() set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/../${CTEST_SOURCE_NAME}") set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}") endif() ################################################################### ######### Following describes compiler ############ if(WIN32) set(SITE_OS_NAME "Windows") if(${VS_VERS} STREQUAL "64_VS2017") set(CTEST_CMAKE_GENERATOR "Visual Studio 15 2017 Win64") set(SITE_OS_BITS "64") set(SITE_COMPILER_NAME "vs2017") set(SITE_COMPILER_VERSION "15") elseif(${VS_VERS} STREQUAL "32_VS2017") set(CTEST_CMAKE_GENERATOR "Visual Studio 15 2017") set(SITE_OS_BITS "32") set(SITE_COMPILER_NAME "vs2015") set(SITE_COMPILER_VERSION "15") elseif(${VS_VERS} STREQUAL "64_VS2015") set(CTEST_CMAKE_GENERATOR "Visual Studio 14 2015 Win64") set(SITE_OS_BITS "64") set(SITE_COMPILER_NAME "vs2015") set(SITE_COMPILER_VERSION "14") elseif(${VS_VERS} STREQUAL "32_VS2015") set(CTEST_CMAKE_GENERATOR "Visual Studio 14 2015") set(SITE_OS_BITS "32") set(SITE_COMPILER_NAME "vs2015") set(SITE_COMPILER_VERSION "14") elseif(${VS_VERS} STREQUAL "64_VS2013") set(CTEST_CMAKE_GENERATOR "Visual Studio 12 2013 Win64") set(SITE_OS_BITS "64") set(SITE_COMPILER_NAME "vs2013") set(SITE_COMPILER_VERSION "12") elseif(${VS_VERS} STREQUAL "32_VS2013") set(CTEST_CMAKE_GENERATOR "Visual Studio 12 2013") set(SITE_OS_BITS "32") set(SITE_COMPILER_NAME "vs2013") set(SITE_COMPILER_VERSION "12") elseif(${VS_VERS} STREQUAL "64_VS2012") set(CTEST_CMAKE_GENERATOR "Visual Studio 11 2012 Win64") set(SITE_OS_BITS "64") set(SITE_COMPILER_NAME "vs2012") set(SITE_COMPILER_VERSION "11") elseif(${VS_VERS} STREQUAL "32_VS2012") set(CTEST_CMAKE_GENERATOR "Visual Studio 11 2012") set(SITE_OS_BITS "32") set(SITE_COMPILER_NAME "vs2012") set(SITE_COMPILER_VERSION "11") elseif(${VS_VERS} STREQUAL "64_VS2010") set(CTEST_CMAKE_GENERATOR "Visual Studio 10 2010 Win64") set(SITE_OS_BITS "64") set(SITE_COMPILER_NAME "vs2010") set(SITE_COMPILER_VERSION "10") elseif(${VS_VERS} STREQUAL "32_VS2010") set(CTEST_CMAKE_GENERATOR "Visual Studio 10 2010") set(SITE_OS_BITS "32") set(SITE_COMPILER_NAME "vs2010") set(SITE_COMPILER_VERSION "10") elseif(${VS_VERS} STREQUAL "64_VS2008") set(CTEST_CMAKE_GENERATOR "Visual Studio 9 2008 Win64") set(SITE_OS_BITS "64") set(SITE_COMPILER_NAME "vs2008") set(SITE_COMPILER_VERSION "9") elseif(${VS_VERS} STREQUAL "32_VS2008") set(CTEST_CMAKE_GENERATOR "Visual Studio 9 2008") set(SITE_OS_BITS "32") set(SITE_COMPILER_NAME "vs2008") set(SITE_COMPILER_VERSION "9") endif() ## Set the following to unique id your computer ## set(CTEST_SITE "WIN_${VS_VERS}.hdfgroup.org") else() set(CTEST_CMAKE_GENERATOR "Unix Makefiles") ## Set the following to unique id your computer ## if(APPLE) execute_process(COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE) execute_process(COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE) set(ENV{CC} "${XCODE_CC}") set(ENV{CXX} "${XCODE_CXX}") set(CTEST_USE_LAUNCHERS 1) set(RR_WARNINGS_COMMON "-Wno-format-nonliteral -Wno-cast-align -Wno-unused -Wno-unused-variable -Wno-unused-function -Wno-self-assign -Wno-unused-parameter -Wno-sign-compare") set(RR_WARNINGS_C "${RR_WARNINGS_COMMON} -Wno-deprecated-declarations -Wno-uninitialized") set(RR_WARNINGS_CXX "${RR_WARNINGS_COMMON} -Woverloaded-virtual -Wshadow -Wwrite-strings -Wc++11-compat") set(RR_FLAGS_COMMON "-g -O0 -fstack-protector-all -D_FORTIFY_SOURCE=2") set(RR_FLAGS_C "${RR_FLAGS_COMMON}") set(RR_FLAGS_CXX "${RR_FLAGS_COMMON}") set(ENV{CFLAGS} "${RR_WARNINGS_C} ${RR_FLAGS_C}") set(ENV{CXXFLAGS} "${RR_WARNINGS_CXX} ${RR_FLAGS_CXX}") endif() endif() ################################################################### ################################################################### ######### Following is for submission to CDash ############ ################################################################### if (NOT DEFINED MODEL) set (MODEL "Release") endif () ################################################################### ################################################################### ##### Following controls CDash submission ##### set(LOCAL_SUBMIT "TRUE") set(CDASH_LOCAL "FALSE") ################################################################### ### change install prefix set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_INSTALL_PREFIX:PATH=${INSTALLDIR}") #set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCTEST_CONFIGURATION_TYPE:STRING=$ENV{CMAKE_CONFIG_TYPE}") ################################################################### if(WIN32) set(BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}-win${SITE_OS_BITS}") include(${CTEST_BINARY_DIRECTORY}\\HDFoptions.cmake) include(${CTEST_SCRIPT_DIRECTORY}\\CTestScript.cmake) if(EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe") file(COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) endif() if(EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi") file(COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) endif() if(EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip") file(COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) endif() else() set(BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}") include(${CTEST_BINARY_DIRECTORY}/HDFoptions.cmake) include(${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake) if(APPLE) if(EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg") file(COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) endif() if(EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz") file(COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) endif() if(EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh") file(COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) endif() else() if(CYGWIN) if(EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh") file(COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) endif() if(EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz") file(COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) endif() else() if(EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh") file(COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) endif() if(EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz") file(COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) endif() endif() endif() endif()