CMakeLists.txt 1.35 KB
Newer Older
1 2 3 4 5 6
# check if compiling into source directories
STRING(COMPARE EQUAL "${CMAKE_SOURCE_DIR}" "${CMAKE_BINARY_DIR}" insource)
if(insource)
    MESSAGE(FATAL_ERROR "${PROJECT_NAME} requires an out of source build. Goto scalfmm/Build and tapes cmake ../")
endif(insource)

7 8 9 10
# Configuration du projet
project(Lib_scalfmm)
set(LIBRARY_OUTPUT_PATH ../lib/${CMAKE_BUILD_TYPE})

11

12 13 14 15 16 17 18 19 20 21 22 23 24 25
# Searching all cpp file
file(
	GLOB_RECURSE
	source_lib_files
	./*.cpp
)

# Adding cpp files to project
add_library(
	scalfmm
	STATIC
	${source_lib_files}
)

26 27 28 29
# Add blas library (even if it is set to off)
target_link_libraries(
	scalfmm
	${BLAS_LIBRARIES}
30
	${LAPACK_LIBRARIES}
31 32
)

33 34
# Adding the entire project dir as an include dir
INCLUDE_DIRECTORIES(
35
     ${CMAKE_SOURCE_DIR}/Src 
berenger-bramas's avatar
berenger-bramas committed
36
     ${CMAKE_BINARY_DIR}/Src 
37 38
)

39 40 41 42 43

# Install lib
install( TARGETS scalfmm ARCHIVE DESTINATION lib )

# Install header
berenger-bramas's avatar
berenger-bramas committed
44
SET(my_include_dirs "."
45
  "Arranger"        "Core"           "Utils"
aetcheve's avatar
aetcheve committed
46 47 48
  "Kernels/Chebyshev"       "Components"       "Extensions"  
  "Containers"       "Files"       "Kernels/Spherical"
  "Kernels/P2P" "Kernels/Taylor" "Kernels/ROtation")
berenger-bramas's avatar
berenger-bramas committed
49

50 51 52
FOREACH(my_dir ${my_include_dirs})	
	file(GLOB 	 	 	 	
	 	hpp_in_dir
53
		${my_dir}/*.hpp ${my_dir}/*.h
54
	)
55
	INSTALL( FILES ${hpp_in_dir} DESTINATION include/${my_dir} )
56
ENDFOREACH()
57
INSTALL( FILES "${CMAKE_BINARY_DIR}/Src/ScalFmmConfig.h" DESTINATION include/Utils/${my_dir} )
58