On Nov 16, 2010, at 1:59 PM, Brad King wrote:

Hi Noel,

On 11/16/2010 01:11 PM, K. Noel Belcourt wrote:
I've attached my project's top-level Makefile.  I'm trying to force
all the modules in the project to build first so I created a single
library called modules that contains all my Fortran 90 module files.
I'm invoking the Makefile explicitly passing the modules as the
target to build (so I can build a clean project in two steps: make
modules ; make)

What CMake code are you using to create this "modules" target?

The modules CMakeLists.txt is attached.

The Fortran module dependencies implementation is hidden inside the
Makefile generators.  There is no API to access any of its timestamp
files or scanning rules.

I'm not doing anything special.

-- Noel

# Author K. Noel Belcourt

set( MODULES_DIR "${MELCOR_SRC_DIR}/Modules" )
set( DCH_DIR "${MELCOR_SRC_DIR}/DCH" )
set( SNAP_DIR "${MELCOR_SRC_DIR}/SNAPAdapter" )
set( EXEC_DIR "${MELCOR_SRC_DIR}/exec" )
set( UTIL_DIR "${MELCOR_SRC_DIR}/Util" )
set( H2C_DIR "${MELCOR_SRC_DIR}/H2C" )

# uncomment next line to enable Pardiso solver
# add_definitions(-DMKL)

SET(SRCS
  ${MODULES_DIR}/M_Arguments.f90
  ${MODULES_DIR}/M_BONUS.f90
  ${MODULES_DIR}/M_BONUS_MELCOR.f90
  ${MODULES_DIR}/M_BUR_SC.f90
  ${MODULES_DIR}/M_Bur.f90
  ${MODULES_DIR}/M_CAV.f90
  ${MODULES_DIR}/M_CAVProp.F90
  ${MODULES_DIR}/M_CAV_SC.f90
  ${MODULES_DIR}/M_CF-TF.f90
  ${MODULES_DIR}/m_cleanstop.f90
  ${MODULES_DIR}/M_COR.f90
  ${MODULES_DIR}/M_COR_SC.f90
  ${MODULES_DIR}/M_COR_Variant.f90
  ${MODULES_DIR}/M_CVH.f90
  ${MODULES_DIR}/M_CVHFP.f90
  ${MODULES_DIR}/M_CVH_SC.f90
  ${MODULES_DIR}/M_Const.f90
  ${MODULES_DIR}/M_DCH.f90
  ${MODULES_DIR}/M_DCH_SC.f90
  ${MODULES_DIR}/M_Debug.F90
  ${MODULES_DIR}/M_DefaultFlagGlobals.f90
  ${MODULES_DIR}/M_dif2.f90
  ${MODULES_DIR}/M_DisplayConfiguration.F90
  ${MODULES_DIR}/M_Drop.f90
  ${MODULES_DIR}/M_EDF.f90
  ${MODULES_DIR}/M_ESF.f90
  ${MODULES_DIR}/M_ESF_SC.f90
  ${MODULES_DIR}/M_EXEC.f90
  ${MODULES_DIR}/m_execrtn.f90
  ${MODULES_DIR}/M_FDI.f90
  ${MODULES_DIR}/M_FDI_SC.f90
  ${MODULES_DIR}/M_FP.f90
  ${MODULES_DIR}/M_H2O.f90
  ${MODULES_DIR}/M_H2OD1.f90
  ${MODULES_DIR}/M_H2OD2.f90
  ${MODULES_DIR}/M_H2OD3.f90
  ${MODULES_DIR}/M_H2OD4.f90
  ${MODULES_DIR}/M_H2O_SC.f90
  ${MODULES_DIR}/M_HS.f90
  ${MODULES_DIR}/M_HS_SC.f90
  ${MODULES_DIR}/M_Input.f90
  ${MODULES_DIR}/M_isnan.f90
  ${MODULES_DIR}/M_kind.f90
  ${MODULES_DIR}/M_MP.f90
  ${MODULES_DIR}/M_MatCVH.f90
  ${MODULES_DIR}/M_MatFP.f90
  ${MODULES_DIR}/M_Matrix.f90
  ${MODULES_DIR}/M_Melcor.F90
  ${MODULES_DIR}/M_MELCOR-MACCS.F90
  ${MODULES_DIR}/M_NCG.f90
  ${MODULES_DIR}/M_NCG_SC.f90
  ${MODULES_DIR}/M_Package.f90
  ${MODULES_DIR}/m_packagertn.f90
  ${MODULES_DIR}/M_parallel.f90
  ${MODULES_DIR}/M_Plot.f90
  ${MODULES_DIR}/M_PreFormat.f90
  ${MODULES_DIR}/M_PreProcess.F90
  ${MODULES_DIR}/M_RN1.F90
  ${MODULES_DIR}/M_RN1_SC.f90
  ${MODULES_DIR}/m_RstGlobals.f90
  ${MODULES_DIR}/M_RW_Restart.f90
  ${MODULES_DIR}/M_SHsupport.f
  ${MODULES_DIR}/M_SPR.f90
  ${MODULES_DIR}/M_SPR_SC.f90
  ${MODULES_DIR}/M_SouCVH.f90
  ${MODULES_DIR}/M_StrCmp.f90
  ${MODULES_DIR}/M_StrUp.f90
  ${MODULES_DIR}/M_TP.f90
  ${MODULES_DIR}/M_Table.f90
  ${MODULES_DIR}/M_timer.f90
  ${MODULES_DIR}/M_Values.f90
  ${MODULES_DIR}/M_isnan.f90
  ${MODULES_DIR}/M_util.F90
  ${MODULES_DIR}/m_easymessage.F90
#
# files from here down copied in from other directories
#
  ${SNAP_DIR}/CSnapFacesM.f90
  ${DCH_DIR}/DCH_RW.F90
  ${DCH_DIR}/ElemDB.F90
  ${UTIL_DIR}/ExecSuspend.f90
  ${UTIL_DIR}/FileRoutines.f90
  ${UTIL_DIR}/OutputTiming.f90
  ${EXEC_DIR}/replace.f90
  ${UTIL_DIR}/string.f90
  ${SNAP_DIR}/SnapGlobal.f90
  ${UTIL_DIR}/PARDISO3_NSI.f90
)

ADD_LIBRARY(modules ${SRCS})

target_link_libraries(modules bonus h2c rn1 rn2)



_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to