mirror of
https://github.com/Alex313031/thorium.git
synced 2025-01-10 03:47:44 -03:00
31 lines
1.5 KiB
CMake
31 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 3.0)
|
|
cmake_policy(SET CMP0048 NEW)
|
|
project(pak VERSION 2.0.2 LANGUAGES C)
|
|
option(LGPL "Use custom startfiles on windows for smaller binary, requiring GNU Lesser General Public License 2.1+." ON)
|
|
if (NOT CMAKE_BUILD_TYPE)
|
|
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release." FORCE)
|
|
endif (NOT CMAKE_BUILD_TYPE)
|
|
if (MSVC)
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MT /wd4996 /wd4068")
|
|
set(CompilerFlags
|
|
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
|
|
CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE)
|
|
foreach (CompilerFlag ${CompilerFlags})
|
|
string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}")
|
|
endforeach ()
|
|
endif ()
|
|
if ("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU")
|
|
set(CMAKE_C_FLAGS "-O3 -pipe -Wall -Wextra -fmerge-all-constants -Wl,--gc-sections,--build-id=none -Wno-format-extra-args -Wno-unused-result")
|
|
set(CMAKE_C_FLAGS_DEBUG "-g")
|
|
set(CMAKE_C_FLAGS_RELEASE "-O3 -s -g0 -DNDEBUG")
|
|
set(CMAKE_CPP_FLAGS_RELEASE "-O3 -s -g0 -DNDEBUG")
|
|
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -s -g0 -DNDEBUG")
|
|
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "-Wl,-O3")
|
|
set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "-Wl,-O3")
|
|
if (WIN32 AND LGPL)
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -nostartfiles -D_LGPL")
|
|
endif ()
|
|
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_C_FLAGS} -Wl,-O3")
|
|
endif ()
|
|
aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} DIR_SRCS)
|
|
add_executable(pak ${DIR_SRCS})
|