122 lines
3.1 KiB
CMake
122 lines
3.1 KiB
CMake
|
|
SET(CosmoTool_SRCS
|
|
fortran.cpp
|
|
interpolate.cpp
|
|
load_data.cpp
|
|
loadRamses.cpp
|
|
powerSpectrum.cpp
|
|
miniargs.cpp
|
|
growthFactor.cpp
|
|
cosmopower.cpp
|
|
cic.cpp
|
|
)
|
|
|
|
IF (Boost_FOUND)
|
|
include_directories(${Boost_INCLUDE_DIRS})
|
|
SET(CosmoTool_SRCS
|
|
${CosmoTool_SRCS}
|
|
loadGadget.cpp
|
|
)
|
|
ENDIF (Boost_FOUND)
|
|
|
|
IF (ENABLE_OPENMP)
|
|
ENDIF (ENABLE_OPENMP)
|
|
|
|
IF (YORICK_SUPPORT)
|
|
IF(FOUND_NETCDF3)
|
|
SET(CosmoTool_SRCS ${CosmoTool_SRCS} yorick_nc3.cpp)
|
|
ELSE(FOUND_NETCDF3)
|
|
IF(FOUND_NETCDF4)
|
|
SET(CosmoTool_SRCS ${CosmoTool_SRCS} yorick_nc4.cpp)
|
|
ENDIF(FOUND_NETCDF4)
|
|
ENDIF(FOUND_NETCDF3)
|
|
ENDIF(YORICK_SUPPORT)
|
|
|
|
|
|
if (HDF5_FOUND)
|
|
add_library(CosmoHDF5 OBJECT
|
|
h5_readFlash.cpp
|
|
loadFlash.cpp
|
|
)
|
|
set_property(TARGET CosmoHDF5 PROPERTY POSITION_INDEPENDENT_CODE ${BUILD_SHARED_LIBS})
|
|
target_include_directories(CosmoHDF5 BEFORE PRIVATE ${HDF5_INCLUDE_DIR})
|
|
else(HDF5_FOUND)
|
|
add_library(CosmoHDF5 OBJECT
|
|
loadFlash_dummy.cpp
|
|
)
|
|
endif (HDF5_FOUND)
|
|
|
|
SET(CosmoTool_SRCS ${CosmoTool_SRCS}
|
|
bqueue.hpp
|
|
config.hpp
|
|
dinterpolate.hpp
|
|
field.hpp
|
|
fixArray.hpp
|
|
fortran.hpp
|
|
interpolate3d.hpp
|
|
interpolate.hpp
|
|
kdtree_leaf.hpp
|
|
load_data.hpp
|
|
loadGadget.hpp
|
|
loadRamses.hpp
|
|
loadSimu.hpp
|
|
miniargs.hpp
|
|
mykdtree.hpp
|
|
octTree.hpp
|
|
powerSpectrum.hpp
|
|
sparseGrid.hpp
|
|
sphSmooth.hpp
|
|
yorick.hpp
|
|
growthFactor.hpp
|
|
)
|
|
|
|
include_directories(${GSL_INCLUDE_PATH} ${CMAKE_BINARY_DIR}/src)
|
|
|
|
set(CosmoTool_LIBS ${GSL_LIBRARIES} ${Boost_TARGET})
|
|
if(YORICK_SUPPORT)
|
|
set(CosmoTool_LIBS ${CosmoTool_LIBS} ${NETCDFCPP_LIBRARY} ${NETCDF_LIBRARY} ${GSL_LIBRARIES})
|
|
include_directories(${NETCDF_INCLUDE_PATH} ${NETCDFCPP_INCLUDE_PATH})
|
|
endif(YORICK_SUPPORT)
|
|
|
|
if (HDF5_FOUND)
|
|
set(CosmoTool_LIBS ${CosmoTool_LIBS} ${HDF5_CXX_LIBRARIES} ${HDF5_HL_LIBRARIES} ${HDF5_LIBRARIES} ${ZLIB_LIBRARY})
|
|
message(STATUS "CosmoTool_LIBS: ${CosmoTool_LIBS}")
|
|
endif (HDF5_FOUND)
|
|
|
|
set(CosmoTool_LIBS ${CosmoTool_LIBS} PARENT_SCOPE)
|
|
|
|
if (BUILD_SHARED_LIBS)
|
|
add_library(CosmoTool SHARED ${CosmoTool_SRCS} $<TARGET_OBJECTS:CosmoHDF5>)
|
|
target_link_libraries(CosmoTool ${CosmoTool_LIBS})
|
|
if (BUILD_STATIC_LIBS)
|
|
add_library(CosmoTool_static STATIC ${CosmoTool_SRCS} $<TARGET_OBJECTS:CosmoHDF5>)
|
|
target_link_libraries(CosmoTool_static)
|
|
set_property(TARGET CosmoTool_static PROPERTY POSITION_INDEPENDENT_CODE ON)
|
|
add_dependencies(CosmoTool_static ${cosmotool_DEPS})
|
|
endif(BUILD_STATIC_LIBS)
|
|
else (BUILD_SHARED_LIBS)
|
|
add_library(CosmoTool STATIC ${CosmoTool_SRCS} $<TARGET_OBJECTS:CosmoHDF5>)
|
|
target_link_libraries(CosmoTool ${CosmoTool_LIBS})
|
|
set_property(TARGET CosmoTool PROPERTY POSITION_INDEPENDENT_CODE ON)
|
|
add_dependencies(CosmoTool ${cosmotool_DEPS})
|
|
endif (BUILD_SHARED_LIBS)
|
|
|
|
IF(NOT COSMOTOOL_PYTHON_PACKAGING)
|
|
install(TARGETS CosmoTool
|
|
LIBRARY DESTINATION lib
|
|
ARCHIVE DESTINATION lib)
|
|
|
|
if (BUILD_SHARED_LIBS)
|
|
install(TARGETS CosmoTool_static
|
|
LIBRARY DESTINATION lib
|
|
ARCHIVE DESTINATION lib)
|
|
endif (BUILD_SHARED_LIBS)
|
|
|
|
install(DIRECTORY . DESTINATION include/CosmoTool
|
|
FILES_MATCHING PATTERN "*.hpp")
|
|
install(DIRECTORY ${OMPTL_BUILD_DIR}
|
|
DESTINATION include/CosmoTool)
|
|
install(DIRECTORY . DESTINATION include/CosmoTool
|
|
FILES_MATCHING PATTERN "*.tcc")
|
|
ENDIF()
|