xref: /phasta/phSolver/incompressible/CMakeLists.txt (revision b48de46d16d566e469371fc697a11342598561c8) !
159599516SKenneth E. Jansenfile(GLOB SRC_FILES *.cc *.f *.f90 *.c)
26d494944SCameron Smithlist(REMOVE_ITEM SRC_FILES "main.cc")
3bd36043dSBen Matthews
479f1763eSKenneth E. Jansenoption(PHASTA_USE_LESLIB "Use LESLIB Solver" OFF)
579f1763eSKenneth E. Jansen
679f1763eSKenneth E. Jansenif(PHASTA_USE_SVLS)
7bd36043dSBen Matthews	add_definitions(-DHAVE_SVLS)
8bd36043dSBen Matthewsendif()
979f1763eSKenneth E. Jansen
1079f1763eSKenneth E. Jansenif(PHASTA_USE_LESLIB)
1179f1763eSKenneth E. Jansen	add_definitions(-DHAVE_LESLIB)
1279f1763eSKenneth E. Jansenelse()
1379f1763eSKenneth E. Jansen list(REMOVE_ITEM SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/usr.c )
1479f1763eSKenneth E. Jansen list(REMOVE_ITEM SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/getSol.c )
1579f1763eSKenneth E. Jansen list(REMOVE_ITEM SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/lestools.c )
1679f1763eSKenneth E. Jansen list(REMOVE_ITEM SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/lesSparse.f )
1779f1763eSKenneth E. Jansen list(REMOVE_ITEM SRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/ftools.f )
18bd36043dSBen Matthewsendif()
19bd36043dSBen Matthews
207d9c9aa9SCameron Smithif(NOT PHASTA_USE_SVLS AND NOT PHASTA_USE_LESLIB)
217d9c9aa9SCameron Smith  message(FATAL_ERROR
227d9c9aa9SCameron Smith"At least one of the incompressible solvers must be enabled \
237d9c9aa9SCameron Smithvia PHASTA_USE_SVLS and/or PHASTA_USE_LESLIB"
247d9c9aa9SCameron Smith  )
257d9c9aa9SCameron Smithendif()
267d9c9aa9SCameron Smith
2779f1763eSKenneth E. Jansen
2859599516SKenneth E. Jansenadd_library(incompressible ${SRC_FILES})
299d930e92SCameron Smith
309d930e92SCameron Smithfind_package(phastaCommon REQUIRED PATHS ${CMAKE_BINARY_DIR})
319d930e92SCameron Smithset(PHASTAIC_LIBS ${CMAKE_THREAD_LIBS_INIT} ${PHASTA_COMMON_LIBS})
3220c2c887SCameron Smithset(PHASTAIC_INCLUDE_DIRS
339d930e92SCameron Smith  ${PHASTAIC_INCLUDE_DIRS}
349d930e92SCameron Smith  ${PHASTA_COMMON_INCLUDE_DIRS}
359d930e92SCameron Smith  ${PHASTA_BINARY_DIR}
369d930e92SCameron Smith)
3720c2c887SCameron Smith
3820c2c887SCameron Smithadd_executable(phastaIC.exe main.cc)
3920c2c887SCameron Smithinclude_directories(${PHASTAIC_INCLUDE_DIRS})
4059599516SKenneth E. Jansenset_target_properties(phastaIC.exe PROPERTIES HAS_CXX TRUE)
4159599516SKenneth E. Jansenset_target_properties(incompressible PROPERTIES HAS_CXX TRUE)
4259599516SKenneth E. Jansenset_target_properties(phastaIC.exe PROPERTIES LINKER_LANGUAGE Fortran)
4359599516SKenneth E. Jansenset_target_properties(incompressible PROPERTIES LINKER_LANGUAGE Fortran)
4459599516SKenneth E. Jansenif(CMAKE_Fortran_COMPILER_ID MATCHES XL)
4559599516SKenneth E. Jansen	#force preprocessing of solfar.f
4659599516SKenneth E. Jansen	set_source_files_properties(solfar.f PROPERTIES COMPILE_FLAGS "-qsuffix=cpp=f")
47053ea58eSKenneth E. Jansen	set_source_files_properties(itrdrv.f PROPERTIES COMPILE_FLAGS "-qsuffix=cpp=f")
48240f0cafSAndrew Bauer	set_source_files_properties(filters.f PROPERTIES COMPILE_FLAGS "-qsuffix=cpp=f")
4959599516SKenneth E. Jansenendif(CMAKE_Fortran_COMPILER_ID MATCHES XL)
5059599516SKenneth E. Jansenif(CMAKE_Fortran_COMPILER_ID MATCHES PGI)
5159599516SKenneth E. Jansen	#force preprocessing of solfar.f
5259599516SKenneth E. Jansen	set_source_files_properties(solfar.f PROPERTIES COMPILE_FLAGS "-Mpreprocess")
5359599516SKenneth E. Jansenendif(CMAKE_Fortran_COMPILER_ID MATCHES PGI)
54*b48de46dSCameron Smithtarget_link_libraries(incompressible PUBLIC common)
5579f1763eSKenneth E. Jansenif( PHASTA_USE_LESLIB AND PHASTA_USE_SVLS )
5679f1763eSKenneth E. Jansenmessage(STATUS "using SVLS and LESLIB")
579d930e92SCameron Smithset(PHASTAIC_LIBS
589d930e92SCameron Smith  ${PHASTA_COMMON_LIBS}
599d930e92SCameron Smith  incompressible
6079f1763eSKenneth E. Jansen  ${LESLIB}
615fd60115SBen Matthews  svLS
629d930e92SCameron Smith  incompressible
639d930e92SCameron Smith  ${PHASTA_COMMON_LIBS}
649d930e92SCameron Smith)
6579f1763eSKenneth E. Jansen
6679f1763eSKenneth E. Jansenelseif(PHASTA_USE_LESLIB)
6779f1763eSKenneth E. Jansenmessage(STATUS "using LESLIB")
6879f1763eSKenneth E. Jansen  find_library(LESLIB libles)
69bd36043dSBen Matthews  set(PHASTAIC_LIBS
70bd36043dSBen Matthews  ${PHASTA_COMMON_LIBS}
71bd36043dSBen Matthews  incompressible
7279f1763eSKenneth E. Jansen  ${LESLIB}
73bd36043dSBen Matthews  incompressible
74bd36043dSBen Matthews  ${PHASTA_COMMON_LIBS}
75bd36043dSBen Matthews)
7679f1763eSKenneth E. Jansen
7779f1763eSKenneth E. Jansenelse(PHASTA_USE_SVLS)
7879f1763eSKenneth E. Jansenmessage(STATUS "using SVLS")
7979f1763eSKenneth E. Jansenset(PHASTAIC_LIBS
8079f1763eSKenneth E. Jansen  ${PHASTA_COMMON_LIBS}
8179f1763eSKenneth E. Jansen  incompressible
8279f1763eSKenneth E. Jansen  svLS
8379f1763eSKenneth E. Jansen  incompressible
8479f1763eSKenneth E. Jansen  ${PHASTA_COMMON_LIBS}
8579f1763eSKenneth E. Jansen)
8679f1763eSKenneth E. Jansenendif()
87bd36043dSBen Matthews
889d930e92SCameron Smithset(PHASTAIC_LIBS ${PHASTAIC_LIBS} phastaIO)
8959599516SKenneth E. Jansenif(PHASTA_BUILD_SHAPEFUNCTION)
909d930e92SCameron Smith  set(PHASTAIC_LIBS ${PHASTAIC_LIBS} shapeFunction)
9159599516SKenneth E. Jansenendif(PHASTA_BUILD_SHAPEFUNCTION)
9259599516SKenneth E. Jansenif(PHASTA_BUILD_PHSHAPE)
939d930e92SCameron Smith  set(PHASTAIC_LIBS ${PHASTAIC_LIBS} phshape)
9459599516SKenneth E. Jansenendif(PHASTA_BUILD_PHSHAPE)
959d930e92SCameron Smithtarget_link_libraries(phastaIC.exe ${PHASTAIC_LIBS})
960d32f9a8SKenneth E. Jansenif(PHASTA_USE_PETSC)
970d32f9a8SKenneth E. Jansen	#target_link_libraries(phastaC.exe ${PETSC_LIB}/libpetsc.a ${PETSC_PACKAGE_LIBS})
980d32f9a8SKenneth E. Jansen	target_link_libraries(phastaIC.exe petsc ${PETSC_PACKAGE_LIBS} ${PHASTAIC_LIBS})
990d32f9a8SKenneth E. Jansenendif()
1009d930e92SCameron Smithconfigure_file(
1019d930e92SCameron Smith  "${CMAKE_CURRENT_SOURCE_DIR}/phastaICConfig.cmake.in"
1029d930e92SCameron Smith  "${CMAKE_BINARY_DIR}/phastaICConfig.cmake"
1039d930e92SCameron Smith)
104f3b67ec7SCameron Smith
1052e3b5a4aSCameron Smithif(PHASTA_TESTING)
106f3b67ec7SCameron Smith  add_subdirectory(test)
1072e3b5a4aSCameron Smithendif(PHASTA_TESTING)
108