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