xref: /phasta/phSolver/compressible/CMakeLists.txt (revision 712d3df0b59ebebaaeaea358162c8d2c043c6e08)
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