Skip to content
Snippets Groups Projects

CMake projectconfig

Merged Stephan Schulz requested to merge cmake_projectconfig into master

Files

+ 42
28
set(ALL_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include)
set(ALL_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include)
set(ALL_HEADER_FILES ${ALL_INCLUDE_DIR}/ALL.hpp
set(ALL_HEADER_FILES
${ALL_INCLUDE_DIR}/ALL_LB.hpp
${ALL_INCLUDE_DIR}/ALL_CustomExceptions.hpp
${ALL_INCLUDE_DIR}/ALL_Functions.hpp
${ALL_INCLUDE_DIR}/ALL_Defines.h
${ALL_INCLUDE_DIR}/ALL_Histogram.hpp
${ALL_INCLUDE_DIR}/ALL_ForceBased.hpp
${ALL_INCLUDE_DIR}/ALL_Staggered.hpp
${ALL_INCLUDE_DIR}/ALL_Functions.hpp
${ALL_INCLUDE_DIR}/ALL_Tensor.hpp
${ALL_INCLUDE_DIR}/ALL_Histogram.hpp
${ALL_INCLUDE_DIR}/ALL_ForceBased.hpp
${ALL_INCLUDE_DIR}/ALL.hpp
${ALL_INCLUDE_DIR}/ALL_Voronoi.hpp
${ALL_INCLUDE_DIR}/ALL_LB.hpp
${ALL_INCLUDE_DIR}/ALL_Point.hpp
${ALL_INCLUDE_DIR}/ALL_Point.hpp
${ALL_INCLUDE_DIR}/ALL_CustomExceptions.hpp)
${ALL_INCLUDE_DIR}/ALL_Staggered.hpp
 
${ALL_INCLUDE_DIR}/ALL_Tensor.hpp
 
${ALL_INCLUDE_DIR}/ALL_Voronoi.hpp)
 
# todo(s.schulz): Should these be installed explicitly?
 
# install(FILES ${ALL_HEADER_FILES} DESTINATION include)
add_library (ALL ALL.cpp ALL_fortran.cpp ${ALL_HEADER_FILES})
add_library (ALL ALL.cpp ALL_fortran.cpp ${ALL_HEADER_FILES})
@@ -23,17 +27,21 @@ if(CM_ALL_VORONOI)
@@ -23,17 +27,21 @@ if(CM_ALL_VORONOI)
endif(CM_ALL_VORONOI)
endif(CM_ALL_VORONOI)
target_include_directories(ALL PUBLIC ${MPI_CXX_INCLUDE_PATH})
target_include_directories(ALL PUBLIC ${MPI_CXX_INCLUDE_PATH})
target_include_directories (ALL PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${ALL_INCLUDE_DIR})
target_include_directories (ALL
 
PUBLIC
 
"$<BUILD_INTERFACE:${ALL_INCLUDE_DIR}>"
 
"$<INSTALL_INTERFACE:include>")
target_link_libraries(ALL PUBLIC ${MPI_CXX_LINK_FLAGS} ${MPI_CXX_LIBRARIES})
target_link_libraries(ALL PUBLIC ${MPI_CXX_LINK_FLAGS} ${MPI_CXX_LIBRARIES})
install(TARGETS ALL
install(TARGETS ALL
RUNTIME DESTINATION bin
EXPORT ALLTargets
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
INCLUDES DESTINATION include)
ARCHIVE DESTINATION lib
 
INCLUDES DESTINATION include)
install(FILES ${ALL_HEADER_FILES}
install(FILES ${ALL_HEADER_FILES}
DESTINATION include)
DESTINATION include)
if (CM_ALL_FORTRAN)
if (CM_ALL_FORTRAN)
set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/modules)
set(CMAKE_Fortran_MODULE_DIRECTORY ${CMAKE_BINARY_DIR}/modules)
@@ -41,8 +49,8 @@ if (CM_ALL_FORTRAN)
@@ -41,8 +49,8 @@ if (CM_ALL_FORTRAN)
set_property(TARGET ALL_fortran PROPERTY LINKER_LANGUAGE Fortran)
set_property(TARGET ALL_fortran PROPERTY LINKER_LANGUAGE Fortran)
if(CM_ALL_VTK_OUTPUT)
if(CM_ALL_VTK_OUTPUT)
target_include_directories(ALL_fortran PUBLIC ${VTK_INCLUDE_DIRS})
target_include_directories(ALL_fortran PRIVATE ${VTK_INCLUDE_DIRS})
target_link_libraries(ALL_fortran PUBLIC ${VTK_LIBRARIES})
target_link_libraries(ALL_fortran PRIVATE ${VTK_LIBRARIES})
endif(CM_ALL_VTK_OUTPUT)
endif(CM_ALL_VTK_OUTPUT)
#if(CM_ALL_VORONOI)
#if(CM_ALL_VORONOI)
# target_include_directories(ALL_fortran PUBLIC ${CM_ALL_VORO_INC})
# target_include_directories(ALL_fortran PUBLIC ${CM_ALL_VORO_INC})
@@ -50,10 +58,15 @@ if (CM_ALL_FORTRAN)
@@ -50,10 +58,15 @@ if (CM_ALL_FORTRAN)
#endif(CM_ALL_VORONOI)
#endif(CM_ALL_VORONOI)
target_include_directories(ALL_fortran PUBLIC ${MPI_Fortran_INCLUDE_PATH})
target_include_directories(ALL_fortran PUBLIC ${MPI_Fortran_INCLUDE_PATH})
target_include_directories(ALL_fortran PUBLIC ${CMAKE_CURRENT_SOURCE_DIR} ${ALL_INCLUDE_DIR})
target_include_directories(ALL_fortran
 
PUBLIC
 
"$<BUILD_INTERFACE:${CMAKE_Fortran_MODULE_DIRECTORY}>"
 
"$<INSTALL_INTERFACE:include/modules>")
 
