xref: /phasta/phSolver/incompressible/CMakeLists.txt (revision 9d930e920fa8b59eeffacfb4512c65242d4f64dd)
159599516SKenneth E. Jansenfile(GLOB SRC_FILES *.cc *.f *.f90 *.c)
26d494944SCameron Smithlist(REMOVE_ITEM SRC_FILES "main.cc")
359599516SKenneth E. Jansenadd_library(incompressible ${SRC_FILES})
4*9d930e92SCameron Smith
5*9d930e92SCameron Smithfind_package(phastaCommon REQUIRED PATHS ${CMAKE_BINARY_DIR})
6*9d930e92SCameron Smithset(PHASTAIC_LIBS ${CMAKE_THREAD_LIBS_INIT} ${PHASTA_COMMON_LIBS})
7*9d930e92SCameron Smithset(PHASTAIC_INCLUDE_DIRS)
8*9d930e92SCameron Smith
96d494944SCameron Smithadd_executable(phastaIC.exe main.cc)
10*9d930e92SCameron Smithinclude_directories(
11*9d930e92SCameron Smith  ${PHASTAIC_INCLUDE_DIRS}
12*9d930e92SCameron Smith  ${PHASTA_COMMON_INCLUDE_DIRS}
13*9d930e92SCameron Smith  ${PHASTA_BINARY_DIR}
14*9d930e92SCameron Smith)
1559599516SKenneth E. Jansenset_target_properties(phastaIC.exe PROPERTIES HAS_CXX TRUE)
1659599516SKenneth E. Jansenset_target_properties(incompressible PROPERTIES HAS_CXX TRUE)
1759599516SKenneth E. Jansenset_target_properties(phastaIC.exe PROPERTIES LINKER_LANGUAGE Fortran)
1859599516SKenneth E. Jansenset_target_properties(incompressible PROPERTIES LINKER_LANGUAGE Fortran)
1959599516SKenneth E. Jansenif(CMAKE_Fortran_COMPILER_ID MATCHES XL)
2059599516SKenneth E. Jansen	#force preprocessing of solfar.f
2159599516SKenneth E. Jansen	set_source_files_properties(solfar.f PROPERTIES COMPILE_FLAGS "-qsuffix=cpp=f")
2259599516SKenneth E. Jansenendif(CMAKE_Fortran_COMPILER_ID MATCHES XL)
2359599516SKenneth E. Jansenif(CMAKE_Fortran_COMPILER_ID MATCHES PGI)
2459599516SKenneth E. Jansen	#force preprocessing of solfar.f
2559599516SKenneth E. Jansen	set_source_files_properties(solfar.f PROPERTIES COMPILE_FLAGS "-Mpreprocess")
2659599516SKenneth E. Jansenendif(CMAKE_Fortran_COMPILER_ID MATCHES PGI)
2759599516SKenneth E. Jansen#incompressible reuses a fortran module from common w/o telling cmake
2859599516SKenneth E. Jansen#this is why we specify a module directory in the next cmakelists up
2959599516SKenneth E. Jansen#and we need to serialize incompressible after common
3059599516SKenneth E. Jansenadd_dependencies(incompressible common)
31*9d930e92SCameron Smithfind_library(ACUSOLVE_LIB libles)
32*9d930e92SCameron Smith#ughhh
33*9d930e92SCameron Smithset(PHASTAIC_LIBS
34*9d930e92SCameron Smith  ${PHASTA_COMMON_LIBS}
35*9d930e92SCameron Smith  incompressible
36*9d930e92SCameron Smith  ${ACUSOLVE_LIB}
37*9d930e92SCameron Smith  incompressible
38*9d930e92SCameron Smith  ${PHASTA_COMMON_LIBS}
39*9d930e92SCameron Smith)
40*9d930e92SCameron Smithset(PHASTAIC_LIBS ${PHASTAIC_LIBS} phastaIO)
4159599516SKenneth E. Jansenif(PHASTA_BUILD_SHAPEFUNCTION)
42*9d930e92SCameron Smith  set(PHASTAIC_LIBS ${PHASTAIC_LIBS} shapeFunction)
4359599516SKenneth E. Jansenendif(PHASTA_BUILD_SHAPEFUNCTION)
4459599516SKenneth E. Jansenif(PHASTA_BUILD_PHSHAPE)
45*9d930e92SCameron Smith  set(PHASTAIC_LIBS ${PHASTAIC_LIBS} phshape)
4659599516SKenneth E. Jansenendif(PHASTA_BUILD_PHSHAPE)
47*9d930e92SCameron Smithtarget_link_libraries(phastaIC.exe ${PHASTAIC_LIBS})
48*9d930e92SCameron Smith
49*9d930e92SCameron Smithconfigure_file(
50*9d930e92SCameron Smith  "${CMAKE_CURRENT_SOURCE_DIR}/phastaICConfig.cmake.in"
51*9d930e92SCameron Smith  "${CMAKE_BINARY_DIR}/phastaICConfig.cmake"
52*9d930e92SCameron Smith)
53f3b67ec7SCameron Smith
542e3b5a4aSCameron Smithif(PHASTA_TESTING)
55f3b67ec7SCameron Smith  add_subdirectory(test)
562e3b5a4aSCameron Smithendif(PHASTA_TESTING)
57