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