1file(GLOB SRC_FILES *.cc *.f *.f90 *.c) 2list(REMOVE_ITEM SRC_FILES "main.cc") 3find_package(phastaCommon REQUIRED PATHS ${CMAKE_BINARY_DIR}) 4set(PHASTAC_LIBS ${CMAKE_THREAD_LIBS_INIT} ${PHASTA_COMMON_LIBS}) 5set(PHASTAC_INCLUDE_DIRS 6 ${PHASTA_COMMON_INCLUDE_DIRS} 7 ${PHASTA_BINARY_DIR} 8) 9 10add_library(compressible ${SRC_FILES}) 11add_dependencies(compressible common) 12 13add_executable(phastaC.exe main.cc) 14include_directories(${PHASTAC_INCLUDE_DIRS}) 15set_target_properties(phastaC.exe PROPERTIES HAS_CXX TRUE) 16set_target_properties(compressible PROPERTIES HAS_CXX TRUE) 17set_target_properties(phastaC.exe PROPERTIES LINKER_LANGUAGE Fortran) 18set_target_properties(compressible PROPERTIES LINKER_LANGUAGE Fortran) 19 20if(CMAKE_Fortran_COMPILER_ID MATCHES XL) 21#force preprocessing of itrdrv.f 22 set_source_files_properties(itrdrv.f PROPERTIES COMPILE_FLAGS "-qsuffix=cpp=f") 23endif(CMAKE_Fortran_COMPILER_ID MATCHES XL) 24 25#ughhhhh 26set(PHASTAC_LIBS 27 compressible ${PHASTAC_LIBS} 28 compressible ${PHASTAC_LIBS} 29) 30set(PHASTAC_LIBS ${PHASTAC_LIBS} phastaIO) 31if(PHASTA_BUILD_SHAPEFUNCTION) 32 set(PHASTAC_LIBS ${PHASTAC_LIBS} shapeFunction) 33endif(PHASTA_BUILD_SHAPEFUNCTION) 34if(PHASTA_BUILD_PHSHAPE) 35 set(PHASTAC_LIBS ${PHASTAC_LIBS} phshape) 36endif(PHASTA_BUILD_PHSHAPE) 37target_link_libraries(phastaC.exe ${PHASTAC_LIBS}) 38if(PHASTA_USE_PETSC) 39 #target_link_libraries(phastaC.exe ${PETSC_LIB}/libpetsc.a ${PETSC_PACKAGE_LIBS}) 40 target_link_libraries(phastaC.exe ${PETSC_LIBRARIES}) 41endif() 42configure_file( 43 "${CMAKE_CURRENT_SOURCE_DIR}/phastaCConfig.cmake.in" 44 "${CMAKE_BINARY_DIR}/phastaCConfig.cmake" 45) 46 47if(PHASTA_TESTING) 48 add_subdirectory(test) 49endif(PHASTA_TESTING) 50