From ec76ca98c1a11b4943d39ff392d214c61eebc7cb Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Wed, 10 Aug 2011 16:14:21 -0500 Subject: [svn-r21217] Change CTEST_NAME to HDF5 - the project name Implement InitOnceExecuteOnce - HDFFV-5929 Change command to generate output source files Tested: local linux, windows --- CMakeLists.txt | 11 ++++++++++- CTestConfig.cmake | 3 +-- config/cmake/ConfigureChecks.cmake | 4 ++-- fortran/src/CMakeLists.txt | 31 +++++++++++++------------------ src/CMakeLists.txt | 21 +++------------------ 5 files changed, 29 insertions(+), 41 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6aedef8..ac3acd0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -371,7 +371,11 @@ ENDIF (CMAKE_BUILD_TYPE MATCHES Debug) # Compiler specific flags : Shouldn't there be compiler tests for these #----------------------------------------------------------------------------- IF (CMAKE_COMPILER_IS_GNUCC) + IF (CMAKE_BUILD_TYPE MATCHES Debug) + SET (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -finline-functions -fno-common") + ELSE (CMAKE_BUILD_TYPE MATCHES Debug) SET (CMAKE_C_FLAGS "${CMAKE_ANSI_CFLAGS} ${CMAKE_C_FLAGS} -std=c99 -fomit-frame-pointer -finline-functions -fno-common") + ENDIF (CMAKE_BUILD_TYPE MATCHES Debug) ENDIF (CMAKE_COMPILER_IS_GNUCC) #----------------------------------------------------------------------------- @@ -593,6 +597,11 @@ IF (WIN32 AND NOT CYGWIN) IF (H5_HAVE_IOEO) MESSAGE (STATUS " **** Windows Threads only available in WINVER>=0x600 (Vista or Windows 7)**** ") SET (H5_HAVE_WIN_THREADS 1) + ELSE (H5_HAVE_IOEO) + IF (NOT H5_HAVE_PTHREAD_H) + SET (H5_HAVE_THREADSAFE 0) + MESSAGE (FATAL " **** Threadsafe option requires thread library **** ") + ENDIF (NOT H5_HAVE_PTHREAD_H) ENDIF (H5_HAVE_IOEO) ENDIF (HDF5_ENABLE_THREADSAFE) ENDIF (WIN32 AND NOT CYGWIN) @@ -844,7 +853,7 @@ IF (NOT HDF5_EXTERNALLY_CONFIGURED) IF (HDF5_ENABLE_PARALLEL) SET (release_files ${release_files} - ${HDF5_SOURCE_DIR}/release_docs/INSTALL_parallel.txt + ${HDF5_SOURCE_DIR}/release_docs/INSTALL_parallel ) ENDIF (HDF5_ENABLE_PARALLEL) INSTALL ( diff --git a/CTestConfig.cmake b/CTestConfig.cmake index fbd1dfc..655f76d 100644 --- a/CTestConfig.cmake +++ b/CTestConfig.cmake @@ -4,15 +4,14 @@ ## # The following are required to uses Dart and the Cdash dashboard ## ENABLE_TESTING() ## INCLUDE(CTest) +SET (CTEST_PROJECT_NAME "HDF5") SET (CTEST_DROP_METHOD "http") IF (CDASH_LOCAL) - SET (CTEST_PROJECT_NAME "HDF5.1.8") SET (CTEST_NIGHTLY_START_TIME "20:00:00 CST") SET (CTEST_DROP_SITE "nei.hdfgroup.uiuc.edu") SET (CTEST_DROP_LOCATION "/cdash/submit.php?project=HDF5.1.8") ELSE (CDASH_LOCAL) - SET (CTEST_PROJECT_NAME "HDF518") SET (CTEST_NIGHTLY_START_TIME "00:00:00 EST") SET (CTEST_DROP_SITE "cdash.hdfgroup.uiuc.edu") SET (CTEST_DROP_LOCATION "/submit.php?project=HDF518") diff --git a/config/cmake/ConfigureChecks.cmake b/config/cmake/ConfigureChecks.cmake index 9c9c8d1..332239b 100644 --- a/config/cmake/ConfigureChecks.cmake +++ b/config/cmake/ConfigureChecks.cmake @@ -590,7 +590,7 @@ ENDIF (NOT WINDOWS) #----------------------------------------------------------------------------- # Check if InitOnceExecuteOnce is available #----------------------------------------------------------------------------- -IF (WINDOWS) +IF (WINDOWS AND NOT HDF5_NO_IOEO_TEST) MESSAGE (STATUS "Checking for InitOnceExecuteOnce:") IF("${H5_HAVE_IOEO}" MATCHES "^${H5_HAVE_IOEO}$") IF (LARGEFILE) @@ -648,7 +648,7 @@ IF (WINDOWS) "Return value: ${HAVE_IOEO_EXITCODE}\n") ENDIF("${HAVE_IOEO_EXITCODE}" EQUAL 0) ENDIF("${H5_HAVE_IOEO}" MATCHES "^${H5_HAVE_IOEO}$") -ENDIF (WINDOWS) +ENDIF (WINDOWS AND NOT HDF5_NO_IOEO_TEST) #----------------------------------------------------------------------------- diff --git a/fortran/src/CMakeLists.txt b/fortran/src/CMakeLists.txt index d5cbc1b..e2da265 100644 --- a/fortran/src/CMakeLists.txt +++ b/fortran/src/CMakeLists.txt @@ -2,15 +2,6 @@ cmake_minimum_required (VERSION 2.8) PROJECT (HDF5_F90_SRC C CXX Fortran) #----------------------------------------------------------------------------- -# When building utility executables that generate other (source) files : -# we make use of the following variables defined in the root CMakeLists. -# Certain systems may add /Debug or /Release to output paths -# and we need to call the executable from inside the CMake configuration -#----------------------------------------------------------------------------- -#inherit EXE_EXT from parent HDF5 cmake project -#inherit CFG_INIT from parent HDF5 cmake project - -#----------------------------------------------------------------------------- # Setup the Fortran auto-detection utilities # H5test_kind(_SIZEOF).f90 used to generate H5fortran_detect.f90 # H5fortran_detect.f90 used to generate H5fort_type_defines.h @@ -39,7 +30,7 @@ IF (WIN32 AND MSVC) ENDIF (WIN32 AND MSVC) SET_TARGET_PROPERTIES (H5test_FortranHavekind PROPERTIES LINKER_LANGUAGE Fortran) -SET (CMD ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${CFG_INIT}/H5test_FortranHavekind${EXE_EXT}) +SET (CMD $) ADD_CUSTOM_COMMAND ( OUTPUT ${HDF5_F90_BINARY_DIR}/H5fortran_detect.f90 COMMAND ${CMD} @@ -63,9 +54,9 @@ IF (WIN32 AND MSVC) LINK_FLAGS "/SUBSYSTEM:CONSOLE" ) ENDIF (WIN32 AND MSVC) -SET_TARGET_PROPERTIES (H5test_FortranHavekind PROPERTIES LINKER_LANGUAGE Fortran) +SET_TARGET_PROPERTIES (H5fortran_detect PROPERTIES LINKER_LANGUAGE Fortran) -SET (CMD ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${CFG_INIT}/H5fortran_detect${EXE_EXT}) +SET (CMD $) ADD_CUSTOM_COMMAND ( OUTPUT ${HDF5_F90_BINARY_DIR}/H5fort_type_defines.h COMMAND ${CMD} @@ -80,7 +71,7 @@ ADD_EXECUTABLE (H5match_types ${HDF5_F90_BINARY_DIR}/H5fort_type_defines.h ${HDF5_F90_SRC_SOURCE_DIR}/H5match_types.c ) -SET (CMD ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${CFG_INIT}/H5match_types${EXE_EXT}) +SET (CMD $) ADD_CUSTOM_COMMAND ( OUTPUT ${HDF5_F90_BINARY_DIR}/H5f90i_gen.h ${HDF5_F90_BINARY_DIR}/H5fortran_types.f90 @@ -189,16 +180,20 @@ SET (SHARED_LINK_FLAGS " ") IF (WIN32 AND NOT CYGWIN) IF (BUILD_SHARED_LIBS) SET_PROPERTY (TARGET ${HDF5_F90_LIB_TARGET} - APPEND PROPERTY COMPILE_DEFINITIONS - BUILD_HDF5_DLL - ) + APPEND PROPERTY COMPILE_DEFINITIONS + BUILD_HDF5_DLL + ) IF (MSVC) - SET (SHARED_LINK_FLAGS "/DLL /DEF:${HDF5_F90_SRC_SOURCE_DIR}/hdf5_fortrandll.def") + IF (H5_HAVE_PARALLEL) + SET (SHARED_LINK_FLAGS "/DLL /DEF:${HDF5_F90_SRC_SOURCE_DIR}/phdf5_fortrandll.def") + ELSE (H5_HAVE_PARALLEL) + SET (SHARED_LINK_FLAGS "/DLL /DEF:${HDF5_F90_SRC_SOURCE_DIR}/hdf5_fortrandll.def") + ENDIF (H5_HAVE_PARALLEL) ENDIF (MSVC) ENDIF (BUILD_SHARED_LIBS) SET_PROPERTY (TARGET ${HDF5_F90_LIB_TARGET} APPEND PROPERTY COMPILE_DEFINITIONS - HDF5F90_WINDOWS + HDF5F90_WINDOWS ) ENDIF (WIN32 AND NOT CYGWIN) TARGET_FORTRAN_WIN_PROPERTIES (${HDF5_F90_LIB_TARGET} ${SHARED_LINK_FLAGS}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index d4df2b9..b56e1b9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -562,27 +562,15 @@ INCLUDE_DIRECTORIES (${HDF5_SOURCE_DIR}) INCLUDE_DIRECTORIES (${CMAKE_BINARY_DIR}) #----------------------------------------------------------------------------- -# When building utility executables that generate other (source) files : -# we make use of the following variables defined in the root CMakeLists. -# Certain systems may add /Debug or /Release to output paths -# and we need to call the executable from inside the CMake configuration -#----------------------------------------------------------------------------- -#inherit EXE_EXT from parent HDF5 cmake project -#inherit CFG_INIT from parent HDF5 cmake project - -#----------------------------------------------------------------------------- # Setup the H5Detect utility which generates H5Tinit with platform # specific type checks inside #----------------------------------------------------------------------------- -SET (CMD ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${CFG_INIT}/H5detect${EXE_EXT}) -IF (XCODE) - SET (CMD "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/\${CONFIGURATION}/H5detect") -ENDIF (XCODE) ADD_EXECUTABLE (H5detect ${HDF5_SRC_DIR}/H5detect.c) IF (MSVC) TARGET_LINK_LIBRARIES (H5detect "ws2_32.lib") ENDIF (MSVC) +SET (CMD $) ADD_CUSTOM_COMMAND ( OUTPUT ${HDF5_BINARY_DIR}/H5Tinit.c COMMAND ${CMD} @@ -590,18 +578,15 @@ ADD_CUSTOM_COMMAND ( DEPENDS H5detect ) -SET (CMDL ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}${CFG_INIT}/H5make_libsettings${EXE_EXT}) -IF (XCODE) - SET (CMDL "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/\${CONFIGURATION}/H5make_libsettings") -ENDIF (XCODE) ADD_EXECUTABLE (H5make_libsettings ${HDF5_SRC_DIR}/H5make_libsettings.c) IF (MSVC) TARGET_LINK_LIBRARIES (H5make_libsettings "ws2_32.lib") ENDIF (MSVC) +SET (CMD $) ADD_CUSTOM_COMMAND ( OUTPUT ${HDF5_BINARY_DIR}/H5lib_settings.c - COMMAND ${CMDL} + COMMAND ${CMD} ARGS > ${HDF5_BINARY_DIR}/H5lib_settings.c DEPENDS H5make_libsettings ) -- cgit v0.12