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(NOT PHASTA_CHEF_ENABLED) 19 set(SRC_FILES ${SRC_FILES} phstreamEmpty/phstreamEmpty.cc) 20 set(PHASTA_COMMON_INCLUDE_DIRS 21 ${PHASTA_COMMON_INCLUDE_DIRS} 22 ${CMAKE_CURRENT_SOURCE_DIR}/phstreamEmpty) 23endif() 24 25include_directories(${PHASTA_COMMON_INCLUDE_DIRS}) 26 27ADD_LIBRARY(common ${SRC_FILES}) 28if(CMAKE_Fortran_COMPILER_ID MATCHES XL) 29 set_source_files_properties(fillsparse.f PROPERTIES COMPILE_FLAGS 30"-qsuffix=cpp=f") 31 set_source_files_properties(petscdbg.f PROPERTIES COMPILE_FLAGS 32"-qsuffix=cpp=f") 33endif(CMAKE_Fortran_COMPILER_ID MATCHES XL) 34TARGET_LINK_LIBRARIES(common PUBLIC ${PHASTA_COMMON_LIBS}) 35if(PHASTA_CHEF_ENABLED) 36 TARGET_LINK_LIBRARIES(common PUBLIC SCOREC::ph) 37endif() 38 39configure_file( 40 "${CMAKE_CURRENT_SOURCE_DIR}/phastaCommonConfig.cmake.in" 41 "${CMAKE_BINARY_DIR}/phastaCommonConfig.cmake" 42) 43 44get_git_head_revision(GIT_REFSPEC GIT_SHA1) 45set(git_hash_string "# git hash ${GIT_SHA1}") 46execute_process( 47 COMMAND echo ${git_hash_string} 48 COMMAND cat - input.config 49 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 50 OUTPUT_FILE ${CMAKE_BINARY_DIR}/input.config 51) 52 53if(PHASTA_TESTING) 54 add_subdirectory(test) 55endif(PHASTA_TESTING) 56