Add cscript
authorCarl Hetherington <cth@carlh.net>
Fri, 1 Sep 2017 23:20:14 +0000 (19:20 -0400)
committerCarl Hetherington <cth@carlh.net>
Sun, 7 Jun 2020 22:36:06 +0000 (00:36 +0200)
cscript [new file with mode: 0644]

diff --git a/cscript b/cscript
new file mode 100644 (file)
index 0000000..98959a4
--- /dev/null
+++ b/cscript
@@ -0,0 +1,29 @@
+import os
+
+def build(target, options):
+    cmd = 'cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%s -DBUILD_PKGCONFIG_FILES=ON' % target.directory
+    if target.platform == 'windows':
+        # Hack: the build fails if PATH includes /opt/windows/64/bin; I don't know why:
+        # remove it
+        target.set('PATH', '%s:%s' % (target.mingw_path, os.environ['PATH']))
+        f = open('mingw.cmake', 'w')
+        print("SET(CMAKE_SYSTEM_NAME Windows)", file=f)
+        print("SET(CMAKE_C_COMPILER %s/%s)" % (target.mingw_path, target.get('CC')), file=f)
+        print("SET(CMAKE_RC_COMPILER %s/%s)" % (target.mingw_path, target.get('WINRC')), file=f)
+        all = ""
+        for p in target.mingw_prefixes:
+            all += "%s " % p
+        print("SET(CMAKE_ROOT_FIND_PATH %s %s)" % (all, target.mingw_path), file=f)
+        print("SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)", file=f)
+        print("SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)", file=f)
+        print("SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)", file=f)
+        cmd += ' -DCMAKE_TOOLCHAIN_FILE=mingw.cmake'
+        f.close()
+    if target.platform == 'linux':
+        cmd += ' -DBUILD_SHARED_LIBS=OFF'
+    if target.platform == 'osx':
+        cmd += ' -DCMAKE_OSX_SYSROOT=%s/MacOSX%s.sdk' % (target.sdk_prefix, target.sdk)
+
+    target.command(cmd)
+    target.command('make -j%d VERBOSE=1' % target.parallel)
+    target.command('make install')