|
|
@@ -22,5 +22,34 @@ IF(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
|
|
|
in_interface/main.f90
|
|
|
in_interface/module.f90)
|
|
|
|
|
|
+ # Build the external project separately using a custom target.
|
|
|
+ # Make sure it uses the same build configuration as this test.
|
|
|
+ IF(CMAKE_CONFIGURATION_TYPES)
|
|
|
+ SET(External_CONFIG_TYPE -C "${CMAKE_CFG_INTDIR}")
|
|
|
+ ELSE(CMAKE_CONFIGURATION_TYPES)
|
|
|
+ SET(External_CONFIG_TYPE)
|
|
|
+ ENDIF(CMAKE_CONFIGURATION_TYPES)
|
|
|
+ ADD_CUSTOM_COMMAND(
|
|
|
+ OUTPUT ${testf_BINARY_DIR}/ExternalProject
|
|
|
+ COMMAND ${CMAKE_CTEST_COMMAND}
|
|
|
+ ARGS ${External_CONFIG_TYPE}
|
|
|
+ --build-and-test
|
|
|
+ ${testf_SOURCE_DIR}/External
|
|
|
+ ${testf_BINARY_DIR}/External
|
|
|
+ --build-noclean
|
|
|
+ --build-two-config
|
|
|
+ --build-project ExtFort
|
|
|
+ --build-generator ${CMAKE_GENERATOR}
|
|
|
+ --build-makeprogram ${CMAKE_MAKE_PROGRAM}
|
|
|
+ --build-options -DCMAKE_Fortran_COMPILER:STRING=${CMAKE_Fortran_COMPILER}
|
|
|
+ -DCMAKE_Fortran_FLAGS:STRING=${CMAKE_Fortran_FLAGS}
|
|
|
+ -DCMAKE_Fortran_FLAGS_DEBUG:STRING=${CMAKE_Fortran_FLAGS_DEBUG}
|
|
|
+ -DCMAKE_Fortran_FLAGS_RELEASE:STRING=${CMAKE_Fortran_FLAGS_RELEASE}
|
|
|
+ -DCMAKE_Fortran_FLAGS_MINSIZEREL:STRING=${CMAKE_Fortran_FLAGS_MINSIZEREL}
|
|
|
+ -DCMAKE_Fortran_FLAGS_RELWITHDEBINFO:STRING=${CMAKE_Fortran_FLAGS_RELWITHDEBINFO}
|
|
|
+ )
|
|
|
+ ADD_CUSTOM_TARGET(ExternalTarget ALL DEPENDS ${testf_BINARY_DIR}/ExternalProject)
|
|
|
+
|
|
|
ADD_SUBDIRECTORY(Library)
|
|
|
+ ADD_SUBDIRECTORY(Executable)
|
|
|
ENDIF(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
|