diff options
Diffstat (limited to 'compiler/cmake/ServerApp.cmake')
| -rw-r--r-- | compiler/cmake/ServerApp.cmake | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/compiler/cmake/ServerApp.cmake b/compiler/cmake/ServerApp.cmake new file mode 100644 index 0000000..175593a --- /dev/null +++ b/compiler/cmake/ServerApp.cmake @@ -0,0 +1,142 @@ +# +# Build serverapp +# + +SET(GW_DEPS_ROOT $ENV{GW_DEPS_ROOT}) + +SET(TEST_SOURCE_DIR ${PROJECT_SOURCE_DIR}/test/serverapp) +SET(LIB_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src) +SET(COMMON_SOURCE_DIR ${PROJECT_SOURCE_DIR}/common) +SET(SHARED_CS_DIR ${PROJECT_SOURCE_DIR}/test/client-server) +SET(TL_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include) + +IF(TARGET_BUILD_PLATFORM STREQUAL "Windows") + + SET(WW_PLATFORM_INCLUDES + ) + + SET(WW_PLATFORM_SRC_FILES + ) + + + # Use generator expressions to set config specific preprocessor definitions + SET(WW_COMPILE_DEFS + # Common to all configurations + WIN32;_WINDOWS;_CONSOLE; + + $<$<CONFIG:debug>:PROFILE;> + $<$<CONFIG:release>:NDEBUG;> + ) + + SET(WW_LIBTYPE SHARED) + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "PS4") + + SET(WW_PLATFORM_INCLUDES + $ENV{SCE_ORBIS_SDK_DIR}/target/include + ) + + SET(WW_COMPILE_DEFS + + # Common to all configurations + _LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;PX_PHYSX_STATIC_LIB; + + $<$<CONFIG:debug>:_DEBUG;PX_DEBUG=1;PX_CHECKED=1;PX_SUPPORT_PVD=1;> + $<$<CONFIG:release>:NDEBUG;PX_SUPPORT_PVD=0;> + ) + + SET(WW_LIBTYPE STATIC) + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "XBoxOne") + SET(WW_PLATFORM_INCLUDES + ) + + # Use generator expressions to set config specific preprocessor definitions + SET(WW_COMPILE_DEFS + + # Common to all configurations + PX_PHYSX_CORE_EXPORTS;_LIB;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;WINAPI_FAMILY=WINAPI_FAMILY_TV_TITLE;PX_PHYSX_STATIC_LIB; + + $<$<CONFIG:debug>:_DEBUG;PX_DEBUG=1;PX_CHECKED=1;PX_SUPPORT_PVD=1;> + $<$<CONFIG:release>:NDEBUG;PX_SUPPORT_PVD=0;> + ) + + SET(WW_LIBTYPE STATIC) + + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "Unix") +ENDIF() + +SET(APP_FILES + ${TEST_SOURCE_DIR}/serverapp.cpp + + ${TL_INCLUDE_DIR}/GFSDK_Logger.h + ${COMMON_SOURCE_DIR}/LoggerImpl.h + ${COMMON_SOURCE_DIR}/LoggerImpl.cpp +) + +SET(SHARED_CS_FILES + ${SHARED_CS_DIR}/message_types.h + ${SHARED_CS_DIR}/socket_wrapper.h + ${SHARED_CS_DIR}/socket_wrapper.cpp +) + +ADD_EXECUTABLE(ServerApp WIN32 + ${WW_PLATFORM_SRC_FILES} + + ${APP_FILES} + ${SHARED_CS_FILES} + +) + +SOURCE_GROUP("app" FILES ${APP_FILES}) +SOURCE_GROUP("shared-client-server-code" FILES ${SHARED_CS_FILES}) + + +# Target specific compile options + + +TARGET_INCLUDE_DIRECTORIES(ServerApp + PRIVATE ${WW_PLATFORM_INCLUDES} + + PRIVATE ${TL_INCLUDE_DIR} + PRIVATE ${SHARED_CS_DIR} + PRIVATE ${LIB_SOURCE_DIR} +) + +TARGET_COMPILE_DEFINITIONS(ServerApp + + # Common to all configurations + PRIVATE ${WW_COMPILE_DEFS} +) + + + +#TODO: Link flags + +IF(TARGET_BUILD_PLATFORM STREQUAL "Windows") + # Add linked libraries + TARGET_LINK_LIBRARIES(ServerApp PUBLIC WaveWorks Ws2_32.lib comctl32.lib ${CUDA_LIBRARIES}) + + IF(CMAKE_CL_64) + SET(LIBPATH_SUFFIX "win64") + ELSE(CMAKE_CL_64) + SET(LIBPATH_SUFFIX "Win32") + ENDIF(CMAKE_CL_64) + + SET_TARGET_PROPERTIES(ServerApp PROPERTIES + LINK_FLAGS_DEBUG "/MAP /DEBUG" + LINK_FLAGS_RELEASE "/MAP /INCREMENTAL:NO" + ) + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "PS4") +# TARGET_LINK_LIBRARIES(ServerApp PUBLIC LowLevel LowLevelAABB LowLevelCloth LowLevelDynamics LowLevelParticles ServerAppCommon PxFoundation PxPvdSDK PxTask SceneQuery SimulationController) + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "XBoxOne") + +# TARGET_LINK_LIBRARIES(ServerApp PUBLIC LowLevel LowLevelAABB LowLevelCloth LowLevelDynamics LowLevelParticles ServerAppCommon PxFoundation PxPvdSDK PxTask SceneQuery SimulationController) + +ELSEIF(TARGET_BUILD_PLATFORM STREQUAL "Unix") +ENDIF() + + |