2023-01-02 19:07:39 +00:00
|
|
|
cmake_minimum_required(VERSION 3.12)
|
2021-12-16 15:50:46 +00:00
|
|
|
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 15:50:46 +00:00
|
|
|
|
2021-12-16 18:19:52 +00:00
|
|
|
if(NOT CMAKE_BUILD_TYPE)
|
2022-01-05 01:49:20 +00:00
|
|
|
set(CMAKE_BUILD_TYPE Release)
|
2021-12-16 18:19:52 +00:00
|
|
|
endif()
|
|
|
|
|
2022-01-05 01:49:20 +00:00
|
|
|
set(CMAKE_CXX_STANDARD 17) #needed by libocore and libutils. -
|
|
|
|
#set globally to match MAME's genie scripts.
|
|
|
|
|
2022-01-06 01:54:39 +00:00
|
|
|
if(WIN32)
|
2022-01-05 01:49:20 +00:00
|
|
|
add_compile_definitions(
|
|
|
|
X64_WINDOWS_ABI
|
|
|
|
CRLF=3
|
2022-01-06 05:15:38 +00:00
|
|
|
OSD_WINDOWS
|
2022-01-05 01:49:20 +00:00
|
|
|
)
|
|
|
|
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()
|
|
|
|
|
2021-12-16 15:50:46 +00:00
|
|
|
add_subdirectory(cmake_subdirs)
|
|
|
|
|
|
|
|
#chdman
|
|
|
|
add_executable(chdman
|
2022-01-05 01:49:20 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/tools/chdman.cpp
|
|
|
|
${CMAKE_SOURCE_DIR}/src/version.cpp
|
2021-12-16 15:50:46 +00:00
|
|
|
)
|
2022-01-05 01:49:20 +00:00
|
|
|
|
2021-12-16 15:50:46 +00:00
|
|
|
target_include_directories(chdman PRIVATE
|
2022-01-05 01:49:20 +00:00
|
|
|
${CMAKE_SOURCE_DIR}/src/osd
|
|
|
|
${CMAKE_SOURCE_DIR}/src/lib/util
|
|
|
|
${CMAKE_SOURCE_DIR}/3rdparty
|
|
|
|
${CMAKE_SOURCE_DIR}/3rdparty/libflac/include
|
2021-12-16 15:50:46 +00:00
|
|
|
)
|
|
|
|
set_property(TARGET chdman PROPERTY CXX_STANDARD 17)
|
2022-01-04 02:25:37 +00:00
|
|
|
target_compile_definitions(chdman PRIVATE
|
2022-01-05 01:49:20 +00:00
|
|
|
BARE_BUILD_VERSION="${build_version}"
|
|
|
|
BARE_VCS_REVISION="${vcs_revision}"
|
2022-01-04 02:25:37 +00:00
|
|
|
)
|
2021-12-16 15:50:46 +00:00
|
|
|
|
2022-01-06 04:41:00 +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)
|
2022-01-06 05:15:38 +00:00
|
|
|
target_link_libraries(chdman PRIVATE utils) #circular dependency bs Windows only.
|
2022-01-06 04:41:00 +00:00
|
|
|
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()
|