1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-18 20:19:11 +00:00

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

View File

@@ -20,13 +20,13 @@ set(BASESET_OTHER_SOURCE_FILES
)
# Done by the subdirectories, if nforenum / grfcodec is installed
if (NFORENUM_FOUND AND GRFCODEC_FOUND)
if (GRFCODEC_FOUND)
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/openttd.grf PROPERTIES GENERATED TRUE)
set_source_files_properties(${CMAKE_CURRENT_SOURCE_DIR}/orig_extra.grf PROPERTIES GENERATED TRUE)
list(APPEND BASESET_BINARY_FILES openttd.grf)
list(APPEND BASESET_BINARY_FILES orig_extra.grf)
endif (NFORENUM_FOUND AND GRFCODEC_FOUND)
endif (GRFCODEC_FOUND)
set(BASESET_EXTRAGRF_FILE ${CMAKE_CURRENT_SOURCE_DIR}/orig_extra.grf)

View File

@@ -3,7 +3,7 @@
# This is mainly because not many people have both of these tools installed,
# so it is cheaper to cache them in git, and only regenerate when you are
# working on it / have the tools installed.
if (NFORENUM_FOUND AND GRFCODEC_FOUND)
include(CreateGrfCommand REQUIRED)
if (GRFCODEC_FOUND)
include(CreateGrfCommand)
create_grf_command()
endif (NFORENUM_FOUND AND GRFCODEC_FOUND)
endif (GRFCODEC_FOUND)

View File

@@ -3,12 +3,12 @@
# This is mainly because not many people have both of these tools installed,
# so it is cheaper to cache them in git, and only regenerate when you are
# working on it / have the tools installed.
if (NFORENUM_FOUND AND GRFCODEC_FOUND)
include(CreateGrfCommand REQUIRED)
if (GRFCODEC_FOUND)
include(CreateGrfCommand)
create_grf_command(
# We share some files with 'openttd' grf
${CMAKE_CURRENT_SOURCE_DIR}/../openttd/airports.png
${CMAKE_CURRENT_SOURCE_DIR}/../openttd/canals.png
${CMAKE_CURRENT_SOURCE_DIR}/../openttd/chars.png
)
endif (NFORENUM_FOUND AND GRFCODEC_FOUND)
endif (GRFCODEC_FOUND)