raze/source/sw/CMakeLists.txt

142 lines
3.5 KiB
CMake

cmake_minimum_required( VERSION 3.1.0 )
require_stricmp()
require_strnicmp()
# Build does not work with signed chars!
if (MSVC)
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /J" )
else()
set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -funsigned-char -Wno-missing-braces -Wno-char-subscripts -Wno-unused-variable" )
endif()
include_directories( "${CMAKE_CURRENT_SOURCE_DIR}/../../build/include" )
if (WIN32)
include_directories( "${ZLIB_INCLUDE_DIR}" "${ZMUSIC_INCLUDE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/../../platform/windows/include" "${CMAKE_CURRENT_SOURCE_DIR}/../../platform/windows/include/vpx")
else ()
include_directories( "${ZLIB_INCLUDE_DIR}" "${ZMUSIC_INCLUDE_DIR}")
endif()
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/..
${CMAKE_CURRENT_SOURCE_DIR}/../build/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}/../common/fonts
${CMAKE_CURRENT_SOURCE_DIR}/../common/2d
${CMAKE_CURRENT_SOURCE_DIR}/../common/music
${CMAKE_CURRENT_SOURCE_DIR}/../common/input
${CMAKE_CURRENT_SOURCE_DIR}/../platform
${CMAKE_CURRENT_SOURCE_DIR}/../common/rendering/gl_load
${CMAKE_CURRENT_SOURCE_DIR}/../common/rendering/gl/system
${CMAKE_CURRENT_SOURCE_DIR}/../common/rendering/gl/renderer
${CMAKE_CURRENT_SOURCE_DIR}/../common/rendering/gl/shaders
${CMAKE_CURRENT_SOURCE_DIR}/../common/rendering/hwrenderer/data
${CMAKE_CURRENT_SOURCE_DIR}/../common/rendering/hwrenderer/postprocessing
${CMAKE_CURRENT_SOURCE_DIR}/../common/rendering/hwrenderer/utility
${CMAKE_CURRENT_SOURCE_DIR}/../common/rendering
)
set( PCH_SOURCES
src/actor.cpp
src/ai.cpp
src/anim.cpp
#src/bldscript.cpp
src/border.cpp
src/break.cpp
#src/brooms.cpp
src/bunny.cpp
src/cache.cpp
src/cheats.cpp
src/colormap.cpp
src/common.cpp
src/config.cpp
src/console.cpp
src/coolg.cpp
src/coolie.cpp
src/copysect.cpp
src/demo.cpp
src/draw.cpp
src/eel.cpp
src/game.cpp
src/girlninj.cpp
src/goro.cpp
src/hornet.cpp
src/interp.cpp
src/interpsh.cpp
src/inv.cpp
#src/jbhlp.cpp
src/jplayer.cpp
src/jsector.cpp
src/jweapon.cpp
src/lava.cpp
src/light.cpp
src/mclip.cpp
src/menus.cpp
src/miscactr.cpp
src/morph.cpp
src/network.cpp
src/ninja.cpp
src/osdcmds.cpp
src/panel.cpp
src/player.cpp
src/predict.cpp
src/quake.cpp
src/ripper.cpp
src/ripper2.cpp
src/rooms.cpp
src/rotator.cpp
src/save.cpp
src/saveable.cpp
src/scrip2.cpp
src/sector.cpp
src/serp.cpp
src/skel.cpp
src/skull.cpp
src/slidor.cpp
src/sounds.cpp
src/spike.cpp
src/sprite.cpp
src/sumo.cpp
src/sync.cpp
src/text.cpp
src/track.cpp
src/vator.cpp
src/vis.cpp
src/wallmove.cpp
src/warp.cpp
src/weapon.cpp
src/zilla.cpp
src/zombie.cpp
src/swcvar.cpp
src/d_menu.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( sw STATIC
${HEADER_FILES}
${PCH_SOURCES}
)