233 lines
7.4 KiB
CMake
233 lines
7.4 KiB
CMake
set(PROJECT_NAME SimulationsRunner_2022)
|
|
|
|
################################################################################
|
|
# Source groups
|
|
################################################################################
|
|
set(no_group_source_files
|
|
"../SimulatorTester/SimulatorTester.vcxproj"
|
|
)
|
|
source_group("" FILES ${no_group_source_files})
|
|
|
|
set(Sources
|
|
"../Simulations/main.cpp"
|
|
)
|
|
source_group("Sources" FILES ${Sources})
|
|
|
|
set(ALL_FILES
|
|
${no_group_source_files}
|
|
${Sources}
|
|
)
|
|
|
|
################################################################################
|
|
# Target
|
|
################################################################################
|
|
add_executable(${PROJECT_NAME} ${ALL_FILES})
|
|
|
|
use_props(${PROJECT_NAME} "${CMAKE_CONFIGURATION_TYPES}" "${DEFAULT_CXX_PROPS}")
|
|
set(ROOT_NAMESPACE SimulationsRunner)
|
|
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES
|
|
VS_GLOBAL_KEYWORD "Win32Proj"
|
|
)
|
|
################################################################################
|
|
# Output directory
|
|
################################################################################
|
|
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES
|
|
OUTPUT_DIRECTORY_DEBUG "${CMAKE_SOURCE_DIR}/${CMAKE_VS_PLATFORM_NAME}/$<CONFIG>/"
|
|
OUTPUT_DIRECTORY_RELEASE "${CMAKE_SOURCE_DIR}/${CMAKE_VS_PLATFORM_NAME}/$<CONFIG>/"
|
|
)
|
|
endif()
|
|
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES
|
|
INTERPROCEDURAL_OPTIMIZATION_RELEASE "TRUE"
|
|
)
|
|
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES
|
|
INTERPROCEDURAL_OPTIMIZATION_RELEASE "TRUE"
|
|
)
|
|
endif()
|
|
################################################################################
|
|
# Include directories
|
|
################################################################################
|
|
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
|
|
target_include_directories(${PROJECT_NAME} PUBLIC
|
|
"$<$<CONFIG:Debug>:"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/home/kookroach/Documents/Uni/WS23-24/physX/game-physics/Simulations"
|
|
">"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/home/kookroach/Documents/Uni/WS23-24/physX/game-physics/DirectXTK/Inc;"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/home/kookroach/Documents/Uni/WS23-24/physX/game-physics/DXUT11/Core;"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/home/kookroach/Documents/Uni/WS23-24/physX/game-physics/DXUT11/Optional;"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/home/kookroach/Documents/Uni/WS23-24/physX/game-physics/Effects11/inc;"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/home/kookroach/Documents/Uni/WS23-24/physX/game-physics/AntTweakBar/include"
|
|
)
|
|
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
|
|
target_include_directories(${PROJECT_NAME} PUBLIC
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/home/kookroach/Documents/Uni/WS23-24/physX/game-physics/DirectXTK/Inc;"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/home/kookroach/Documents/Uni/WS23-24/physX/game-physics/DXUT11/Core;"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/home/kookroach/Documents/Uni/WS23-24/physX/game-physics/DXUT11/Optional;"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/home/kookroach/Documents/Uni/WS23-24/physX/game-physics/Effects11/inc;"
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/home/kookroach/Documents/Uni/WS23-24/physX/game-physics/AntTweakBar/include"
|
|
)
|
|
endif()
|
|
|
|
################################################################################
|
|
# Compile definitions
|
|
################################################################################
|
|
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
|
|
target_compile_definitions(${PROJECT_NAME} PRIVATE
|
|
"$<$<CONFIG:Debug>:"
|
|
"NOMINMAX;"
|
|
"_DEBUG"
|
|
">"
|
|
"$<$<CONFIG:Release>:"
|
|
"NDEBUG"
|
|
">"
|
|
"WIN32;"
|
|
"_CONSOLE;"
|
|
"UNICODE;"
|
|
"_UNICODE"
|
|
)
|
|
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
|
|
target_compile_definitions(${PROJECT_NAME} PRIVATE
|
|
"$<$<CONFIG:Debug>:"
|
|
"NOMINMAX;"
|
|
"_DEBUG"
|
|
">"
|
|
"$<$<CONFIG:Release>:"
|
|
"NDEBUG"
|
|
">"
|
|
"WIN32;"
|
|
"_CONSOLE;"
|
|
"UNICODE;"
|
|
"_UNICODE"
|
|
)
|
|
endif()
|
|
|
|
################################################################################
|
|
# Compile and link options
|
|
################################################################################
|
|
if(MSVC)
|
|
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
|
|
target_compile_options(${PROJECT_NAME} PRIVATE
|
|
$<$<CONFIG:Debug>:
|
|
/Od
|
|
>
|
|
$<$<CONFIG:Release>:
|
|
/O2;
|
|
/Oi;
|
|
/Gy
|
|
>
|
|
/W3;
|
|
${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT};
|
|
${DEFAULT_CXX_EXCEPTION_HANDLING};
|
|
/Y-
|
|
)
|
|
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
|
|
target_compile_options(${PROJECT_NAME} PRIVATE
|
|
$<$<CONFIG:Debug>:
|
|
/Od
|
|
>
|
|
$<$<CONFIG:Release>:
|
|
/O2;
|
|
/Oi;
|
|
/Gy
|
|
>
|
|
/W3;
|
|
${DEFAULT_CXX_DEBUG_INFORMATION_FORMAT};
|
|
${DEFAULT_CXX_EXCEPTION_HANDLING};
|
|
/Y-
|
|
)
|
|
endif()
|
|
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
|
|
target_link_options(${PROJECT_NAME} PRIVATE
|
|
$<$<CONFIG:Debug>:
|
|
/DEBUG;
|
|
/INCREMENTAL
|
|
>
|
|
$<$<CONFIG:Release>:
|
|
/OPT:REF;
|
|
/OPT:ICF;
|
|
/INCREMENTAL:NO
|
|
>
|
|
/SUBSYSTEM:CONSOLE
|
|
)
|
|
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
|
|
target_link_options(${PROJECT_NAME} PRIVATE
|
|
$<$<CONFIG:Debug>:
|
|
/INCREMENTAL
|
|
>
|
|
$<$<CONFIG:Release>:
|
|
/OPT:REF;
|
|
/OPT:ICF;
|
|
/INCREMENTAL:NO
|
|
>
|
|
/DEBUG;
|
|
/SUBSYSTEM:CONSOLE
|
|
)
|
|
endif()
|
|
endif()
|
|
|
|
################################################################################
|
|
# Dependencies
|
|
################################################################################
|
|
# Link with other targets.
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE
|
|
AntTweakBar
|
|
DirectXTK_Desktop_2022
|
|
DXUT
|
|
DXUTOpt
|
|
Effects11
|
|
Simulations
|
|
)
|
|
|
|
if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
|
|
set(ADDITIONAL_LIBRARY_DEPENDENCIES
|
|
"$<$<CONFIG:Debug>:"
|
|
"D3DCompiler;"
|
|
"Mf;"
|
|
"mfuuid;"
|
|
"Mfplat;"
|
|
"Mfreadwrite;"
|
|
"kernel32;"
|
|
"user32;"
|
|
"gdi32;"
|
|
"winspool;"
|
|
"comdlg32;"
|
|
"advapi32;"
|
|
"shell32;"
|
|
"ole32;"
|
|
"oleaut32;"
|
|
"uuid;"
|
|
"odbc32;"
|
|
"odbccp32"
|
|
">"
|
|
"comctl32"
|
|
)
|
|
elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
|
|
set(ADDITIONAL_LIBRARY_DEPENDENCIES
|
|
"$<$<CONFIG:Debug>:"
|
|
"D3DCompiler;"
|
|
"Mf;"
|
|
"mfuuid;"
|
|
"Mfplat;"
|
|
"Mfreadwrite;"
|
|
"kernel32;"
|
|
"user32;"
|
|
"gdi32;"
|
|
"winspool;"
|
|
"comdlg32;"
|
|
"advapi32;"
|
|
"shell32;"
|
|
"ole32;"
|
|
"oleaut32;"
|
|
"uuid;"
|
|
"odbc32;"
|
|
"odbccp32"
|
|
">"
|
|
"comctl32"
|
|
)
|
|
endif()
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE "${ADDITIONAL_LIBRARY_DEPENDENCIES}")
|
|
|