30 lines
955 B
CMake
30 lines
955 B
CMake
cmake_minimum_required(VERSION 3.12)
|
|
project(NandPartitionTableConvert)
|
|
|
|
set(CMAKE_CXX_STANDARD 20)
|
|
set(CMAKE_C_STANDARD 11)
|
|
|
|
# for GCC/Clang
|
|
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Werror=delete-non-virtual-dtor -Werror=return-type -Werror=non-virtual-dtor -Wno-invalid-offsetof")
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -Werror=return-type")
|
|
endif ()
|
|
|
|
add_executable(NandPartitionTableConvert
|
|
nand_part_table_cvt.cc
|
|
os_utils.cc
|
|
utf_convert.cc
|
|
)
|
|
|
|
add_subdirectory(fmt fmt)
|
|
target_compile_definitions(fmt-header-only INTERFACE FMT_STATIC_THOUSANDS_SEPARATOR=1)
|
|
|
|
set_target_properties(NandPartitionTableConvert PROPERTIES
|
|
CXX_EXTENSIONS OFF
|
|
POSITION_INDEPENDENT_CODE ON
|
|
)
|
|
|
|
# target_link_options(NandPartitionTableConvert PRIVATE "-static-pie" "-static-libgcc" "-static-libstdc++")
|
|
|
|
target_link_libraries(NandPartitionTableConvert fmt::fmt-header-only)
|