2020-08-22 22:30:12 -04:00
|
|
|
# Top Level CMakeLists.txt
|
|
|
|
cmake_minimum_required(VERSION 3.0) # todo - this was picked randomly
|
|
|
|
project(jak)
|
|
|
|
|
2020-08-23 23:43:11 -04:00
|
|
|
set(CMAKE_CXX_STANDARD 14)
|
2020-08-22 22:30:12 -04:00
|
|
|
|
|
|
|
# optimization level can be set here. Note that game/ overwrites this for building game C++ code.
|
2020-08-26 19:40:26 -04:00
|
|
|
set(CMAKE_CXX_FLAGS "-O3 -ggdb")
|
|
|
|
|
|
|
|
# Set default compile flags for GCC
|
|
|
|
if(CMAKE_COMPILER_IS_GNUCXX)
|
|
|
|
message(STATUS "GCC detected, adding compile flags")
|
|
|
|
set(CMAKE_CXX_FLAGS
|
|
|
|
"${CMAKE_CXX_FLAGS}
|
|
|
|
-Wall-Winit-self
|
|
|
|
-Wextra
|
|
|
|
-Wcast-align
|
|
|
|
-Wcast-qual
|
|
|
|
-Wdisabled-optimization
|
|
|
|
-Wformat=2
|
|
|
|
-Wmissing-include-dirs
|
|
|
|
-Woverloaded-virtual
|
|
|
|
-Wredundant-decls
|
|
|
|
-Wshadow
|
|
|
|
-Wsign-promo")
|
|
|
|
endif(CMAKE_COMPILER_IS_GNUCXX)
|
2020-08-22 22:30:12 -04:00
|
|
|
|
2020-08-26 22:23:16 -04:00
|
|
|
IF (WIN32)
|
|
|
|
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
2020-08-26 23:45:52 -04:00
|
|
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
|
|
|
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
2020-08-26 22:23:16 -04:00
|
|
|
ENDIF()
|
|
|
|
|
2020-08-22 22:30:12 -04:00
|
|
|
# includes relative to top level jak-project folder
|
|
|
|
include_directories(./)
|
|
|
|
|
|
|
|
# build asset packer/unpacker
|
|
|
|
add_subdirectory(asset_tool)
|
|
|
|
|
2020-08-23 23:43:11 -04:00
|
|
|
# build type_system library for compiler/decompiler
|
|
|
|
add_subdirectory(common/type_system)
|
|
|
|
|
2020-08-22 22:30:12 -04:00
|
|
|
# build decompiler
|
|
|
|
add_subdirectory(decompiler)
|
|
|
|
|
|
|
|
# build the game code in C++
|
|
|
|
add_subdirectory(game)
|
|
|
|
|
|
|
|
# build the compiler
|
|
|
|
add_subdirectory(goalc)
|
|
|
|
|
|
|
|
# build the gtest libraries
|
|
|
|
add_subdirectory(third-party/googletest)
|
|
|
|
|
|
|
|
# build tests
|
2020-08-22 23:16:48 -04:00
|
|
|
add_subdirectory(test)
|
|
|
|
|
|
|
|
# build minilzo library
|
2020-08-23 23:43:11 -04:00
|
|
|
add_subdirectory(third-party/minilzo)
|
|
|
|
|
|
|
|
# build format library
|
2020-08-26 22:23:16 -04:00
|
|
|
add_subdirectory(third-party/fmt)
|
|
|
|
|
|
|
|
# windows memory management lib
|
|
|
|
IF (WIN32)
|
|
|
|
add_subdirectory(third-party/mman)
|
|
|
|
ENDIF()
|