[Cmake] Using CMake for scientific computing ?

Andy Cedilnik andy.cedilnik at kitware.com
Wed Mar 12 16:56:12 EST 2003


Hi Christophe,

Send to fast.

There is more: 

You can do something like:

IF(WIN32)
  MESSAGE("Cannot do this on windows I guess")
ELSE(WIN32)
  EXEC_PROGRAM(ls ${FortranProject_SOURCE_DIR}
               ARGS *.f
               OUTPUT_VARIABLE RSOURCES)
ENDIF(WIN32)

Then you can do something like:

SET(SOURCES "")
FOREACH(rsrc ${RSOURCES})
  GET_FILENAME_COMPONENT(src ${rsrc} NAME_WE)
  SET(SOURCES ${SOURCES} ${src})
ENDFOREACH(rsrc)

				Andy

On Wed, 2003-03-12 at 16:51, Andy Cedilnik wrote:
> Hi Christophe,
> 
> Some CMake 1.6 magic here, so make sure to update.
> 
> PROJECT(FortranProject)
> 
> ADD_CUSTOM_TARGET(Project ALL)
> 
> FOREACH(source ${SOURCES})
>   ADD_CUSTOM_COMMAND(TARGET Project
>                      SOURCE ${FortranProject_SOURCE_DIR}/${source}.f
>                      COMMAND g77
>                      ARGS -o ${FortranProject_BINARY_DIR}/${source}.o
>                              ${FortranProject_SOURCE_DIR}/${source}.f
>                      OUTPUTS ${FortranProject_BINARY_DIR}/${source}.o)
>   SET(OUTPUTS ${OUTPUTS} ${FortranProject_BINARY_DIR}/${source}.o)
>   SET(OUTPUTS_STRING 
>    "${OUTPUTS_STRING}  ${FortranProject_BINARY_DIR}/${source}.o")
> ENDFOREACH(source)
> ADD_CUSTOM_COMMAND(TARGET Project
>                    COMMAND ar 
>                    ARGS cr ${FortranProject_BINARY_DIR}/libProject.a
>                     ${OUTPUTS_STRING}
>                    OUTPUTS ${FortranProject_BINARY_DIR}/libProject.a
>                    DEPENDS ${OUTPUTS})
> 
> ADD_CUSTOM_COMMAND(TARGET Project
>                    SOURCE Project
>                    DEPENDS  ${FortranProject_BINARY_DIR}/libProject.a)
> 





More information about the CMake mailing list