Skip to content

Commit

Permalink
Squashed 'extlibs/squirrel/' content from commit c52b25d
Browse files Browse the repository at this point in the history
git-subtree-dir: extlibs/squirrel
git-subtree-split: c52b25d864400197fa4d64c46254d8b1de06c2fa
  • Loading branch information
substring committed Apr 30, 2023
0 parents commit 983f3dc
Show file tree
Hide file tree
Showing 141 changed files with 25,295 additions and 0 deletions.
68 changes: 68 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
if(MSVC)
cmake_minimum_required(VERSION 3.4)
else()
cmake_minimum_required(VERSION 2.8)
endif()

set(CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}" CACHE PATH "")
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "")

project(squirrel C CXX)

include_directories(${CMAKE_SOURCE_DIR}/include)

if(CMAKE_COMPILER_IS_GNUCXX)
set(SQ_FLAGS -fno-exceptions -fno-strict-aliasing -Wall -Wextra -pedantic -Wcast-qual)

if(CMAKE_BUILD_TYPE STREQUAL "Release")
set(SQ_FLAGS ${SQ_FLAGS} -O3)
elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo")
set(SQ_FLAGS ${SQ_FLAGS} -O3 -g)
elseif(CMAKE_BUILD_TYPE STREQUAL "MinSizeRel")
set(SQ_FLAGS ${SQ_FLAGS} -Os)
elseif(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(SQ_FLAGS ${SQ_FLAGS} -pg -pie -gstabs -g3 -Og)
endif()

if(CMAKE_VERSION VERSION_GREATER 3)
add_compile_options(${SQ_FLAGS})
else()
add_definitions(${SQ_FLAGS})
endif()

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti -std=c++0x")
elseif(MSVC)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
endif()

if(CMAKE_SIZEOF_VOID_P EQUAL 8)
add_definitions(-D_SQ64)
endif()

if(NOT DEFINED INSTALL_BIN_DIR)
set(INSTALL_BIN_DIR bin)
endif()

if(NOT DEFINED INSTALL_LIB_DIR)
set(INSTALL_LIB_DIR lib)
endif()

add_subdirectory(squirrel)
add_subdirectory(sqstdlib)
add_subdirectory(sq)

if(NOT WIN32)
set_target_properties(squirrel sqstdlib PROPERTIES SOVERSION 0 VERSION 0.0.0)
endif()

if(DEFINED INSTALL_INC_DIR)
set(SQ_PUB_HEADERS include/sqconfig.h
include/sqstdaux.h
include/sqstdblob.h
include/sqstdio.h
include/sqstdmath.h
include/sqstdstring.h
include/sqstdsystem.h
include/squirrel.h)
install(FILES ${SQ_PUB_HEADERS} DESTINATION ${INSTALL_INC_DIR})
endif()
79 changes: 79 additions & 0 deletions COMPILE
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
Squirrel 3.1 stable
--------------------------------------------------------
What is in this distribution?

squirrel
static library implementing the compiler and interpreter of the language

sqstdlib
the standard utility libraries

sq
stand alone interpreter

doc
The manual

etc
a minimalistic embedding sample

samples
samples programs


HOW TO COMPILE
---------------------------------------------------------
CMAKE USERS
.........................................................
If you want to build the shared libraries under Windows using Visual
Studio, you will have to use CMake version 3.4 or newer. If not, an
earlier version will suffice. For a traditional out-of-source build
under Linux, type something like

$ mkdir build # Create temporary build directory
$ cd build
$ cmake .. # CMake will determine all the necessary information,
# including the platform (32- vs. 64-bit)
$ make
$ make install
$ cd ..; rm -r build

The default installation directory will be the top source directory,
i. e. the binaries will go into bin/ and the libraries into lib/. You
can change this behavior by calling CMake like this:

$ cmake .. -DCMAKE_INSTALL_PREFIX=/some/path/on/your/system

With the INSTALL_BIN_DIR and INSTALL_LIB_DIR options, the directories
the binaries & libraries will go in (relative to CMAKE_INSTALL_PREFIX)
can be specified. For instance,

$ cmake .. -DINSTALL_LIB_DIR=lib64

will install the libraries into a 'lib64' subdirectory in the top
source directory. If INSTALL_INC_DIR is set, the public header files
will be installed into the directory the value of INSTALL_INC_DIR
points to. There is no default directory - if you want only the
binaries and no headers, just don't specify INSTALL_INC_DIR, and no
header files will be installed.

Under Windows, it is probably easiest to use the CMake GUI interface,
although invoking CMake from the command line as explained above
should work as well.

GCC USERS
.........................................................
There is a very simple makefile that compiles all libraries and exes
from the root of the project run 'make'

for 32 bits systems

$ make

for 64 bits systems

$ make sq64

VISUAL C++ USERS
.........................................................
Open squirrel.dsw from the root project directory and build(dho!)
21 changes: 21 additions & 0 deletions COPYRIGHT
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Copyright (c) 2003-2016 Alberto Demichelis

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-----------------------------------------------------
END OF COPYRIGHT
Loading

0 comments on commit 983f3dc

Please sign in to comment.