diff options
Diffstat (limited to 'fortran/examples/CMakeLists.txt')
-rw-r--r-- | fortran/examples/CMakeLists.txt | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/fortran/examples/CMakeLists.txt b/fortran/examples/CMakeLists.txt new file mode 100644 index 0000000..00b76a4 --- /dev/null +++ b/fortran/examples/CMakeLists.txt @@ -0,0 +1,61 @@ +cmake_minimum_required (VERSION 2.8) +# -------------------------------------------------------------------- +# Notes: When creating examples they should be prefixed +# with "f90_ex_". This allows for easier filtering of the examples. +# -------------------------------------------------------------------- +PROJECT (HDF5_F90_EXAMPLES C CXX Fortran) + +#----------------------------------------------------------------------------- +# Setup include Directories +#----------------------------------------------------------------------------- +INCLUDE_DIRECTORIES (${CMAKE_Fortran_MODULE_DIRECTORY} ${HDF5_F90_BINARY_DIR} ${HDF5_F90_SOURCE_DIR}/src) +LINK_DIRECTORIES ( + ${CMAKE_Fortran_MODULE_DIRECTORY} + ${HDF5_F90_BINARY_DIR} + ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} +) + +#----------------------------------------------------------------------------- +# Define Sources +#----------------------------------------------------------------------------- +SET (examples + dsetexample + fileexample + rwdsetexample + attrexample + groupexample + grpsexample + grpdsetexample + hyperslab + selectele + grpit + refobjexample + refregexample + mountexample + compound +) + +FOREACH (example ${examples}) + ADD_EXECUTABLE (f90_ex_${example} ${HDF5_F90_EXAMPLES_SOURCE_DIR}/${example}.f90) + H5_NAMING (f90_ex_${example}) + IF (WIN32) + IF (BUILD_SHARED_LIBS) + IF (MSVC) + SET_TARGET_PROPERTIES (f90_ex_${example} + PROPERTIES + COMPILE_FLAGS "/dll" + LINK_FLAGS "/SUBSYSTEM:CONSOLE" + ) + ENDIF (MSVC) + ENDIF (BUILD_SHARED_LIBS) + SET_PROPERTY (TARGET f90_ex_${example} + APPEND PROPERTY COMPILE_DEFINITIONS + HDF5F90_WINDOWS + ) + SET_TARGET_PROPERTIES (f90_ex_${example} PROPERTIES LINKER_LANGUAGE Fortran) + ENDIF (WIN32) + TARGET_LINK_LIBRARIES (f90_ex_${example} + ${HDF5_F90_LIB_TARGET} + ${HDF5_LIB_TARGET} + ) +ENDFOREACH (example ${examples}) |