xref: /phasta/phSolver/incompressible/CMakeLists.txt (revision 053ea58ea7bc34cc23aec2f05f3895830eec8f07)
1efb88323SKenneth E. Janseninclude_directories(${SVLS_INCLUDE_DIR})
259599516SKenneth E. Jansenfile(GLOB SRC_FILES *.cc *.f *.f90 *.c)
36d494944SCameron Smithlist(REMOVE_ITEM SRC_FILES "main.cc")
459599516SKenneth E. Jansenadd_library(incompressible ${SRC_FILES})
59d930e92SCameron Smith
69d930e92SCameron Smithfind_package(phastaCommon REQUIRED PATHS ${CMAKE_BINARY_DIR})
79d930e92SCameron Smithset(PHASTAIC_LIBS ${CMAKE_THREAD_LIBS_INIT} ${PHASTA_COMMON_LIBS})
820c2c887SCameron Smithset(PHASTAIC_INCLUDE_DIRS
99d930e92SCameron Smith  ${PHASTAIC_INCLUDE_DIRS}
109d930e92SCameron Smith  ${PHASTA_COMMON_INCLUDE_DIRS}
119d930e92SCameron Smith  ${PHASTA_BINARY_DIR}
129d930e92SCameron Smith)
1320c2c887SCameron Smith
1420c2c887SCameron Smithadd_executable(phastaIC.exe main.cc)
1520c2c887SCameron Smithinclude_directories(${PHASTAIC_INCLUDE_DIRS})
1659599516SKenneth E. Jansenset_target_properties(phastaIC.exe PROPERTIES HAS_CXX TRUE)
1759599516SKenneth E. Jansenset_target_properties(incompressible PROPERTIES HAS_CXX TRUE)
1859599516SKenneth E. Jansenset_target_properties(phastaIC.exe PROPERTIES LINKER_LANGUAGE Fortran)
1959599516SKenneth E. Jansenset_target_properties(incompressible PROPERTIES LINKER_LANGUAGE Fortran)
2059599516SKenneth E. Jansenif(CMAKE_Fortran_COMPILER_ID MATCHES XL)
2159599516SKenneth E. Jansen	#force preprocessing of solfar.f
2259599516SKenneth E. Jansen	set_source_files_properties(solfar.f PROPERTIES COMPILE_FLAGS "-qsuffix=cpp=f")
23*053ea58eSKenneth E. Jansen	set_source_files_properties(itrdrv.f PROPERTIES COMPILE_FLAGS "-qsuffix=cpp=f")
2459599516SKenneth E. Jansenendif(CMAKE_Fortran_COMPILER_ID MATCHES XL)
2559599516SKenneth E. Jansenif(CMAKE_Fortran_COMPILER_ID MATCHES PGI)
2659599516SKenneth E. Jansen	#force preprocessing of solfar.f
2759599516SKenneth E. Jansen	set_source_files_properties(solfar.f PROPERTIES COMPILE_FLAGS "-Mpreprocess")
2859599516SKenneth E. Jansenendif(CMAKE_Fortran_COMPILER_ID MATCHES PGI)
2959599516SKenneth E. Jansen#incompressible reuses a fortran module from common w/o telling cmake
3059599516SKenneth E. Jansen#this is why we specify a module directory in the next cmakelists up
3159599516SKenneth E. Jansen#and we need to serialize incompressible after common
3259599516SKenneth E. Jansenadd_dependencies(incompressible common)
339d930e92SCameron Smithfind_library(ACUSOLVE_LIB libles)
34efb88323SKenneth E. Jansenfind_library(SVLS_LIB libsvLS)
359d930e92SCameron Smith#ughhh
369d930e92SCameron Smithset(PHASTAIC_LIBS
379d930e92SCameron Smith  ${PHASTA_COMMON_LIBS}
389d930e92SCameron Smith  incompressible
399d930e92SCameron Smith  ${ACUSOLVE_LIB}
40efb88323SKenneth E. Jansen  ${SVLS_LIB}
419d930e92SCameron Smith  incompressible
429d930e92SCameron Smith  ${PHASTA_COMMON_LIBS}
439d930e92SCameron Smith)
449d930e92SCameron Smithset(PHASTAIC_LIBS ${PHASTAIC_LIBS} phastaIO)
4559599516SKenneth E. Jansenif(PHASTA_BUILD_SHAPEFUNCTION)
469d930e92SCameron Smith  set(PHASTAIC_LIBS ${PHASTAIC_LIBS} shapeFunction)
4759599516SKenneth E. Jansenendif(PHASTA_BUILD_SHAPEFUNCTION)
4859599516SKenneth E. Jansenif(PHASTA_BUILD_PHSHAPE)
499d930e92SCameron Smith  set(PHASTAIC_LIBS ${PHASTAIC_LIBS} phshape)
5059599516SKenneth E. Jansenendif(PHASTA_BUILD_PHSHAPE)
519d930e92SCameron Smithtarget_link_libraries(phastaIC.exe ${PHASTAIC_LIBS})
520d32f9a8SKenneth E. Jansenif(PHASTA_USE_PETSC)
530d32f9a8SKenneth E. Jansen	#target_link_libraries(phastaC.exe ${PETSC_LIB}/libpetsc.a ${PETSC_PACKAGE_LIBS})
540d32f9a8SKenneth E. Jansen	target_link_libraries(phastaIC.exe petsc ${PETSC_PACKAGE_LIBS} ${PHASTAIC_LIBS})
550d32f9a8SKenneth E. Jansenendif()
569d930e92SCameron Smithconfigure_file(
579d930e92SCameron Smith  "${CMAKE_CURRENT_SOURCE_DIR}/phastaICConfig.cmake.in"
589d930e92SCameron Smith  "${CMAKE_BINARY_DIR}/phastaICConfig.cmake"
599d930e92SCameron Smith)
60f3b67ec7SCameron Smith
612e3b5a4aSCameron Smithif(PHASTA_TESTING)
62f3b67ec7SCameron Smith  add_subdirectory(test)
632e3b5a4aSCameron Smithendif(PHASTA_TESTING)
64