Fixed CMakeLists (tested with CMake 3.10)

This commit is contained in:
OM 2023-06-18 12:18:10 +02:00
parent 8d2f9f9fb6
commit ca11cdb54e
5 changed files with 66 additions and 70 deletions

View file

@ -104,9 +104,7 @@ if (WITH_CLIENT)
#list(FILTER SOURCES_RENDERER EXCLUDE REGEX "code/renderergl2/tr_subs.c")
#list(FILTER SOURCES_RENDERER EXCLUDE REGEX "code/renderergl2/tr_model.c")
add_executable(openmohaa)
target_compile_features(openmohaa PUBLIC cxx_nullptr)
target_compile_features(openmohaa PUBLIC c_variadic_macros)
add_executable(openmohaa "code/qcommon/dummy.c")
target_link_libraries(openmohaa PRIVATE syslib)
target_link_libraries(openmohaa PRIVATE omohserver)
target_link_libraries(openmohaa PRIVATE omohclient)

View file

@ -8,7 +8,7 @@ file(GLOB_RECURSE SOURCES_UILIB "../uilib/*.c*")
# Made as an interface and not static, as static only links used methods
add_library(omohclient INTERFACE)
target_sources(omohclient PUBLIC ${SOURCES_CLIENT} ${SOURCES_UILIB})
target_sources(omohclient INTERFACE ${SOURCES_CLIENT} ${SOURCES_UILIB})
target_compile_definitions(omohclient INTERFACE APP_MODULE)
target_compile_features(omohclient INTERFACE cxx_nullptr)
target_compile_features(omohclient INTERFACE c_variadic_macros)

View file

