Add: introduce CMake for project management

CMake works on all our supported platforms, like MSVC, Mingw, GCC,
Clang, and many more. It allows for a single way of doing things,
so no longer we need shell scripts and vbs scripts to work on all
our supported platforms.

Additionally, CMake allows to generate project files for like MSVC,
KDevelop, etc.

This heavily reduces the lines of code we need to support multiple
platforms from a project perspective.

Addtiionally, this heavily improves our detection of libraries, etc.
This commit is contained in:
Patric Stout
2019-04-07 11:57:55 +02:00
committed by glx22
parent 85315e2e31
commit 56d54cf60e
69 changed files with 3116 additions and 1144 deletions

3
src/3rdparty/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,3 @@
add_subdirectory(md5)
add_subdirectory(squirrel)
add_subdirectory(os2)

4
src/3rdparty/md5/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,4 @@
add_files(
md5.cpp
md5.h
)

7
src/3rdparty/os2/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,7 @@
add_files(
getaddrinfo.c
getaddrinfo.h
getnameinfo.c
getnameinfo.h
CONDITION OPTION_OS2
)

3
src/3rdparty/squirrel/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,3 @@
add_subdirectory(include)
add_subdirectory(sqstdlib)
add_subdirectory(squirrel)

View File

@@ -0,0 +1,6 @@
add_files(
sqstdaux.h
sqstdmath.h
sqstdstring.h
squirrel.h
)

View File

@@ -0,0 +1,4 @@
add_files(
sqstdaux.cpp
sqstdmath.cpp
)

View File

@@ -0,0 +1,30 @@
add_files(
sqapi.cpp
sqarray.h
sqbaselib.cpp
sqclass.cpp
sqclass.h
sqclosure.h
sqcompiler.cpp
sqcompiler.h
sqdebug.cpp
sqfuncproto.h
sqfuncstate.cpp
sqfuncstate.h
sqlexer.cpp
sqlexer.h
sqmem.cpp
sqobject.cpp
sqobject.h
sqopcodes.h
sqpcheader.h
sqstate.cpp
sqstate.h
sqstring.h
sqtable.cpp
sqtable.h
squserdata.h
squtils.h
sqvm.cpp
sqvm.h
)