1# collect all the source files 2FILE(GLOB SRC_FILES *.cc *.f *.f90 *.c *.F90) 3set(PHASTA_COMMON_INCLUDE_DIRS) 4set(PHASTA_COMMON_LIBS) 5if(PHASTA_USE_MPI) 6 add_definitions(-DOMPI_SKIP_MPICXX=1) 7 set(PHASTA_COMMON_INCLUDE_DIRS ${PHASTA_COMMON_INCLUDE_DIRS} 8 ${CMAKE_CURRENT_SOURCE_DIR} 9 ${MPI_INCLUDE_PATH} 10 ${MPI_Fortran_INCLUDE_PATH} 11 ) 12 set(PHASTA_COMMON_LIBS ${PHASTA_COMMON_LIBS} 13 ${MPI_LIBRARIES} 14 ${MPI_Fortran_LIBRARIES} 15 ) 16endif(PHASTA_USE_MPI) 17 18if(PHASTA_CHEF_ENABLED) 19 set(PHASTA_COMMON_LIBS ${PHASTA_COMMON_LIBS} phstream) 20 set(PHASTA_COMMON_INCLUDE_DIRS 21 ${PHASTA_COMMON_INCLUDE_DIRS} 22 ${PHASTACHEF_SOURCE_DIR}/phstream 23 ) 24else() 25 set(SRC_FILES ${SRC_FILES} phstreamEmpty/phstreamEmpty.cc) 26 set(PHASTA_COMMON_INCLUDE_DIRS 27 ${PHASTA_COMMON_INCLUDE_DIRS} 28 ${CMAKE_CURRENT_SOURCE_DIR}/phstreamEmpty) 29endif() 30 31include_directories(${PHASTA_COMMON_INCLUDE_DIRS}) 32 33ADD_LIBRARY(common ${SRC_FILES}) 34if(CMAKE_Fortran_COMPILER_ID MATCHES XL) 35 set_source_files_properties(fillsparse.f PROPERTIES COMPILE_FLAGS 36"-qsuffix=cpp=f") 37 set_source_files_properties(petscdbg.f PROPERTIES COMPILE_FLAGS 38"-qsuffix=cpp=f") 39endif(CMAKE_Fortran_COMPILER_ID MATCHES XL) 40TARGET_LINK_LIBRARIES(common ${PHASTA_COMMON_LIBS}) 41 42configure_file( 43 "${CMAKE_CURRENT_SOURCE_DIR}/phastaCommonConfig.cmake.in" 44 "${CMAKE_BINARY_DIR}/phastaCommonConfig.cmake" 45) 46 47execute_process( 48 COMMAND git rev-parse HEAD 49 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 50 OUTPUT_VARIABLE git_hash 51) 52set(git_hash_string "# git hash ${git_hash}") 53execute_process( 54 COMMAND echo -n ${git_hash_string} 55 COMMAND cat - input.config 56 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 57 OUTPUT_FILE ${CMAKE_BINARY_DIR}/input.config 58) 59 60if(PHASTA_TESTING) 61 add_subdirectory(test) 62endif(PHASTA_TESTING) 63