chdman/CMakeLists.txt

88 lines
1.8 KiB
CMake
Raw Permalink Normal View History

cmake_minimum_required(VERSION 3.18)
project("chdman CBT edition")
2022-01-04 02:25:37 +00:00
set(build_version "0.238-CBT_edition")
2022-01-04 05:20:56 +00:00
set(vcs_revision "mame0238")
#cd ../mame && git describe --dirty
2021-12-16 18:19:52 +00:00
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Release)
2021-12-16 18:19:52 +00:00
endif()
set(CMAKE_CXX_STANDARD 17) #needed by libocore and libutils. -
#set globally to match MAME's genie scripts.
if(WIN32)
add_compile_definitions(
X64_WINDOWS_ABI
CRLF=3
OSD_WINDOWS
)
else()
add_compile_definitions(
CRLF=2
)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wbad-function-cast")
endif()
function(addprojectflags)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wsuggest-override -flifetime-dse=1")
endif()
endfunction()
add_subdirectory(cmake_subdirs)
#chdman
add_executable(chdman
${CMAKE_SOURCE_DIR}/src/tools/chdman.cpp
${CMAKE_SOURCE_DIR}/src/version.cpp
)
target_include_directories(chdman PRIVATE
${CMAKE_SOURCE_DIR}/src/osd
${CMAKE_SOURCE_DIR}/src/lib/util
${CMAKE_SOURCE_DIR}/3rdparty
${CMAKE_SOURCE_DIR}/3rdparty/libflac/include
)
set_property(TARGET chdman PROPERTY CXX_STANDARD 17)
2022-01-04 02:25:37 +00:00
target_compile_definitions(chdman PRIVATE
BARE_BUILD_VERSION="${build_version}"
BARE_VCS_REVISION="${vcs_revision}"
2022-01-04 02:25:37 +00:00
)
target_link_libraries(chdman PRIVATE utils expat 7z ocore_sdl zlib flac utf8proc)
if(UNIX)
target_link_libraries(chdman PRIVATE pthread util)
elseif(WIN32)
target_link_libraries(chdman PRIVATE utils) #circular dependency bs Windows only.
target_link_libraries(chdman PRIVATE
user32
winmm
advapi32
shlwapi
wsock32
ws2_32
psapi
iphlpapi
shell32
userenv
)
endif()
2022-01-06 08:06:54 +00:00
if(MINGW)
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -static")
elseif(MSVC)
add_compile_definitions(
XML_STATIC
WIN32
_WIN32
_CRT_NONSTDC_NO_DEPRECATE
_CRT_SECURE_NO_DEPRECATE
_CRT_STDIO_LEGACY_WIDE_SPECIFIERS
)
endif()