2016-09-18 23:46:49 +00:00
|
|
|
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)
|
|
|
|
|
|
|
|
add_subdirectory(Blender)
|
2015-07-13 06:30:20 +00:00
|
|
|
add_subdirectory(Runtime)
|
2015-07-07 03:24:09 +00:00
|
|
|
|
2015-07-22 19:14:50 +00:00
|
|
|
if(WIN32)
|
2019-06-13 01:29:52 +00:00
|
|
|
list(APPEND PLAT_SRCS ../include/hecl/winsupport.hpp)
|
2015-07-22 19:14:50 +00:00
|
|
|
endif()
|
|
|
|
|
2017-03-10 17:58:43 +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
|
2019-05-08 03:47:34 +00:00
|
|
|
../include/hecl/TypedVariant.hpp
|
2018-01-10 06:16:18 +00:00
|
|
|
../include/hecl/HMDLMeta.hpp
|
2019-05-08 03:47:34 +00:00
|
|
|
../include/hecl/Backend.hpp
|
2018-01-10 06:16:18 +00:00
|
|
|
../include/hecl/Blender/Connection.hpp
|
2018-10-22 08:14:32 +00:00
|
|
|
../include/hecl/Blender/SDNARead.hpp
|
2018-01-10 06:16:18 +00:00
|
|
|
../include/hecl/Blender/Token.hpp
|
|
|
|
../include/hecl/SteamFinder.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
|
2021-02-28 02:36:43 +00:00
|
|
|
CVarCommons.cpp
|
2018-01-10 06:16:18 +00:00
|
|
|
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
|
2019-06-12 02:01:19 +00:00
|
|
|
Pipeline.cpp)
|
2018-01-10 06:16:18 +00:00
|
|
|
|
2019-02-27 05:13:19 +00:00
|
|
|
if(UNIX)
|
|
|
|
list(APPEND PLAT_SRCS closefrom.c)
|
|
|
|
endif()
|
|
|
|
|
2018-01-10 06:16:18 +00:00
|
|
|
add_library(hecl-full
|
2016-09-18 23:46:49 +00:00
|
|
|
${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})
|
2019-06-12 02:01:19 +00:00
|
|
|
target_include_directories(hecl-full PUBLIC ../include)
|
|
|
|
target_link_libraries(hecl-full PUBLIC ${HECL_APPLICATION_REPS_TARGETS_LIST}
|
|
|
|
hecl-blender-addon boo athena-core logvisor)
|
|
|
|
target_atdna(hecl-full atdna_HMDLMeta_full.cpp ../include/hecl/HMDLMeta.hpp)
|
|
|
|
target_atdna(hecl-full atdna_CVar_full.cpp ../include/hecl/CVar.hpp)
|
|
|
|
target_atdna(hecl-full atdna_SDNARead_full.cpp ../include/hecl/Blender/SDNARead.hpp)
|
|
|
|
|
2018-01-10 06:16:18 +00:00
|
|
|
add_library(hecl-light
|
|
|
|
${RUNTIME_SOURCES}
|
|
|
|
${COMMON_SOURCES}
|
|
|
|
${HECL_HEADERS}
|
|
|
|
${PLAT_SRCS})
|
2019-06-12 02:01:19 +00:00
|
|
|
target_include_directories(hecl-light PUBLIC ../include)
|
|
|
|
target_link_libraries(hecl-light PUBLIC ${HECL_APPLICATION_REPS_TARGETS_LIST} boo athena-core logvisor)
|
|
|
|
target_atdna(hecl-light atdna_HMDLMeta_light.cpp ../include/hecl/HMDLMeta.hpp)
|
|
|
|
target_atdna(hecl-light atdna_CVar_light.cpp ../include/hecl/CVar.hpp)
|
2018-10-07 02:53:57 +00:00
|
|
|
|
2019-06-12 02:01:19 +00:00
|
|
|
add_library(hecl-compilers Compilers.cpp WideStringConvert.cpp)
|
2019-07-28 01:19:48 +00:00
|
|
|
get_target_property(BOO_INCLUDES boo INTERFACE_INCLUDE_DIRECTORIES)
|
|
|
|
target_include_directories(hecl-compilers PUBLIC ../include ${BOO_INCLUDES})
|
|
|
|
target_link_libraries(hecl-compilers PUBLIC athena-core logvisor xxhash
|
|
|
|
glslang OSDependent OGLCompiler SPIRV glslang-default-resource-limits)
|
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()
|
2015-07-07 04:45:29 +00:00
|
|
|
|
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()
|