38 lines
1.2 KiB
CMake
38 lines
1.2 KiB
CMake
cmake_minimum_required(VERSION 3.20)
|
|
project(HammerPP VERSION 0.1.0 DESCRIPTION "Hammer++ map editor" LANGUAGES C CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
|
|
set(CMAKE_BUILD_TYPE Release CACHE STRING "Build type" FORCE)
|
|
endif()
|
|
|
|
option(HPP_BUILD_EDITOR "Build the Hammer++ editor (raylib + Dear ImGui + rlImGui)" ON)
|
|
option(HPP_BUILD_VIEWER "Build the minimal raylib example viewer" ON)
|
|
option(HPP_BUILD_TOOLS "Build the command line tools (hmap_info, hmap_sample)" ON)
|
|
option(HPP_BUILD_TESTS "Build the libhmap test-suite" ON)
|
|
|
|
# libhmap: map model, BSP/CSG compiler, lighting, .hmap format, FBX/OBJ export. No third-party dependencies.
|
|
add_subdirectory(libhmap)
|
|
|
|
if(HPP_BUILD_TOOLS)
|
|
add_subdirectory(tools)
|
|
endif()
|
|
|
|
if(HPP_BUILD_TESTS)
|
|
enable_testing()
|
|
add_subdirectory(tests)
|
|
endif()
|
|
|
|
if(HPP_BUILD_EDITOR OR HPP_BUILD_VIEWER)
|
|
include(cmake/Dependencies.cmake) # raylib (+ Dear ImGui and rlImGui for the editor)
|
|
if(HPP_BUILD_VIEWER)
|
|
add_subdirectory(examples)
|
|
endif()
|
|
if(HPP_BUILD_EDITOR)
|
|
add_subdirectory(editor)
|
|
endif()
|
|
endif()
|