-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
95 lines (73 loc) · 1.82 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
cmake_minimum_required (VERSION 3.0)
project( mulle-make VERSION 2.4.0 LANGUAGES NONE)
#
# Primarily used for packaging on Linux
#
# Debian:
#
# ```
# mkdir package
# cd package
# cmake ..
# cpack -G DEB
# ```
#
execute_process( COMMAND ./mulle-make version
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_VARIABLE MULLE_MAKE_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE)
message( STATUS "MULLE_MAKE_VERSION is ${MULLE_MAKE_VERSION} according to mulle-make")
set( PROJECT_VERSION "${MULLE_MAKE_VERSION}")
set( SCRIPTS
mulle-make
)
if(MINGW)
set( SCRIPTS
${SCRIPTS}
mulle-mingw-cmake
mulle-mingw-make
mulle-mingw-cpp
mulle-mingw-dumpdef.sh
)
#
# Todo need to preprocess this to replace paths
#
set( BATS
mulle-mingw-dumpdef.bat
)
endif()
file( GLOB LIBRARY_SCRIPTS
"src/*.sh"
)
file( GLOB PLUGIN_SCRIPTS
"src/plugins/*.sh"
)
INSTALL( FILES ${SCRIPTS}
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
DESTINATION "bin")
INSTALL( FILES ${BATS}
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
DESTINATION "bin")
#
# future: install into libexec/mulle-make/${MULLE_MAKE_VERSION}
# allows multiple versions to co-exist (does it really ?)
#
INSTALL( FILES ${LIBRARY_SCRIPTS}
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
DESTINATION "libexec/mulle-make")
INSTALL( FILES ${PLUGIN_SCRIPTS}
PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ
GROUP_EXECUTE GROUP_READ
WORLD_EXECUTE WORLD_READ
DESTINATION "libexec/mulle-make/plugins")
######
#
# must be after CPACK_PACKAGE_VERSION
include( CMakePackage.cmake)
include( CPack)