xref: /phasta/phSolver/incompressible/CMakeLists.txt (revision bd36043d6c86bfee311b9eaff539555a870d94ea)
159599516SKenneth E. Jansenfile(GLOB SRC_FILES *.cc *.f *.f90 *.c)
26d494944SCameron Smithlist(REMOVE_ITEM SRC_FILES "main.cc")
3*bd36043dSBen Matthews
4*bd36043dSBen Matthewsif(PHASTA_BUILD_SVLS)
5*bd36043dSBen Matthews	add_definitions(-DHAVE_SVLS)
6*bd36043dSBen Matthewsendif()
7*bd36043dSBen Matthewsif(ACUSOLVE_LIB)
8*bd36043dSBen Matthews	add_definitions(-DHAVE_ACUSOLVE)
9*bd36043dSBen Matthewsendif()
10*bd36043dSBen Matthews
1159599516SKenneth E. Jansenadd_library(incompressible ${SRC_FILES})
129d930e92SCameron Smith
139d930e92SCameron Smithfind_package(phastaCommon REQUIRED PATHS ${CMAKE_BINARY_DIR})
149d930e92SCameron Smithset(PHASTAIC_LIBS ${CMAKE_THREAD_LIBS_INIT} ${PHASTA_COMMON_LIBS})
1520c2c887SCameron Smithset(PHASTAIC_INCLUDE_DIRS
169d930e92SCameron Smith  ${PHASTAIC_INCLUDE_DIRS}
179d930e92SCameron Smith  ${PHASTA_COMMON_INCLUDE_DIRS}
189d930e92SCameron Smith  ${PHASTA_BINARY_DIR}
199d930e92SCameron Smith)
2020c2c887SCameron Smith
2120c2c887SCameron Smithadd_executable(phastaIC.exe main.cc)
2220c2c887SCameron Smithinclude_directories(${PHASTAIC_INCLUDE_DIRS})
2359599516SKenneth E. Jansenset_target_properties(phastaIC.exe PROPERTIES HAS_CXX TRUE)
2459599516SKenneth E. Jansenset_target_properties(incompressible PROPERTIES HAS_CXX TRUE)
2559599516SKenneth E. Jansenset_target_properties(phastaIC.exe PROPERTIES LINKER_LANGUAGE Fortran)
2659599516SKenneth E. Jansenset_target_properties(incompressible PROPERTIES LINKER_LANGUAGE Fortran)
2759599516SKenneth E. Jansenif(CMAKE_Fortran_COMPILER_ID MATCHES XL)
2859599516SKenneth E. Jansen	#force preprocessing of solfar.f
2959599516SKenneth E. Jansen	set_source_files_properties(solfar.f PROPERTIES COMPILE_FLAGS "-qsuffix=cpp=f")
30053ea58eSKenneth E. Jansen	set_source_files_properties(itrdrv.f PROPERTIES COMPILE_FLAGS "-qsuffix=cpp=f")
3159599516SKenneth E. Jansenendif(CMAKE_Fortran_COMPILER_ID MATCHES XL)
3259599516SKenneth E. Jansenif(CMAKE_Fortran_COMPILER_ID MATCHES PGI)
3359599516SKenneth E. Jansen	#force preprocessing of solfar.f
3459599516SKenneth E. Jansen	set_source_files_properties(solfar.f PROPERTIES COMPILE_FLAGS "-Mpreprocess")
3559599516SKenneth E. Jansenendif(CMAKE_Fortran_COMPILER_ID MATCHES PGI)
3659599516SKenneth E. Jansen#incompressible reuses a fortran module from common w/o telling cmake
3759599516SKenneth E. Jansen#this is why we specify a module directory in the next cmakelists up
3859599516SKenneth E. Jansen#and we need to serialize incompressible after common
3959599516SKenneth E. Jansenadd_dependencies(incompressible common)
409d930e92SCameron Smithfind_library(ACUSOLVE_LIB libles)
41*bd36043dSBen Matthewsif(PHASTA_BUILD_SVLS)
429d930e92SCameron Smithset(PHASTAIC_LIBS
439d930e92SCameron Smith  ${PHASTA_COMMON_LIBS}
449d930e92SCameron Smith  incompressible
459d930e92SCameron Smith  ${ACUSOLVE_LIB}
465fd60115SBen Matthews  svLS
479d930e92SCameron Smith  incompressible
489d930e92SCameron Smith  ${PHASTA_COMMON_LIBS}
499d930e92SCameron Smith)
50*bd36043dSBen Matthewselse()
51*bd36043dSBen Matthewsset(PHASTAIC_LIBS
52*bd36043dSBen Matthews  ${PHASTA_COMMON_LIBS}
53*bd36043dSBen Matthews  incompressible
54*bd36043dSBen Matthews  ${ACUSOLVE_LIB}
55*bd36043dSBen Matthews  incompressible
56*bd36043dSBen Matthews  ${PHASTA_COMMON_LIBS}
57*bd36043dSBen Matthews)
58*bd36043dSBen Matthewsendif(PHASTA_BUILD_SVLS)
59*bd36043dSBen Matthews
609d930e92SCameron Smithset(PHASTAIC_LIBS ${PHASTAIC_LIBS} phastaIO)
6159599516SKenneth E. Jansenif(PHASTA_BUILD_SHAPEFUNCTION)
629d930e92SCameron Smith  set(PHASTAIC_LIBS ${PHASTAIC_LIBS} shapeFunction)
6359599516SKenneth E. Jansenendif(PHASTA_BUILD_SHAPEFUNCTION)
6459599516SKenneth E. Jansenif(PHASTA_BUILD_PHSHAPE)
659d930e92SCameron Smith  set(PHASTAIC_LIBS ${PHASTAIC_LIBS} phshape)
6659599516SKenneth E. Jansenendif(PHASTA_BUILD_PHSHAPE)
679d930e92SCameron Smithtarget_link_libraries(phastaIC.exe ${PHASTAIC_LIBS})
680d32f9a8SKenneth E. Jansenif(PHASTA_USE_PETSC)
690d32f9a8SKenneth E. Jansen	#target_link_libraries(phastaC.exe ${PETSC_LIB}/libpetsc.a ${PETSC_PACKAGE_LIBS})
700d32f9a8SKenneth E. Jansen	target_link_libraries(phastaIC.exe petsc ${PETSC_PACKAGE_LIBS} ${PHASTAIC_LIBS})
710d32f9a8SKenneth E. Jansenendif()
729d930e92SCameron Smithconfigure_file(
739d930e92SCameron Smith  "${CMAKE_CURRENT_SOURCE_DIR}/phastaICConfig.cmake.in"
749d930e92SCameron Smith  "${CMAKE_BINARY_DIR}/phastaICConfig.cmake"
759d930e92SCameron Smith)
76f3b67ec7SCameron Smith
772e3b5a4aSCameron Smithif(PHASTA_TESTING)
78f3b67ec7SCameron Smith  add_subdirectory(test)
792e3b5a4aSCameron Smithendif(PHASTA_TESTING)
80