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