diff options
Diffstat (limited to 'NvBlast/tools/compiler/cmake/AuthoringTool.cmake')
| -rw-r--r-- | NvBlast/tools/compiler/cmake/AuthoringTool.cmake | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/NvBlast/tools/compiler/cmake/AuthoringTool.cmake b/NvBlast/tools/compiler/cmake/AuthoringTool.cmake new file mode 100644 index 0000000..3ba77d8 --- /dev/null +++ b/NvBlast/tools/compiler/cmake/AuthoringTool.cmake @@ -0,0 +1,98 @@ +# +# Build AuthoringTool common +# + +SET(AUTHORTINGTOOL_SOURCE_DIR ${PROJECT_SOURCE_DIR}/AuthoringTool/src) +SET(TOOLS_COMMON_SOURCE_DIR ${PROJECT_SOURCE_DIR}/common) + +SET(EXT_AUTHORING_INCLUDE_DIR ${BLAST_ROOT_DIR}/sdk/extensions/authoring/include) +SET(TK_INCLUDE_DIR ${BLAST_ROOT_DIR}/sdk/toolkit/include) + +FIND_PACKAGE(PhysXSDK $ENV{PM_PhysXSDK_VERSION} REQUIRED) +FIND_PACKAGE(PxSharedSDK $ENV{PM_PxSharedSDK_VERSION} REQUIRED) +FIND_PACKAGE(tclap $ENV{PM_tclap_VERSION} REQUIRED) +FIND_PACKAGE(tinyObjLoader $ENV{PM_tinyObjLoader_VERSION} REQUIRED) +FIND_PACKAGE(FBXSDK $ENV{PM_FBXSDK_VERSION} REQUIRED) + + +# Include here after the directories are defined so that the platform specific file can use the variables. +include(${PROJECT_CMAKE_FILES_DIR}/${TARGET_BUILD_PLATFORM}/AuthoringTool.cmake) + +SET(COMMON_FILES + ${AUTHORTINGTOOL_PLATFORM_COMMON_FILES} + + ${AUTHORTINGTOOL_SOURCE_DIR}/AuthoringTool.cpp + ${TOOLS_COMMON_SOURCE_DIR}/IMeshFileReader.h + ${TOOLS_COMMON_SOURCE_DIR}/IMeshFileWriter.h + ${TOOLS_COMMON_SOURCE_DIR}/FbxFileReader.h + ${TOOLS_COMMON_SOURCE_DIR}/FbxFileReader.cpp + ${TOOLS_COMMON_SOURCE_DIR}/ObjFileReader.h + ${TOOLS_COMMON_SOURCE_DIR}/ObjFileReader.cpp + ${TOOLS_COMMON_SOURCE_DIR}/ObjFileWriter.h + ${TOOLS_COMMON_SOURCE_DIR}/ObjFileWriter.cpp + ${TOOLS_COMMON_SOURCE_DIR}/FbxFileWriter.h + ${TOOLS_COMMON_SOURCE_DIR}/FbxFileWriter.cpp + ${TOOLS_COMMON_SOURCE_DIR}/FbxUtils.h + ${TOOLS_COMMON_SOURCE_DIR}/FbxUtils.cpp + ${AUTHORTINGTOOL_SOURCE_DIR}/SimpleRandomGenerator.h + ${AUTHORTINGTOOL_SOURCE_DIR}/FractureProcessor.h + ${AUTHORTINGTOOL_SOURCE_DIR}/FractureProcessor.cpp + ${TOOLS_COMMON_SOURCE_DIR}/BlastDataExporter.h + ${TOOLS_COMMON_SOURCE_DIR}/BlastDataExporter.cpp +) + +ADD_EXECUTABLE(AuthoringTool + ${COMMON_FILES} +) + +set_target_properties(AuthoringTool + PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX} + CHECKED_POSTFIX ${CMAKE_CHECKED_POSTFIX} + RELEASE_POSTFIX ${CMAKE_RELEASE_POSTFIX} + PROFILE_POSTFIX ${CMAKE_PROFILE_POSTFIX} +) + +SOURCE_GROUP("src" FILES ${COMMON_FILES}) + +# Target specific compile options + +TARGET_INCLUDE_DIRECTORIES(AuthoringTool + PRIVATE ${AUTHORTINGTOOL_PLATFORM_INCLUDES} + + PRIVATE ${TOOLS_COMMON_SOURCE_DIR} + PRIVATE ${EXT_AUTHORING_INCLUDE_DIR} + PRIVATE ${TK_INCLUDE_DIR} + PRIVATE ${BLAST_ROOT_DIR}/sdk/common + + PRIVATE ${PHYSXSDK_INCLUDE_DIRS} + PRIVATE ${PXSHAREDSDK_INCLUDE_DIRS} + PRIVATE ${TCLAP_INCLUDE_DIRS} + PRIVATE ${TINYOBJLOADER_INCLUDE_DIRS} + PRIVATE ${FBXSDK_INCLUDE_DIRS} +) + +TARGET_COMPILE_DEFINITIONS(AuthoringTool + PRIVATE ${AUTHORTINGTOOL_COMPILE_DEFS} +) + +SET_TARGET_PROPERTIES(AuthoringTool PROPERTIES + PDB_NAME_DEBUG "AuthoringTool${CMAKE_DEBUG_POSTFIX}" + PDB_NAME_CHECKED "AuthoringTool${CMAKE_CHECKED_POSTFIX}" + PDB_NAME_PROFILE "AuthoringTool${CMAKE_PROFILE_POSTFIX}" + PDB_NAME_RELEASE "AuthoringTool${CMAKE_RELEASE_POSTFIX}" +) + +# Do final direct sets after the target has been defined +TARGET_LINK_LIBRARIES(AuthoringTool + PRIVATE NvBlast NvBlastTk NvBlastExtSerialization NvBlastExtPhysX NvBlastExtAuthoring + PRIVATE ${FBXSDK_LIBRARIES} +) + +# Copy the dlls from the deps + +ADD_CUSTOM_COMMAND(TARGET AuthoringTool POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy_if_different + ${APEXSDK_DLLS} ${PHYSXSDK_DLLS} ${PXSHAREDSDK_DLLS} + ${BL_EXE_OUTPUT_DIR} +) + |