Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Redo the way to install simgrid.
[simgrid.git] / buildtools / Cmake / src / CMakeDistrib.txt
1 set(simgrid_version "3.3.5")
2
3 set(CMAKE_PROJECT_NAME "${PROJECT_NAME}")
4 set(CPACK_PACKAGE_NAME "${PROJECT_NAME}")
5 set(CPACK_PROJECT_NAME "${PROJECT_NAME}")
6 set(CPACK_PACKAGE_FILE_NAME "simgrid-${simgrid_version}~${SVN_VERSION}${GIT_DATE}")
7 set(CPACK_GENERATOR "TBZ2") #;TGZ;TZ;ZIP
8
9 set(to_svg      
10         ${XBT_RL_SRC}
11         ${EXTRA_DIST}
12         ${SMPI_SRC}
13         ${JMSG_C_SRC}
14         ${JMSG_JAVA_SRC}
15         ${GRAS_RL_SRC}
16         ${XBT_SRC}
17         ${GTNETS_SRC}
18         ${SURF_SRC}
19         ${SIMIX_SRC}
20         ${TRACING_SRC}
21         ${MSG_SRC}
22         ${SIMDAG_SRC}
23         ${GRAS_COMMON_SRC}
24         ${GRAS_SG_SRC}
25         ${AMOK_SRC}
26         ${LUA_SRC}
27         ${RUBY_SRC}
28         ${add_src_files}
29         ${include_files}
30         ${xml_files}
31         ${tesh_files}
32         ${txt_files}
33         ${PROJECT_DIRECTORY}/./CMakeLists.txt
34         ${PROJECT_DIRECTORY}/./AUTHORS
35         ${PROJECT_DIRECTORY}/./ChangeLog
36         ${PROJECT_DIRECTORY}/./COPYING
37         ${PROJECT_DIRECTORY}/./missing
38         ${PROJECT_DIRECTORY}/./NEWS
39         ${PROJECT_DIRECTORY}/./README
40         ${PROJECT_DIRECTORY}/./README.IEEE
41         ${PROJECT_DIRECTORY}/./TODO
42         ${PROJECT_DIRECTORY}/./src/smpi/smpicc.in
43         ${PROJECT_DIRECTORY}/./src/smpi/smpicc
44         ${PROJECT_DIRECTORY}/./src/smpi/smpirun.in
45         ${PROJECT_DIRECTORY}/./src/smpi/smpirun
46         ${PROJECT_DIRECTORY}/./src/bindings/ruby/simgrid_ruby.c
47         ${PROJECT_DIRECTORY}/./src/bindings/ruby_bindings.h
48         ${PROJECT_DIRECTORY}/./src/simix/smx_context_sysv_private.h
49 )
50         
51 foreach(file ${to_svg})
52         get_filename_component(file_location ${file} PATH)
53         string(REPLACE "${PROJECT_DIRECTORY}/" "/" file_location ${file_location})
54         #message("install: ${file}\nDESTINATION: ${file_location}")
55         install(FILES ${file} DESTINATION "${file_location}")
56 endforeach(file ${EXTRA_DIST})
57
58 ###copy doc
59 install(DIRECTORY "${PROJECT_DIRECTORY}/doc/"
60 DESTINATION "/doc/"
61 PATTERN ".svn" EXCLUDE 
62 PATTERN ".git" EXCLUDE 
63 PATTERN "*.o" EXCLUDE
64 PATTERN "*~" EXCLUDE
65 )
66
67 ###buildtools 
68 install(DIRECTORY "${PROJECT_DIRECTORY}/buildtools/Cmake/"
69 DESTINATION "/buildtools/Cmake/"
70 PATTERN ".svn" EXCLUDE 
71 PATTERN ".git" EXCLUDE
72 PATTERN "*.o" EXCLUDE
73 PATTERN "*~" EXCLUDE
74 )
75
76 set(CPACK_SET_DESTDIR on)
77 set(CMAKE_INSTALL_PREFIX ${prefix} CACHE TYPE INTERNAL FORCE)
78
79 string(REPLACE ";" "\t" install_HEADERS "${install_HEADERS}")
80 string(REPLACE ";" "\t" install_libs "${install_libs}")
81
82 add_custom_target(install-simgrid
83 COMMAND mkdir -p ${prefix}
84 COMMAND mkdir -p ${prefix}/lib
85 COMMAND mkdir -p ${prefix}/include
86 COMMAND mkdir -p ${prefix}/doc
87 COMMAND mkdir -p ${prefix}/doc/simgrid
88 COMMAND mkdir -p ${prefix}/doc/simgrid/html
89 COMMAND cp ${install_libs} ${prefix}/lib
90 COMMAND echo "install lib ok"
91 COMMAND cp -rf ${PROJECT_DIRECTORY}/doc/html/ ${prefix}/doc/simgrid
92 COMMAND echo "install doc ok"
93 COMMAND cp --parent ${install_HEADERS} ${prefix}
94 COMMAND echo "install include ok"
95 WORKING_DIRECTORY "${PROJECT_DIRECTORY}/./"
96 )
97
98 add_custom_target(uninstall
99 COMMAND echo "uninstall simgrid"
100 COMMAND echo "TODO"
101 )
102
103 add_custom_target(html
104 COMMAND echo "Make the html doc"
105 COMMAND echo "cmake -DBIBTEX2HTML=${BIBTEX2HTML} ./"
106 COMMAND cmake -DBIBTEX2HTML=${BIBTEX2HTML} ./
107 COMMAND rm -rf ${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc/CMakeFiles
108 COMMAND rm ${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc/CMakeCache.txt
109 COMMAND rm ${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc/cmake_install.cmake
110 COMMAND rm ${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc/Makefile
111 WORKING_DIRECTORY "${PROJECT_DIRECTORY}/buildtools/Cmake/src/doc"
112 )
113
114 add_custom_target(dist
115 COMMAND make package
116 COMMAND rm -rf ${PROJECT_DIRECTORY}/_CPack_Packages
117 WORKING_DIRECTORY "${PROJECT_DIRECTORY}"
118 )
119 add_custom_target(distcheck
120 COMMAND make package
121 COMMAND rm -rf ${PROJECT_DIRECTORY}/_CPack_Packages
122 COMMAND tar xvf ${CPACK_PACKAGE_FILE_NAME}.tar.bz2
123 COMMAND cd ${PROJECT_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME} && cmake .
124 COMMAND cd ${PROJECT_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME} && make
125 COMMAND cd ${PROJECT_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME} && make test
126 COMMAND rm -rf ${PROJECT_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}
127 WORKING_DIRECTORY "${PROJECT_DIRECTORY}"
128 )
129
130 include(CPack)