metaforce/hecl/lib/CMakeLists.txt

103 lines
2.9 KiB
CMake
Raw Normal View History

macro(hecl_add_list rel_path a_list)
unset(tmp_list)
foreach(path IN LISTS ${a_list})
list(APPEND tmp_list "${rel_path}/${path}")
endforeach(path)
set(${a_list} "${tmp_list}" PARENT_SCOPE)
endmacro(hecl_add_list)
2018-10-07 02:53:57 +00:00
include_directories(../extern/boo/glslang ../extern/boo)
add_subdirectory(Blender)
2015-07-13 06:30:20 +00:00
add_subdirectory(Backend)
add_subdirectory(Frontend)
add_subdirectory(Runtime)
2015-07-07 03:24:09 +00:00
2015-07-22 19:14:50 +00:00
if(WIN32)
2016-03-04 23:02:44 +00:00
list(APPEND PLAT_SRCS winsupport.cpp ../include/hecl/winsupport.hpp)
2015-07-22 19:14:50 +00:00
endif()
2016-03-04 23:02:44 +00:00
atdna(atdna_HMDLMeta.cpp ../include/hecl/HMDLMeta.hpp)
atdna(atdna_Frontend.cpp ../include/hecl/Frontend.hpp)
atdna(atdna_CVar.cpp ../include/hecl/CVar.hpp)
2015-11-10 02:06:27 +00:00
if("${CMAKE_BUILD_TYPE}" STREQUAL "Release" OR "${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebInfo")
add_definitions(-DHECL_MULTIPROCESSOR)
endif()
2018-01-10 06:16:18 +00:00
set(HECL_HEADERS
../include/hecl/CVar.hpp
../include/hecl/CVarManager.hpp
2018-01-11 09:35:27 +00:00
../include/hecl/Console.hpp
2018-01-10 06:16:18 +00:00
../include/hecl/CVarCommons.hpp
../include/hecl/hecl.hpp
2018-03-23 21:40:12 +00:00
../include/hecl/MultiProgressPrinter.hpp
2018-01-10 06:16:18 +00:00
../include/hecl/FourCC.hpp
../include/hecl/HMDLMeta.hpp
../include/hecl/Backend/Backend.hpp
../include/hecl/Backend/GX.hpp
../include/hecl/Backend/ProgrammableCommon.hpp
../include/hecl/Backend/GLSL.hpp
../include/hecl/Backend/HLSL.hpp
../include/hecl/Backend/Metal.hpp
../include/hecl/Blender/Connection.hpp
../include/hecl/Blender/Token.hpp
../include/hecl/SteamFinder.hpp
../include/hecl/Frontend.hpp
../include/hecl/Database.hpp
../include/hecl/Runtime.hpp
../include/hecl/ClientProcess.hpp
../include/hecl/SystemChar.hpp
../include/hecl/BitVector.hpp
../include/hecl/MathExtras.hpp
../include/hecl/UniformBufferPool.hpp
2018-10-07 02:53:57 +00:00
../include/hecl/VertexBufferPool.hpp
../include/hecl/PipelineBase.hpp
../include/hecl/Pipeline.hpp
../include/hecl/Compilers.hpp)
2018-01-10 06:16:18 +00:00
set(COMMON_SOURCES
hecl.cpp
2018-03-23 21:40:12 +00:00
MultiProgressPrinter.cpp
2018-01-10 06:16:18 +00:00
Project.cpp
ProjectPath.cpp
HumanizeNumber.cpp
CVar.cpp
CVarManager.cpp
2018-01-11 09:35:27 +00:00
Console.cpp
2018-01-10 06:16:18 +00:00
ClientProcess.cpp
SteamFinder.cpp
WideStringConvert.cpp
2018-10-07 02:53:57 +00:00
Compilers.cpp
Pipeline.cpp
2018-01-10 06:16:18 +00:00
atdna_HMDLMeta.cpp
atdna_Frontend.cpp
atdna_CVar.cpp)
add_library(hecl-full
${BACKEND_SOURCES}
${FRONTEND_SOURCES}
${RUNTIME_SOURCES}
2018-01-10 06:16:18 +00:00
${BLENDER_SOURCES}
${COMMON_SOURCES}
${HECL_HEADERS}
2015-07-22 19:14:50 +00:00
${PLAT_SRCS})
2018-01-10 06:16:18 +00:00
add_library(hecl-light
${RUNTIME_SOURCES}
${COMMON_SOURCES}
${HECL_HEADERS}
${PLAT_SRCS})
2018-10-14 20:09:15 +00:00
add_library(hecl-compilers Compilers.cpp WideStringConvert.cpp)
2018-10-07 02:53:57 +00:00
add_dependencies(hecl-full ${HECL_APPLICATION_REPS_TARGETS_LIST})
add_dependencies(hecl-light ${HECL_APPLICATION_REPS_TARGETS_LIST})
2018-01-10 06:16:18 +00:00
2017-12-12 02:05:28 +00:00
if(COMMAND add_sanitizers)
2018-01-10 06:16:18 +00:00
add_sanitizers(hecl-full)
add_sanitizers(hecl-light)
2018-10-07 02:53:57 +00:00
add_sanitizers(hecl-compilers)
2017-12-29 07:56:31 +00:00
endif()
2017-12-07 04:09:27 +00:00
if(WINDOWS_STORE)
2018-01-10 06:16:18 +00:00
set_property(TARGET hecl-full PROPERTY VS_WINRT_COMPONENT TRUE)
2017-12-07 04:09:27 +00:00
endif()