raze/source/duke3d/CMakeLists.txt
2019-10-17 08:44:01 +02:00

97 lines
2.5 KiB
CMake

cmake_minimum_required( VERSION 2.8.7 )
if( ZD_CMAKE_COMPILER_IS_GNUC_COMPATIBLE )
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11" )
endif()
if (MSVC)
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /J" )
endif()
include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/../../build/include" )
if (WIN32)
include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/../../platform/windows/include" "${CMAKE_CURRENT_SOURCE_DIR}/../../platform/windows/include/vpx" "${CMAKE_CURRENT_SOURCE_DIR}/../../platform/windows/include/sdl2" "${ENET_INCLUDE_DIR}")
else ()
include_directories( "${ZLIB_INCLUDE_DIR}" "${BZIP2_INCLUDE_DIR}" "${LZMA_INCLUDE_DIR}" "${JPEG_INCLUDE_DIR}" "${GME_INCLUDE_DIR}" "${ENET_INCLUDE_DIR}" "${GDTOA_INCLUDE_DIR}")
endif()
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/../build/include
${CMAKE_CURRENT_SOURCE_DIR}/../mact/include
${CMAKE_CURRENT_SOURCE_DIR}/../audiolib/include
${CMAKE_CURRENT_SOURCE_DIR}/../libsmackerdec/include
${CMAKE_CURRENT_SOURCE_DIR}/../thirdparty/include
${CMAKE_CURRENT_SOURCE_DIR}/../common
${CMAKE_CURRENT_SOURCE_DIR}/../common/utility
${CMAKE_CURRENT_SOURCE_DIR}/../common/console
${CMAKE_CURRENT_SOURCE_DIR}/../common/textures
${CMAKE_CURRENT_SOURCE_DIR}/../platform
)
if (WIN32)
set( PLAT_SOURCES
src/startwin.game.cpp
)
endif()
set( NOT_COMPILED_SOURCE_FILES
src/gamestructures.cpp
)
set_source_files_properties( ${NOT_COMPILED_SOURCE_FILES} PROPERTIES HEADER_FILE_ONLY TRUE )
set( PCH_SOURCES
src/actors.cpp
src/anim.cpp
src/cheats.cpp
src/cmdline.cpp
src/common.cpp
src/config.cpp
src/demo.cpp
src/game.cpp
src/gamedef.cpp
src/gameexec.cpp
src/gamevars.cpp
src/global.cpp
src/grpscan.cpp
src/input.cpp
src/menus.cpp
src/namesdyn.cpp
src/network.cpp
src/osdcmds.cpp
src/osdfuncs.cpp
src/player.cpp
src/premap.cpp
src/rts.cpp
src/savegame.cpp
src/sbar.cpp
src/screens.cpp
src/screentext.cpp
src/sector.cpp
src/sounds.cpp
src/soundsdyn.cpp
)
if( MSVC )
enable_precompiled_headers( ../g_pch.h PCH_SOURCES )
# The original Build code was written with unsigned chars and unfortunately they still haven't been eliminated entirely.
# All other code should stay with signed chars. What a mess... :(
#set_source_files_properties( ${PCH_SOURCES} PROPERTIES COMPILE_FLAGS "/J" )
else()
# Temporary solution for compilers other than MSVC
set_source_files_properties( ${PCH_SOURCES} PROPERTIES COMPILE_FLAGS "-include g_pch.h" )
endif()
file( GLOB HEADER_FILES
src/*.h
)
add_library( duke3d STATIC
${HEADER_FILES}
${PCH_SOURCES}
${PLAT_SOURCES}
${NOT_COMPILED_SOURCE_FILES}
)