annotate src/liblo-0.26/build/premake4.lua @ 4:e13257ea84a4

Add bzip2, zlib, liblo, portaudio sources
author Chris Cannam
date Wed, 20 Mar 2013 13:59:52 +0000
parents
children
rev   line source
Chris@4 1 ----------------------------------------------------------------------
Chris@4 2 -- Premake4 configuration script for LibLo
Chris@4 3 -- Adapted from ODE's build script by Jason Perkins.
Chris@4 4 -- For more information on Premake: http://industriousone.com/premake
Chris@4 5 ----------------------------------------------------------------------
Chris@4 6
Chris@4 7 ----------------------------------------------------------------------
Chris@4 8 -- Configuration options
Chris@4 9 ----------------------------------------------------------------------
Chris@4 10
Chris@4 11 -- always clean all of the optional components and toolsets
Chris@4 12 if _ACTION == "clean" then
Chris@4 13 for action in pairs(premake.actions) do
Chris@4 14 os.rmdir(action)
Chris@4 15 end
Chris@4 16 end
Chris@4 17
Chris@4 18
Chris@4 19
Chris@4 20 ----------------------------------------------------------------------
Chris@4 21 -- The solution, and solution-wide settings
Chris@4 22 ----------------------------------------------------------------------
Chris@4 23
Chris@4 24 solution "liblo"
Chris@4 25
Chris@4 26 language "C"
Chris@4 27 location ( _OPTIONS["to"] or _ACTION )
Chris@4 28
Chris@4 29 includedirs {
Chris@4 30 "../lo",
Chris@4 31 "../src"
Chris@4 32 }
Chris@4 33
Chris@4 34 -- define all the possible build configurations
Chris@4 35 configurations {
Chris@4 36 "DebugDLL", "ReleaseDLL",
Chris@4 37 "DebugLib", "ReleaseLib",
Chris@4 38 }
Chris@4 39
Chris@4 40 configuration { "Debug*" }
Chris@4 41 defines { "_DEBUG" }
Chris@4 42 flags { "Symbols" }
Chris@4 43
Chris@4 44 configuration { "Release*" }
Chris@4 45 flags { "OptimizeSpeed", "NoFramePointer" }
Chris@4 46
Chris@4 47 configuration { "Windows" }
Chris@4 48 defines { "WIN32" }
Chris@4 49
Chris@4 50 -- give each configuration a unique output directory
Chris@4 51 for _, name in ipairs(configurations()) do
Chris@4 52 configuration { name }
Chris@4 53 targetdir ( "../lib/" .. name )
Chris@4 54 end
Chris@4 55
Chris@4 56 -- disable Visual Studio security warnings
Chris@4 57 configuration { "vs*" }
Chris@4 58 defines { "_CRT_SECURE_NO_DEPRECATE" }
Chris@4 59
Chris@4 60 -- tell source to use config.h
Chris@4 61 configuration { "vs*" }
Chris@4 62 defines { "HAVE_CONFIG_H" }
Chris@4 63
Chris@4 64 -- don't remember why we had to do this (from ODE)
Chris@4 65 configuration { "vs2002 or vs2003", "*Lib" }
Chris@4 66 flags { "StaticRuntime" }
Chris@4 67
Chris@4 68 ----------------------------------------------------------------------
Chris@4 69 -- Write a custom <config.h> to .., based on the supplied flags
Chris@4 70 ----------------------------------------------------------------------
Chris@4 71
Chris@4 72 -- First get the version number from "configure.ac" --
Chris@4 73
Chris@4 74 io.input("../configure.ac")
Chris@4 75 text = io.read("*all")
Chris@4 76 io.close()
Chris@4 77 text = string.sub(text,string.find(text, "AC_INIT.+"))
Chris@4 78 version = string.sub(text,string.find(text, "%d+%.%d+"))
Chris@4 79
Chris@4 80 -- Replace it in "config.h" --
Chris@4 81
Chris@4 82 io.input("config-msvc.h")
Chris@4 83 local text = io.read("*all")
Chris@4 84
Chris@4 85 text = string.gsub(text, '/%*VERSION%*/', '"'..version..'"')
Chris@4 86
Chris@4 87 io.output("../config.h")
Chris@4 88 io.write(text)
Chris@4 89 io.close()
Chris@4 90
Chris@4 91 ----------------------------------------------------------------------
Chris@4 92 -- Copy <lo_endian.h> to ../lo
Chris@4 93 ----------------------------------------------------------------------
Chris@4 94
Chris@4 95 io.input("lo_endian-msvc.h")
Chris@4 96 io.output("../lo/lo_endian.h")
Chris@4 97 local text = io.read("*all")
Chris@4 98 io.write(text)
Chris@4 99 io.close()
Chris@4 100
Chris@4 101 ----------------------------------------------------------------------
Chris@4 102 -- The LibLo library project
Chris@4 103 ----------------------------------------------------------------------
Chris@4 104
Chris@4 105 project "liblo"
Chris@4 106
Chris@4 107 kind "StaticLib"
Chris@4 108 location ( _OPTIONS["to"] or _ACTION )
Chris@4 109
Chris@4 110 includedirs {
Chris@4 111 "..",
Chris@4 112 }
Chris@4 113
Chris@4 114 files {
Chris@4 115 "../src/*.c",
Chris@4 116 "../src/*.h",
Chris@4 117 "../lo/*.h",
Chris@4 118 "../src/liblo.def",
Chris@4 119 }
Chris@4 120
Chris@4 121 excludes {
Chris@4 122 "../src/testlo.c",
Chris@4 123 "../src/subtest.c",
Chris@4 124 "../src/tools",
Chris@4 125 }
Chris@4 126
Chris@4 127 configuration { "windows" }
Chris@4 128 links { "user32",
Chris@4 129 "wsock32",
Chris@4 130 "ws2_32",
Chris@4 131 "pthreadVC2",
Chris@4 132 }
Chris@4 133
Chris@4 134 configuration { "*Lib" }
Chris@4 135 kind "StaticLib"
Chris@4 136 defines "LIBLO_LIB"
Chris@4 137
Chris@4 138 configuration { "*DLL" }
Chris@4 139 kind "SharedLib"
Chris@4 140 defines "LIBLO_DLL"
Chris@4 141
Chris@4 142 configuration { "Debug*" }
Chris@4 143 targetname "liblo_d"
Chris@4 144
Chris@4 145 configuration { "Release*" }
Chris@4 146 targetname "liblo"
Chris@4 147
Chris@4 148
Chris@4 149 ----------------------------------------------------------------------
Chris@4 150 -- The automated test application
Chris@4 151 ----------------------------------------------------------------------
Chris@4 152
Chris@4 153
Chris@4 154 project "testlo"
Chris@4 155
Chris@4 156 kind "ConsoleApp"
Chris@4 157 location ( _OPTIONS["to"] or _ACTION )
Chris@4 158 links { "user32",
Chris@4 159 "wsock32",
Chris@4 160 "ws2_32",
Chris@4 161 "pthreadVC2",
Chris@4 162 }
Chris@4 163
Chris@4 164 includedirs {
Chris@4 165 "..",
Chris@4 166 }
Chris@4 167
Chris@4 168 files {
Chris@4 169 "../src/testlo.c",
Chris@4 170 }
Chris@4 171
Chris@4 172 configuration { "DebugDLL" }
Chris@4 173 links { "liblo_d" }
Chris@4 174 libdirs { "../lib/debugdll" }
Chris@4 175
Chris@4 176 configuration { "DebugLib" }
Chris@4 177 links { "liblo_d" }
Chris@4 178 libdirs { "../lib/debuglib" }
Chris@4 179
Chris@4 180 configuration { "Release*" }
Chris@4 181 links { "liblo" }
Chris@4 182
Chris@4 183 project "subtest"
Chris@4 184
Chris@4 185 kind "ConsoleApp"
Chris@4 186 location ( _OPTIONS["to"] or _ACTION )
Chris@4 187 links { "user32",
Chris@4 188 "wsock32",
Chris@4 189 "ws2_32",
Chris@4 190 "pthreadVC2",
Chris@4 191 }
Chris@4 192
Chris@4 193 includedirs {
Chris@4 194 "..",
Chris@4 195 }
Chris@4 196
Chris@4 197 files {
Chris@4 198 "../src/subtest.c",
Chris@4 199 }
Chris@4 200
Chris@4 201 configuration { "DebugDLL" }
Chris@4 202 links { "liblo_d" }
Chris@4 203 libdirs { "../lib/debugdll" }
Chris@4 204
Chris@4 205 configuration { "DebugLib" }
Chris@4 206 links { "liblo_d" }
Chris@4 207 libdirs { "../lib/debuglib" }
Chris@4 208
Chris@4 209 configuration { "Release*" }
Chris@4 210 links { "liblo" }