aboutsummaryrefslogtreecommitdiff
path: root/tools/compiler/cmake/AuthoringTool.cmake
diff options
context:
space:
mode:
authorBryan Galdrikian <[email protected]>2017-02-24 09:32:20 -0800
committerBryan Galdrikian <[email protected]>2017-02-24 09:32:20 -0800
commite1bf674c16e3c8472b29574159c789cd3f0c64e0 (patch)
tree9f0cfce09c71a2c27ff19589fcad6cd83504477c /tools/compiler/cmake/AuthoringTool.cmake
parentfirst commit (diff)
downloadblast-e1bf674c16e3c8472b29574159c789cd3f0c64e0.tar.xz
blast-e1bf674c16e3c8472b29574159c789cd3f0c64e0.zip
Updating to [email protected] and [email protected] with a new directory structure.
NvBlast folder is gone, files have been moved to top level directory. README is changed to reflect this.
Diffstat (limited to 'tools/compiler/cmake/AuthoringTool.cmake')
-rw-r--r--tools/compiler/cmake/AuthoringTool.cmake98
1 files changed, 98 insertions, 0 deletions
diff --git a/tools/compiler/cmake/AuthoringTool.cmake b/tools/compiler/cmake/AuthoringTool.cmake
new file mode 100644
index 0000000..3ba77d8
--- /dev/null
+++ b/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}
+)
+