cmake does not build on alpine
In file included from /usr/include/pthread.h:30:0,
from /home/user/cmake-3.15.2/Utilities/cmlibuv/include/uv/unix.h:42,
from /home/user/cmake-3.15.2/Utilities/cmlibuv/include/uv.h:66,
from /home/user/cmake-3.15.2/Utilities/cm_uv.h:11,
from /home/user/cmake-3.15.2/Source/cmAffinity.cxx:5:
/home/user/cmake-3.15.2/Source/cmAffinity.cxx: In function ‘std::set<long unsigned int> cmAffinity::GetProcessorsAvailable()’:
/home/user/cmake-3.15.2/Source/cmAffinity.cxx:49:5: error: ‘memset’ was not declared in this scope
CPU_ZERO(&cpuset); // NOLINT(clang-tidy)
^
Source/CMakeFiles/CMakeLib.dir/build.make:179: recipe for target 'Source/CMakeFiles/CMakeLib.dir/cmAffinity.cxx.o' failed
Seems like the include of string.h is missing in cmAffinity.cxx.
This fixed it for me:
--- cmake-3.15.2/Source/cmAffinity.cxx
+++ cmake-3.15.2-ok/Source/cmAffinity.cxx
@@ -12,6 +12,7 @@
# define CM_HAVE_CPU_AFFINITY
# include <pthread.h>
# include <sched.h>
+# include <string.h>
# if defined(__FreeBSD__)
# include <pthread_np.h>
# include <sys/cpuset.h>