Files
Bin2CPP/CMakeLists.txt
2026-03-29 09:16:57 +00:00

56 lines
1.7 KiB
CMake

cmake_minimum_required(VERSION 3.24)
foreach(config DEBUG RELWITHDEBINFO)
foreach(lang EXE SHARED MODULE)
if("${CMAKE_${lang}_LINKER_FLAGS_${config}}" MATCHES "/INCREMENTAL:NO")
string(REGEX REPLACE "/INCREMENTAL([^:]|$)" ""
CMAKE_${lang}_LINKER_FLAGS_${config}
"${CMAKE_${lang}_LINKER_FLAGS_${config}}")
endif()
endforeach()
endforeach()
project(Bin2CPP VERSION 0.1.0
DESCRIPTION "Bin2CPP"
LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
get_property(IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
set(CMAKE_CONFIGURATION_TYPES "Release;RelWithDebInfo;Debug" CACHE STRING "" FORCE)
option(BUILD_TESTS OFF)
include(${CMAKE_SOURCE_DIR}/CMake/FindDependencies.cmake)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_OPTIMIZE_DEPENDENCIES 1)
add_compile_definitions(
$<$<CONFIG:Release>:BIN2CPP_OPTIMIZED>
$<$<CONFIG:Debug,RelWithDebInfo>:BIN2CPP_NOT_OPTIMIZED>
$<$<PLATFORM_ID:Windows>:BIN2CPP_WINDOWS>
$<$<PLATFORM_ID:Linux>:BIN2CPP_LINUX>
$<$<PLATFORM_ID:Windows>:NOMINMAX>
$<$<PLATFORM_ID:Windows>:WIN32_LEAN_AND_MEAN>)
if(BUILD_TESTS)
enable_testing()
endif()
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
SET(CMAKE_SKIP_BUILD_RPATH FALSE)
SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
SET(CMAKE_INSTALL_RPATH "\${ORIGIN}")
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/Bin2CPP/Sources)
if(${BUILD_TESTS})
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/Bin2CPP/Tests)
endif()
add_custom_target(NatVis SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/Vendor/NatVis/EASTL/EASTL.natvis)