Skip to content

Commit

Permalink
enh: move fortran symbols into main lib
Browse files Browse the repository at this point in the history
also fix missing install of blueprint fortran mod files
  • Loading branch information
cyrush committed Dec 8, 2016
1 parent 9a9be99 commit 309d9ef
Show file tree
Hide file tree
Showing 9 changed files with 131 additions and 314 deletions.
47 changes: 37 additions & 10 deletions src/libs/blueprint/CMakeLists.txt
Expand Up @@ -93,15 +93,29 @@ set(blueprint_c_sources
c/conduit_blueprint_mesh_c.cpp
)

#################################
# Add fortran interface
# if fortran support was selected
#################################

if(FORTRAN_FOUND)
#
# Specify fortran sources
#
set(blueprint_fortran_sources
fortran/conduit_blueprint_fortran.f
fortran/conduit_blueprint_mcarray_fortran.f
fortran/conduit_blueprint_mesh_fortran.f)

endif()

#
# Setup conduit blueprint lib
#
add_compiled_library(NAME conduit_blueprint
EXPORT conduit
HEADERS ${blueprint_headers} ${blueprint_c_headers}
SOURCES ${blueprint_sources} ${blueprint_c_sources}
HEADERS ${blueprint_headers} ${blueprint_c_headers}
SOURCES ${blueprint_sources} ${blueprint_c_sources} ${blueprint_fortran_sources}
HEADERS_DEST_DIR include/conduit)


Expand All @@ -110,6 +124,27 @@ add_compiled_library(NAME conduit_blueprint
#
target_link_libraries(conduit_blueprint conduit)

if(FORTRAN_FOUND)
set_target_properties(conduit_blueprint
PROPERTIES Fortran_FORMAT "FREE")

###############################################################################
# Special install targets for conduit fortran modules
###############################################################################

set(conduit_blueprint_fortran_modules
${CMAKE_Fortran_MODULE_DIRECTORY}/conduit_blueprint.mod
${CMAKE_Fortran_MODULE_DIRECTORY}/conduit_blueprint_mesh.mod
${CMAKE_Fortran_MODULE_DIRECTORY}/conduit_blueprint_mcarray.mod)

# Setup install to copy the fortran modules
install(FILES
${conduit_blueprint_fortran_modules}
DESTINATION include/conduit)

endif()


###################################
# add conduit_blueprint_verify exe
###################################
Expand All @@ -129,11 +164,3 @@ if(PYTHON_FOUND)
add_subdirectory(python)
endif()

#################################
# Add fortran interface lib
# if fortran support was selected
#################################
if(FORTRAN_FOUND)
add_subdirectory(fortran)
endif()

87 changes: 0 additions & 87 deletions src/libs/blueprint/fortran/CMakeLists.txt

This file was deleted.

70 changes: 64 additions & 6 deletions src/libs/conduit/CMakeLists.txt
Expand Up @@ -121,16 +121,61 @@ set(conduit_c_sources
)



#################################
# Add fortran interface lib
# if fortran support was selected
#################################
if(FORTRAN_FOUND)
# Create include file with bitwidth style mappings for fortran
configure_file ("${CMAKE_CURRENT_SOURCE_DIR}/fortran/conduit_fortran_bitwidth_style_types.inc.in"
"conduit_fortran_bitwidth_style_types.inc")

# Allow fortran compiler to include the Bitwidth_Style_Types.inc file
# Note: Unlike .h files, the .inc file will not be needed by client code
include_directories(${CMAKE_CURRENT_BINARY_DIR})

#
# Specify fortran sources
#
set(conduit_fortran_sources
fortran/conduit_fortran.F)

# add oo interface if the fortran compiler supports it
if(ENABLE_FORTRAN_OBJ_INTERFACE)
list(APPEND conduit_fortran_sources fortran/conduit_fortran_obj.f)
endif()

endif()

#
# Setup the conduit lib
#
add_compiled_library(NAME conduit
EXPORT conduit
HEADERS ${conduit_headers} ${conduit_c_headers}
SOURCES ${conduit_sources} ${conduit_c_sources}
SOURCES ${conduit_sources} ${conduit_c_sources} ${conduit_fortran_sources}
$<TARGET_OBJECTS:conduit_b64>
HEADERS_DEST_DIR include/conduit)


#################################
# Fortran related target options
#################################
if(FORTRAN_FOUND)
set_target_properties(conduit PROPERTIES Fortran_FORMAT "FREE")

if("${CMAKE_Fortran_COMPILER_ID}" STREQUAL "GNU")
# disable c <-> fortran binding warnings for gfortran
message(STATUS "Disabling c <-> fortran binding warnings for "
"conduit "
"(Adding Fortran compiler flag: -Wno-c-binding-type)")

set_source_files_properties(${conduit_fortran_sources}
PROPERTIES COMPILE_FLAGS "-Wno-c-binding-type")
endif()
endif()

################################
# Add python wrappers if python
# support was selected
Expand All @@ -139,10 +184,23 @@ if(PYTHON_FOUND)
add_subdirectory(python)
endif()

#################################
# Add fortran interface lib
# if fortran support was selected
#################################

####################################################################
# Special install targets for conduit fortran modules
####################################################################
if(FORTRAN_FOUND)
add_subdirectory(fortran)
set(conduit_fortran_modules
${CMAKE_Fortran_MODULE_DIRECTORY}/conduit.mod)

if(ENABLE_FORTRAN_OBJ_INTERFACE)
list(APPEND conduit_fortran_modules
${CMAKE_Fortran_MODULE_DIRECTORY}/conduit_obj.mod)
endif()

# Setup install to copy the fortran modules
install(FILES
${conduit_fortran_modules}
DESTINATION include/conduit)
endif()


114 changes: 0 additions & 114 deletions src/libs/conduit/fortran/CMakeLists.txt

This file was deleted.

0 comments on commit 309d9ef

Please sign in to comment.