blob: af4e8ba3663b4c38f1e274291c8ea49e8126755c (
plain)
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
|
#!/bin/sh
target "cli"
add_deps "xmake"
set_kind "binary"
set_basename "xmake"
set_targetdir "${builddir}"
# add definitions
add_defines "__tb_prefix__=\"xmake\""
# add includes directory
add_includedirs "${projectdir}/core" "${projectdir}/core/src"
# add the common source files
add_files "**.c"
# add links
if is_plat "macosx" && is_config "runtime" "luajit"; then
add_ldflags "-all_load" "-pagezero_size 10000" "-image_base 100000000"
elif is_plat "mingw"; then
add_ldflags "-static-libgcc" "-lwintrust" "-lcrypt32"
fi
# add install files
add_installfiles "${projectdir}/(xmake/**.lua)" "share"
add_installfiles "${projectdir}/(xmake/scripts/*)" "share"
add_installfiles "${projectdir}/(xmake/scripts/cmake_importfiles/**)" "share"
add_installfiles "${projectdir}/(xmake/scripts/completions/**)" "share"
add_installfiles "${projectdir}/(xmake/scripts/xpack/**)" "share"
add_installfiles "${projectdir}/(xmake/scripts/xrepo/**)" "share"
add_installfiles "${projectdir}/(xmake/scripts/virtualenvs/**)" "share"
add_installfiles "${projectdir}/(xmake/scripts/conan/**)" "share"
add_installfiles "${projectdir}/(xmake/scripts/module/**)" "share"
add_installfiles "${projectdir}/(xmake/repository/templates/**)" "share"
add_installfiles "${projectdir}/scripts/xrepo.sh" "bin" "xrepo"
# fix os.exec() call incorrect program from /mingw64/bin. e.g. python, ..
#
# because xmake is installed to /mingw64/bin/xmake,
# os.exec/CreateProcess always gives the highest priority to finding the process from /mingw64/bin (if it exists),
# rather than from the $PATH environment variable.
#
# we install the xmake executable into a separate directory to ensure
# that os.exec() does not look for additional executables.
#
# @see https://github.com/xmake-io/xmake/issues/3628
if is_host "msys"; then
after_install "xmake_after_install"
fi
# add syslinks
add_options "atomic"
if is_plat "mingw" "msys" "cygwin"; then
add_syslinks "ws2_32" "pthread" "m"
elif is_plat "bsd" "solaris"; then
add_syslinks "pthread" "m"
elif is_plat "haiku"; then
add_syslinks "pthread" "network" "m"
elif test_nz "${TERMUX_ARCH}"; then
add_syslinks "m" "dl"
else
add_syslinks "pthread" "dl" "m" "c"
fi
xmake_after_install() {
local target=${1}
local installdir=${2}
if test_eq "${project_generator}" "gmake"; then
print "\t@if test -f ${installdir}/bin/xmake.exe; then rm ${installdir}/bin/xmake.exe; fi" >> "${xmake_sh_makefile}"
print "\t@cp ${projectdir}/scripts/msys/xmake.sh ${installdir}/bin/xmake" >> "${xmake_sh_makefile}"
print "\t@cp ${projectdir}/scripts/msys/xmake.cmd ${installdir}/bin/xmake.cmd" >> "${xmake_sh_makefile}"
print "\t@cp ${projectdir}/scripts/msys/xmake.ps1 ${installdir}/bin/xmake.ps1" >> "${xmake_sh_makefile}"
print "\t@cp ${builddir}/xmake.exe ${installdir}/share/xmake" >> "${xmake_sh_makefile}"
fi
}
|