xref: /phasta/phSolver/common/CMakeLists.txt (revision 74b268397c97eef39f36c07e443e8602011cd444)
159599516SKenneth E. Jansen# collect all the source files
259599516SKenneth E. JansenFILE(GLOB SRC_FILES *.cc *.f *.f90 *.c *.F90)
3295809c6SCameron Smithset(PHASTA_COMMON_INCLUDE_DIRS)
4295809c6SCameron Smithset(PHASTA_COMMON_LIBS)
559599516SKenneth E. Jansenif(PHASTA_USE_MPI)
659599516SKenneth E. Jansen  add_definitions(-DOMPI_SKIP_MPICXX=1)
7295809c6SCameron Smith  set(PHASTA_COMMON_INCLUDE_DIRS ${PHASTA_COMMON_INCLUDE_DIRS}
807df5f19SCameron Smith    ${CMAKE_CURRENT_SOURCE_DIR}
9295809c6SCameron Smith    ${MPI_INCLUDE_PATH}
10295809c6SCameron Smith    ${MPI_Fortran_INCLUDE_PATH}
11295809c6SCameron Smith  )
12295809c6SCameron Smith  set(PHASTA_COMMON_LIBS ${PHASTA_COMMON_LIBS}
13295809c6SCameron Smith    ${MPI_LIBRARIES}
14295809c6SCameron Smith    ${MPI_Fortran_LIBRARIES}
15*74b26839SBen Matthews    phastaIO
16295809c6SCameron Smith  )
1759599516SKenneth E. Jansenendif(PHASTA_USE_MPI)
186d494944SCameron Smith
19b48de46dSCameron Smithif(NOT PHASTA_CHEF_ENABLED)
20a02bd9e8SCameron Smith  set(SRC_FILES ${SRC_FILES} phstreamEmpty/phstreamEmpty.cc)
217660e259SMichel Rasquin  set(PHASTA_COMMON_INCLUDE_DIRS
227660e259SMichel Rasquin      ${PHASTA_COMMON_INCLUDE_DIRS}
237660e259SMichel Rasquin      ${CMAKE_CURRENT_SOURCE_DIR}/phstreamEmpty)
246d494944SCameron Smithendif()
256d494944SCameron Smith
26295809c6SCameron Smithinclude_directories(${PHASTA_COMMON_INCLUDE_DIRS})
270bfd2916SCameron Smith
28295809c6SCameron SmithADD_LIBRARY(common ${SRC_FILES})
29dcce770dSKenneth E. Jansenif(CMAKE_Fortran_COMPILER_ID MATCHES XL)
30dcce770dSKenneth E. Jansen        set_source_files_properties(fillsparse.f PROPERTIES COMPILE_FLAGS
31dcce770dSKenneth E. Jansen"-qsuffix=cpp=f")
32dcce770dSKenneth E. Jansen        set_source_files_properties(petscdbg.f PROPERTIES COMPILE_FLAGS
33dcce770dSKenneth E. Jansen"-qsuffix=cpp=f")
34dcce770dSKenneth E. Jansenendif(CMAKE_Fortran_COMPILER_ID MATCHES XL)
35b48de46dSCameron SmithTARGET_LINK_LIBRARIES(common PUBLIC ${PHASTA_COMMON_LIBS})
36b48de46dSCameron Smithif(PHASTA_CHEF_ENABLED)
37b48de46dSCameron Smith  TARGET_LINK_LIBRARIES(common PUBLIC SCOREC::ph)
38b48de46dSCameron Smithendif()
39295809c6SCameron Smith
40295809c6SCameron Smithconfigure_file(
41295809c6SCameron Smith  "${CMAKE_CURRENT_SOURCE_DIR}/phastaCommonConfig.cmake.in"
42295809c6SCameron Smith  "${CMAKE_BINARY_DIR}/phastaCommonConfig.cmake"
432992863cSCameron Smith)
442992863cSCameron Smith
459d99a6baSCameron Smithget_git_head_revision(PHASTA_GIT_REFSPEC PHASTA_GIT_SHA1)
469d99a6baSCameron Smithconfigure_file(phasta_version.h.in ${CMAKE_CURRENT_SOURCE_DIR}/phasta_version.h )
479d99a6baSCameron Smithset(git_hash_string "# git hash ${PHASTA_GIT_SHA1}")
482992863cSCameron Smithexecute_process(
4943c56ca5SCameron Smith  COMMAND echo ${git_hash_string}
502992863cSCameron Smith  COMMAND cat - input.config
512992863cSCameron Smith  WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
522992863cSCameron Smith  OUTPUT_FILE ${CMAKE_BINARY_DIR}/input.config
53295809c6SCameron Smith)
546d494944SCameron Smith
552e3b5a4aSCameron Smithif(PHASTA_TESTING)
560bfd2916SCameron Smith  add_subdirectory(test)
572e3b5a4aSCameron Smithendif(PHASTA_TESTING)
58