@ -17,4 +17,3 @@ set(SRCS
add_library(libmad STATIC ${SRCS})
target_compile_definitions(libmad PUBLIC FPM_64BIT)
target_link_directories(libmad PUBLIC "./")

View file

@ -1,27 +1,29 @@
cmake_minimum_required(VERSION 3.5)
project(qcommon)
cmake_policy(SET CMP0076 NEW)
if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.13.0")
cmake_policy(SET CMP0076 NEW)
endif()
# Shared source files for modules
set(SOURCES_SHARED
"./class.cpp"
"./con_set.cpp"
"./con_timer.cpp"
"./listener.cpp"
"./lz77.cpp"
"./mem_blockalloc.cpp"
"./mem_tempalloc.cpp"
"./q_math.c"
"./q_shared.c"
"./script.cpp"
"./str.cpp"
"../script/scriptexception.cpp"
"../script/scriptvariable.cpp"
"${CMAKE_SOURCE_DIR}/code/qcommon/class.cpp"
"${CMAKE_SOURCE_DIR}/code/qcommon/con_set.cpp"
"${CMAKE_SOURCE_DIR}/code/qcommon/con_timer.cpp"
"${CMAKE_SOURCE_DIR}/code/qcommon/listener.cpp"
"${CMAKE_SOURCE_DIR}/code/qcommon/lz77.cpp"
"${CMAKE_SOURCE_DIR}/code/qcommon/mem_blockalloc.cpp"
"${CMAKE_SOURCE_DIR}/code/qcommon/mem_tempalloc.cpp"
"${CMAKE_SOURCE_DIR}/code/qcommon/q_math.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/q_shared.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/script.cpp"
"${CMAKE_SOURCE_DIR}/code/qcommon/str.cpp"
"${CMAKE_SOURCE_DIR}/code/script/scriptexception.cpp"
"${CMAKE_SOURCE_DIR}/code/script/scriptvariable.cpp"
)
add_library(qcommon INTERFACE)
target_sources(qcommon PUBLIC ${SOURCES_SHARED})
target_sources(qcommon INTERFACE ${SOURCES_SHARED})
target_compile_definitions(qcommon INTERFACE TARGET_GAME_TYPE=${TARGET_GAME_TYPE})
target_include_directories(qcommon INTERFACE "../qcommon" "../script")
target_compile_features(qcommon INTERFACE cxx_nullptr)
@ -29,40 +31,40 @@ target_compile_features(qcommon INTERFACE c_variadic_macros)
# Source files for standalone executable
set(SOURCES_COMMON
"./alias.c"
"./cm_fencemask.c"
"./cm_load.c"
"./cm_patch.c"
"./cm_polylib.c"
"./cm_terrain.c"
"./cm_test.c"
"./cm_trace.c"
"./cm_trace_lbd.cpp"
"./cmd.c"
"./common.cpp"
"./crc.c"
"./cvar.c"
"./files.cpp"
"./huffman.cpp"
"./md4.c"
"./md5.c"
"./memory.c"
"./msg.cpp"
"./net_chan.c"
"./net_ip.c"
"./q_math.c"
"./q_shared.c"
"./unzip.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/alias.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/cm_fencemask.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/cm_load.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/cm_patch.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/cm_polylib.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/cm_terrain.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/cm_test.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/cm_trace.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/cm_trace_lbd.cpp"
"${CMAKE_SOURCE_DIR}/code/qcommon/cmd.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/common.cpp"
"${CMAKE_SOURCE_DIR}/code/qcommon/crc.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/cvar.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/files.cpp"
"${CMAKE_SOURCE_DIR}/code/qcommon/huffman.cpp"
"${CMAKE_SOURCE_DIR}/code/qcommon/md4.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/md5.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/memory.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/msg.cpp"
"${CMAKE_SOURCE_DIR}/code/qcommon/net_chan.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/net_ip.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/q_math.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/q_shared.c"
"${CMAKE_SOURCE_DIR}/code/qcommon/unzip.c"
# Gamespy
"../gamespy/sv_gamespy.c"
"../gamespy/sv_gqueryreporting.c"
"${CMAKE_SOURCE_DIR}/code/gamespy/sv_gamespy.c"
"${CMAKE_SOURCE_DIR}/code/gamespy/sv_gqueryreporting.c"
)
add_subdirectory("../skeletor" "./skeletor")
add_subdirectory("../tiki" "./tiki")
add_library(qcommon_standalone INTERFACE)
target_sources(qcommon_standalone PUBLIC ${SOURCES_COMMON})
target_sources(qcommon_standalone INTERFACE ${SOURCES_COMMON})
target_compile_definitions(qcommon_standalone INTERFACE APP_MODULE)
target_compile_features(qcommon_standalone INTERFACE cxx_nullptr)
target_compile_features(qcommon_standalone INTERFACE c_variadic_macros)

View file

@ -1,41 +1,38 @@
cmake_minimum_required(VERSION 3.5)
project(platform)
cmake_policy(SET CMP0076 NEW)
### Platform-specific code
if(WIN32)
set(SOURCES_PLATFORM_SPECIFIC
"./con_log.c"
"./sys_autoupdater.c"
"./sys_main.c"
"./new/sys_main_new.c"
"./new/sys_win32_new.c"
"./con_win32.c"
"./sys_win32.c"
"./win_resource.rc"
"${CMAKE_SOURCE_DIR}/code/sys/con_log.c"
"${CMAKE_SOURCE_DIR}/code/sys/sys_autoupdater.c"
"${CMAKE_SOURCE_DIR}/code/sys/sys_main.c"
"${CMAKE_SOURCE_DIR}/code/sys/new/sys_main_new.c"
"${CMAKE_SOURCE_DIR}/code/sys/new/sys_win32_new.c"
"${CMAKE_SOURCE_DIR}/code/sys/con_win32.c"
"${CMAKE_SOURCE_DIR}/code/sys/sys_win32.c"
"${CMAKE_SOURCE_DIR}/code/sys/win_resource.rc"
# These are still used even they're prefixed 'win'
"./win_bounds.cpp"
"./win_localization.cpp"
"${CMAKE_SOURCE_DIR}/code/sys/win_bounds.cpp"
"${CMAKE_SOURCE_DIR}/code/sys/win_localization.cpp"
)
else()
set(SOURCES_PLATFORM_SPECIFIC
"./con_log.c"
"./sys_autoupdater.c"
"./sys_main.c"
"./new/sys_main_new.c"
"./new/sys_unix_new.c"
"./con_tty.c"
"./sys_unix.c"
"${CMAKE_SOURCE_DIR}/code/sys/con_log.c"
"${CMAKE_SOURCE_DIR}/code/sys/sys_autoupdater.c"
"${CMAKE_SOURCE_DIR}/code/sys/sys_main.c"
"${CMAKE_SOURCE_DIR}/code/sys/new/sys_main_new.c"
"${CMAKE_SOURCE_DIR}/code/sys/new/sys_unix_new.c"
"${CMAKE_SOURCE_DIR}/code/sys/con_tty.c"
"${CMAKE_SOURCE_DIR}/code/sys/sys_unix.c"
# These are still used even they're prefixed 'win'
"./win_bounds.cpp"
"./win_localization.cpp"
"${CMAKE_SOURCE_DIR}/code/sys/win_bounds.cpp"
"${CMAKE_SOURCE_DIR}/code/sys/win_localization.cpp"
)
endif()
add_library(syslib INTERFACE)
target_sources(syslib PUBLIC ${SOURCES_PLATFORM_SPECIFIC})
target_compile_definitions(syslib INTERFACE TARGET_GAME_TYPE=${TARGET_GAME_TYPE})
target_sources(syslib INTERFACE ${SOURCES_PLATFORM_SPECIFIC})
target_compile_features(syslib INTERFACE cxx_nullptr)
target_compile_features(syslib INTERFACE c_variadic_macros)
target_link_libraries(syslib INTERFACE qcommon)