Copy generated files instead creating twice
This commit is contained in:
@@ -80,13 +80,25 @@ add_executable (H5match_types
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5match_types.c
|
||||
)
|
||||
target_include_directories (H5match_types PRIVATE "${HDF5_BINARY_DIR};${HDF5_SRC_DIR};${HDF5_F90_BINARY_DIR};$<$<BOOL:${HDF5_ENABLE_PARALLEL}>:${MPI_C_INCLUDE_DIRS}>")
|
||||
|
||||
add_custom_command (
|
||||
OUTPUT ${HDF5_F90_BINARY_DIR}/H5f90i_gen.h
|
||||
${HDF5_F90_BINARY_DIR}/H5fortran_types.F90
|
||||
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:H5match_types>
|
||||
WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
|
||||
DEPENDS H5match_types
|
||||
)
|
||||
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
add_custom_command (
|
||||
OUTPUT ${HDF5_F90_BINARY_DIR}/static/H5f90i_gen.h
|
||||
${HDF5_F90_BINARY_DIR}/static/H5fortran_types.F90
|
||||
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:H5match_types>
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different "${HDF5_F90_BINARY_DIR}/H5f90i_gen.h" "${HDF5_F90_BINARY_DIR}/static/H5f90i_gen.h"
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different "${HDF5_F90_BINARY_DIR}/H5fortran_types.F90" "${HDF5_F90_BINARY_DIR}/static/H5fortran_types.F90"
|
||||
WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}/static
|
||||
DEPENDS H5match_types
|
||||
DEPENDS ${HDF5_F90_BINARY_DIR}/H5f90i_gen.h
|
||||
)
|
||||
set_source_files_properties (${HDF5_F90_BINARY_DIR}/static/H5f90i_gen.h PROPERTIES GENERATED TRUE)
|
||||
set_source_files_properties (${HDF5_F90_BINARY_DIR}/static/H5fortran_types.F90 PROPERTIES GENERATED TRUE)
|
||||
@@ -95,9 +107,12 @@ if (BUILD_SHARED_LIBS)
|
||||
add_custom_command (
|
||||
OUTPUT ${HDF5_F90_BINARY_DIR}/shared/H5f90i_gen.h
|
||||
${HDF5_F90_BINARY_DIR}/shared/H5fortran_types.F90
|
||||
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:H5match_types>
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different "${HDF5_F90_BINARY_DIR}/H5f90i_gen.h" "${HDF5_F90_BINARY_DIR}/shared/H5f90i_gen.h"
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different "${HDF5_F90_BINARY_DIR}/H5fortran_types.F90" "${HDF5_F90_BINARY_DIR}/shared/H5fortran_types.F90"
|
||||
WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}/shared
|
||||
DEPENDS H5match_types
|
||||
DEPENDS ${HDF5_F90_BINARY_DIR}/H5f90i_gen.h
|
||||
)
|
||||
set_source_files_properties (${HDF5_F90_BINARY_DIR}/shared/H5f90i_gen.h PROPERTIES GENERATED TRUE)
|
||||
set_source_files_properties (${HDF5_F90_BINARY_DIR}/shared/H5fortran_types.F90 PROPERTIES GENERATED TRUE)
|
||||
@@ -180,12 +195,20 @@ set (f90_F_GEN_SOURCES
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5Dff.F90
|
||||
${HDF5_F90_SRC_SOURCE_DIR}/H5Pff.F90
|
||||
)
|
||||
add_custom_command (
|
||||
OUTPUT ${HDF5_F90_BINARY_DIR}/H5_gen.F90
|
||||
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:H5_buildiface>
|
||||
WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}
|
||||
DEPENDS ${f90_F_GEN_SOURCES}
|
||||
COMMENT "Generating the H5_gen.F90 file"
|
||||
)
|
||||
if (NOT ONLY_SHARED_LIBS)
|
||||
add_custom_command (
|
||||
OUTPUT ${HDF5_F90_BINARY_DIR}/static/H5_gen.F90
|
||||
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:H5_buildiface>
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different "${HDF5_F90_BINARY_DIR}/H5_gen.F90" "${HDF5_F90_BINARY_DIR}/static/H5_gen.F90"
|
||||
WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}/static
|
||||
DEPENDS ${f90_F_GEN_SOURCES}
|
||||
DEPENDS ${HDF5_F90_BINARY_DIR}/H5_gen.F90
|
||||
COMMENT "Generating the H5_gen.F90 file"
|
||||
)
|
||||
add_custom_target (H5gen ALL
|
||||
@@ -197,9 +220,10 @@ endif ()
|
||||
if (BUILD_SHARED_LIBS)
|
||||
add_custom_command (
|
||||
OUTPUT ${HDF5_F90_BINARY_DIR}/shared/H5_gen.F90
|
||||
COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:H5_buildiface>
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy_if_different "${HDF5_F90_BINARY_DIR}/H5_gen.F90" "${HDF5_F90_BINARY_DIR}/shared/H5_gen.F90"
|
||||
WORKING_DIRECTORY ${HDF5_F90_BINARY_DIR}/shared
|
||||
DEPENDS ${f90_F_GEN_SOURCES}
|
||||
DEPENDS ${HDF5_F90_BINARY_DIR}/H5_gen.F90
|
||||
COMMENT "Generating the H5_gen.F90 shared file"
|
||||
)
|
||||
add_custom_target (H5genSH ALL
|
||||
|
||||
Reference in New Issue
Block a user