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 44execute_process( 45 COMMAND git rev-parse HEAD 46 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 47 OUTPUT_VARIABLE git_hash 48) 49set(git_hash_string "# git hash ${git_hash}") 50execute_process( 51 COMMAND echo -n ${git_hash_string} 52 COMMAND cat - input.config 53 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} 54 OUTPUT_FILE ${CMAKE_BINARY_DIR}/input.config 55) 56 57if(PHASTA_TESTING) 58 add_subdirectory(test) 59endif(PHASTA_TESTING) 60