target_include_directories(ALL_fortran PRIVATE ${ALL_INCLUDE_DIR})
target_link_libraries(ALL_fortran PUBLIC ${MPI_Fortran_LINK_FLAGS} ${MPI_Fortran_LIBRARIES} ALL)
target_link_libraries(ALL_fortran PUBLIC ${MPI_Fortran_LINK_FLAGS} ${MPI_Fortran_LIBRARIES} ALL)
install(TARGETS ALL_fortran
install(TARGETS ALL_fortran
 
EXPORT ALLTargets
RUNTIME DESTINATION bin
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
ARCHIVE DESTINATION lib
@@ -66,11 +79,12 @@ add_executable(Amalgamate Amalgamate.c)
@@ -66,11 +79,12 @@ add_executable(Amalgamate Amalgamate.c)
target_include_directories(Amalgamate PRIVATE ${STB_INCLUDE_DIR})
target_include_directories(Amalgamate PRIVATE ${STB_INCLUDE_DIR})
set(AMALGAMATED_FILENAME ALL_Amalgamated.hpp)
set(AMALGAMATED_FILENAME ALL_Amalgamated.hpp)
add_custom_command(
add_custom_command(
TARGET ALL
TARGET ALL
POST_BUILD
POST_BUILD
COMMAND $<TARGET_FILE:Amalgamate> ${ALL_INCLUDE_DIR}/ALL.hpp ${ALL_INCLUDE_DIR} > ${AMALGAMATED_FILENAME}
COMMAND $<TARGET_FILE:Amalgamate> ${ALL_INCLUDE_DIR}/ALL.hpp ${ALL_INCLUDE_DIR} > ${AMALGAMATED_FILENAME}
)
)
install(
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/${AMALGAMATED_FILENAME}
FILES ${CMAKE_CURRENT_BINARY_DIR}/${AMALGAMATED_FILENAME}
TYPE INCLUDE
TYPE INCLUDE
)
)
 
# vim: sw=4 ts=4 et
Loading