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}/$/" OUTPUT_DIRECTORY_RELEASE "${CMAKE_SOURCE_DIR}/${CMAKE_VS_PLATFORM_NAME}/$/" ) 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 "$<$:" "${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 "$<$:" "NOMINMAX;" "_DEBUG" ">" "$<$:" "NDEBUG" ">" "WIN32;" "_CONSOLE;" "UNICODE;" "_UNICODE" ) elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64") target_compile_definitions(${PROJECT_NAME} PRIVATE "$<$:" "NOMINMAX;" "_DEBUG" ">" "$<$:" "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 $<$: /Od > $<$: /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 $<$: /Od > $<$: /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 $<$: /DEBUG; /INCREMENTAL > $<$: /OPT:REF; /OPT:ICF; /INCREMENTAL:NO > /SUBSYSTEM:CONSOLE ) elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64") target_link_options(${PROJECT_NAME} PRIVATE $<$: /INCREMENTAL > $<$: /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 "$<$:" "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 "$<$:" "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}")