From 3ffa51566edd828a18fd49e64f0853dd26fdc394 Mon Sep 17 00:00:00 2001 From: Mohamed Ashraf Date: Sun, 1 Mar 2026 18:42:04 +0400 Subject: [PATCH] feat(cmake): hopefully linux shit --- CMakeLists.txt | 14 +- Minecraft.Client/CMakeLists.txt | 745 +++++--------------------------- 2 files changed, 115 insertions(+), 644 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9dd6c0f7e..a0fcade4f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,19 +5,7 @@ project(MinecraftConsoles C CXX) ################################################################################ # Set target arch type if empty. Visual studio solution generator provides it. ################################################################################ -if(NOT CMAKE_VS_PLATFORM_NAME) - set(CMAKE_VS_PLATFORM_NAME "x64") -endif() -message("${CMAKE_VS_PLATFORM_NAME} architecture in use") - -if(NOT ("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Durango" - OR "${CMAKE_VS_PLATFORM_NAME}" STREQUAL "ORBIS" - OR "${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PS3" - OR "${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PSVita" - OR "${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Windows64" - OR "${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Xbox 360")) - message(FATAL_ERROR "${CMAKE_VS_PLATFORM_NAME} arch is not supported!") -endif() +set(CMAKE_VS_PLATFORM_NAME "Linux") ################################################################################ # Global configuration types diff --git a/Minecraft.Client/CMakeLists.txt b/Minecraft.Client/CMakeLists.txt index 9ac8a1e3f..e39feffba 100644 --- a/Minecraft.Client/CMakeLists.txt +++ b/Minecraft.Client/CMakeLists.txt @@ -2471,654 +2471,137 @@ set_target_properties(${PROJECT_NAME} PROPERTIES ################################################################################ # Target name ################################################################################ -if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Durango") - set_target_properties(${PROJECT_NAME} PROPERTIES - TARGET_NAME_CONTENTPACKAGE_NO_TU "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - TARGET_NAME_CONTENTPACKAGE_SYMBOLS "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - TARGET_NAME_CONTENTPACKAGE "${PROJECT_NAME}" - TARGET_NAME_DEBUG "${PROJECT_NAME}" - TARGET_NAME_RELEASE "${PROJECT_NAME}" - TARGET_NAME_RELEASEFORART "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PS3") - set_target_properties(${PROJECT_NAME} PROPERTIES - TARGET_NAME_CONTENTPACKAGE_NO_TU "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - TARGET_NAME_CONTENTPACKAGE_SYMBOLS "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - TARGET_NAME_CONTENTPACKAGE "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - TARGET_NAME_RELEASEFORART "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PSVita") - set_target_properties(${PROJECT_NAME} PROPERTIES - TARGET_NAME_CONTENTPACKAGE_NO_TU "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - TARGET_NAME_CONTENTPACKAGE_SYMBOLS "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - TARGET_NAME_RELEASEFORART "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Windows64") - set_target_properties(${PROJECT_NAME} PROPERTIES - TARGET_NAME_CONTENTPACKAGE_NO_TU "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - TARGET_NAME_CONTENTPACKAGE_SYMBOLS "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - TARGET_NAME_CONTENTPACKAGE "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - TARGET_NAME_RELEASEFORART "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Xbox 360") - set_target_properties(${PROJECT_NAME} PROPERTIES - TARGET_NAME_CONTENTPACKAGE_NO_TU "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - TARGET_NAME_CONTENTPACKAGE_SYMBOLS "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - TARGET_NAME_CONTENTPACKAGE "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" - ) -endif() +set_target_properties(${PROJECT_NAME} PROPERTIES + TARGET_NAME_CONTENTPACKAGE_NO_TU "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" + TARGET_NAME_CONTENTPACKAGE_SYMBOLS "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" + TARGET_NAME_CONTENTPACKAGE "${PROJECT_NAME}" + TARGET_NAME_DEBUG "${PROJECT_NAME}" + TARGET_NAME_RELEASE "${PROJECT_NAME}" + TARGET_NAME_RELEASEFORART "${OUTPUT_DIRECTORY}default$ENV{TargetExt}" +) + ################################################################################ # Output directory ################################################################################ -if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Durango") - set_target_properties(${PROJECT_NAME} PROPERTIES - OUTPUT_DIRECTORY_CONTENTPACKAGE_NO_TU "${CMAKE_CURRENT_SOURCE_DIR}/" - OUTPUT_DIRECTORY_CONTENTPACKAGE_SYMBOLS "${CMAKE_CURRENT_SOURCE_DIR}/" - OUTPUT_DIRECTORY_CONTENTPACKAGE "${CMAKE_SOURCE_DIR}/${CMAKE_VS_PLATFORM_NAME}_$/" - OUTPUT_DIRECTORY_DEBUG "${CMAKE_SOURCE_DIR}/${CMAKE_VS_PLATFORM_NAME}_$/" - OUTPUT_DIRECTORY_RELEASE "${CMAKE_SOURCE_DIR}/${CMAKE_VS_PLATFORM_NAME}_$/" - OUTPUT_DIRECTORY_RELEASEFORART "${CMAKE_CURRENT_SOURCE_DIR}/" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PS3") - set_target_properties(${PROJECT_NAME} PROPERTIES - OUTPUT_DIRECTORY_CONTENTPACKAGE_NO_TU "${CMAKE_CURRENT_SOURCE_DIR}/" - OUTPUT_DIRECTORY_CONTENTPACKAGE_SYMBOLS "${CMAKE_CURRENT_SOURCE_DIR}/" - OUTPUT_DIRECTORY_CONTENTPACKAGE "${CMAKE_CURRENT_SOURCE_DIR}/" - OUTPUT_DIRECTORY_RELEASEFORART "${CMAKE_CURRENT_SOURCE_DIR}/" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PSVita") - set_target_properties(${PROJECT_NAME} PROPERTIES - OUTPUT_DIRECTORY_CONTENTPACKAGE_NO_TU "${CMAKE_CURRENT_SOURCE_DIR}/" - OUTPUT_DIRECTORY_CONTENTPACKAGE_SYMBOLS "${CMAKE_CURRENT_SOURCE_DIR}/" - OUTPUT_DIRECTORY_RELEASEFORART "${CMAKE_CURRENT_SOURCE_DIR}/" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Windows64") - set_target_properties(${PROJECT_NAME} PROPERTIES - OUTPUT_DIRECTORY_CONTENTPACKAGE_NO_TU "${CMAKE_CURRENT_SOURCE_DIR}/" - OUTPUT_DIRECTORY_CONTENTPACKAGE_SYMBOLS "${CMAKE_CURRENT_SOURCE_DIR}/" - OUTPUT_DIRECTORY_CONTENTPACKAGE "${CMAKE_CURRENT_SOURCE_DIR}/" - OUTPUT_DIRECTORY_RELEASEFORART "${CMAKE_CURRENT_SOURCE_DIR}/" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Xbox 360") - set_target_properties(${PROJECT_NAME} PROPERTIES - OUTPUT_DIRECTORY_CONTENTPACKAGE_NO_TU "${CMAKE_CURRENT_SOURCE_DIR}/" - OUTPUT_DIRECTORY_CONTENTPACKAGE_SYMBOLS "${CMAKE_CURRENT_SOURCE_DIR}/" - OUTPUT_DIRECTORY_CONTENTPACKAGE "${CMAKE_CURRENT_SOURCE_DIR}/" - ) -endif() -if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Durango") - set_target_properties(${PROJECT_NAME} PROPERTIES - PDB_OUTPUT_DIRECTORY "${OUTPUT_DIRECTORY}" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PS3") - set_target_properties(${PROJECT_NAME} PROPERTIES - PDB_OUTPUT_DIRECTORY "${OUTPUT_DIRECTORY}" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PSVita") - set_target_properties(${PROJECT_NAME} PROPERTIES - PDB_OUTPUT_DIRECTORY "${OUTPUT_DIRECTORY}" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Windows64") - set_target_properties(${PROJECT_NAME} PROPERTIES - PDB_OUTPUT_DIRECTORY "${OUTPUT_DIRECTORY}" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Xbox 360") - set_target_properties(${PROJECT_NAME} PROPERTIES - PDB_OUTPUT_DIRECTORY "${OUTPUT_DIRECTORY}" - ) -endif() -if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Durango") - set_target_properties(${PROJECT_NAME} PROPERTIES - INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE_NO_TU "TRUE" - INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE_SYMBOLS "TRUE" - INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE "TRUE" - INTERPROCEDURAL_OPTIMIZATION_DEBUG "FALSE" - INTERPROCEDURAL_OPTIMIZATION_RELEASE "TRUE" - INTERPROCEDURAL_OPTIMIZATION_RELEASEFORART "TRUE" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PS3") - set_target_properties(${PROJECT_NAME} PROPERTIES - INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE_NO_TU "TRUE" - INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE_SYMBOLS "TRUE" - INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE "TRUE" - INTERPROCEDURAL_OPTIMIZATION_RELEASEFORART "TRUE" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PSVita") - set_target_properties(${PROJECT_NAME} PROPERTIES - INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE_NO_TU "TRUE" - INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE_SYMBOLS "TRUE" - INTERPROCEDURAL_OPTIMIZATION_RELEASEFORART "TRUE" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Windows64") - set_target_properties(${PROJECT_NAME} PROPERTIES - INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE_NO_TU "TRUE" - INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE_SYMBOLS "TRUE" - INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE "TRUE" - INTERPROCEDURAL_OPTIMIZATION_RELEASEFORART "TRUE" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Xbox 360") - set_target_properties(${PROJECT_NAME} PROPERTIES - INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE_NO_TU "TRUE" - INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE_SYMBOLS "TRUE" - INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE "TRUE" - ) -endif() +set_target_properties(${PROJECT_NAME} PROPERTIES + OUTPUT_DIRECTORY_CONTENTPACKAGE_NO_TU "${CMAKE_CURRENT_SOURCE_DIR}/" + OUTPUT_DIRECTORY_CONTENTPACKAGE_SYMBOLS "${CMAKE_CURRENT_SOURCE_DIR}/" + OUTPUT_DIRECTORY_CONTENTPACKAGE "${CMAKE_CURRENT_SOURCE_DIR}/" +) + +set_target_properties(${PROJECT_NAME} PROPERTIES + PDB_OUTPUT_DIRECTORY "${OUTPUT_DIRECTORY}" +) + +set_target_properties(${PROJECT_NAME} PROPERTIES + INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE_NO_TU "TRUE" + INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE_SYMBOLS "TRUE" + INTERPROCEDURAL_OPTIMIZATION_CONTENTPACKAGE "TRUE" +) + + ################################################################################ # MSVC runtime library ################################################################################ -get_property(MSVC_RUNTIME_LIBRARY_DEFAULT TARGET ${PROJECT_NAME} PROPERTY MSVC_RUNTIME_LIBRARY) -if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Durango") - string(CONCAT "MSVC_RUNTIME_LIBRARY_STR" - $<$: - MultiThreaded - > - $<$: - MultiThreaded - > - $<$: - MultiThreadedDLL - > - $<$: - MultiThreadedDebugDLL - > - $<$: - MultiThreadedDLL - > - $<$: - MultiThreaded - > - $<$,$,$,$,$,$>>:${MSVC_RUNTIME_LIBRARY_DEFAULT}> - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PS3") - string(CONCAT "MSVC_RUNTIME_LIBRARY_STR" - $<$: - MultiThreaded - > - $<$: - MultiThreaded - > - $<$: - MultiThreaded - > - $<$: - MultiThreadedDebug - > - $<$: - MultiThreadedDebug - > - $<$: - MultiThreaded - > - $<$,$,$,$,$,$>>:${MSVC_RUNTIME_LIBRARY_DEFAULT}> - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PSVita") - string(CONCAT "MSVC_RUNTIME_LIBRARY_STR" - $<$: - MultiThreaded - > - $<$: - MultiThreaded - > - $<$: - MultiThreaded - > - $<$: - MultiThreadedDebug - > - $<$: - MultiThreadedDebug - > - $<$: - MultiThreaded - > - $<$,$,$,$,$,$>>:${MSVC_RUNTIME_LIBRARY_DEFAULT}> - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Windows64") - string(CONCAT "MSVC_RUNTIME_LIBRARY_STR" - $<$: - MultiThreaded - > - $<$: - MultiThreaded - > - $<$: - MultiThreaded - > - $<$: - MultiThreadedDebug - > - $<$: - MultiThreaded - > - $<$: - MultiThreaded - > - $<$,$,$,$,$,$>>:${MSVC_RUNTIME_LIBRARY_DEFAULT}> - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Xbox 360") - string(CONCAT "MSVC_RUNTIME_LIBRARY_STR" - $<$: - MultiThreaded - > - $<$: - MultiThreaded - > - $<$: - MultiThreaded - > - $<$: - MultiThreadedDebug - > - $<$: - MultiThreaded - > - $<$: - MultiThreaded - > - $<$,$,$,$,$,$>>:${MSVC_RUNTIME_LIBRARY_DEFAULT}> - ) -endif() +string(CONCAT "MSVC_RUNTIME_LIBRARY_STR" + $<$: + libstdc++ + > + $<$: + libstdc++ + > + $<$: + libstdc++ + > + $<$: + libstdc++_debug + > + $<$: + libstdc++ + > + $<$: + libstdc++ + > + $<$,$,$,$,$,$>>:${CXX_RUNTIME_LIBRARY_DEFAULT}> +) + + set_target_properties(${PROJECT_NAME} PROPERTIES MSVC_RUNTIME_LIBRARY ${MSVC_RUNTIME_LIBRARY_STR}) -################################################################################ -# Include directories -################################################################################ -if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Durango") - target_include_directories(${PROJECT_NAME} PUBLIC - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/Durango/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/Durango/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/Durango/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "ORBIS") - target_include_directories(${PROJECT_NAME} PUBLIC - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/Orbis/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/Orbis/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/Orbis/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/Orbis/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/Orbis/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PS3") - target_include_directories(${PROJECT_NAME} PUBLIC - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/PS3/Iggy/include" - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/PS3/Iggy/include" - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/PS3/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/PS3/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/PS3/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PSVita") - target_include_directories(${PROJECT_NAME} PUBLIC - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/PS3/Iggy/include" - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/PSVita/Iggy/include" - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/PSVita/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/PSVita/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/PS3/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Windows64") - target_include_directories(${PROJECT_NAME} PUBLIC - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/Windows64/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - "$<$:" - "${CMAKE_CURRENT_SOURCE_DIR}/Windows64/Iggy/include;" - "${CMAKE_CURRENT_SOURCE_DIR}/." - ">" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Xbox 360") - target_include_directories(${PROJECT_NAME} PUBLIC - "${CMAKE_CURRENT_SOURCE_DIR}/." - ) -endif() +target_include_directories(${PROJECT_NAME} PUBLIC + "${CMAKE_CURRENT_SOURCE_DIR}/." +) + ################################################################################ # Compile definitions ################################################################################ -if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Durango") - target_compile_definitions(${PROJECT_NAME} PRIVATE - "$<$:" - "_TU_BUILD;" - "_FINAL_BUILD;" - "_ITERATOR_DEBUG_LEVEL=0;" - "NDEBUG;" - "_XBOX;" - "_CONTENT_PACKAGE;" - ";" - "_MBCS" - ">" - "$<$:" - "_TU_BUILD;" - "_FINAL_BUILD;" - "_ITERATOR_DEBUG_LEVEL=0;" - "NDEBUG;" - "_XBOX;" - "_CONTENT_PACKAGE;" - ";" - "_MBCS" - ">" - "$<$:" - "SPLIT_SAVES;" - "_LARGE_WORLDS;" - "_EXTENDED_ACHIEVEMENTS;" - "_FINAL_BUILD;" - "_CONTENT_PACKAGE;" - "NDEBUG;" - "__WRL_NO_DEFAULT_LIB__;" - "_XM_AVX_INTRINSICS_;" - "_CRT_NON_CONFORMING_SWPRINTFS;" - "_CRT_SECURE_NO_WARNINGS;" - "UNICODE;" - "_UNICODE" - ">" - "$<$:" - "SPLIT_SAVES;" - "_LARGE_WORLDS;" - "_EXTENDED_ACHIEVEMENTS;" - "UNICODE;" - "_UNICODE;" - "__WRL_NO_DEFAULT_LIB__;" - "WINAPI_FAMILY=WINAPI_FAMILY_TV_TITLE;" - "WIN32_LEAN_AND_MEAN;" - "_XM_AVX_INTRINSICS_;" - "_DEBUG_MENUS_ENABLED;" - "_DEBUG;" - "_CRT_NON_CONFORMING_SWPRINTFS;" - "_CRT_SECURE_NO_WARNINGS;" - "_DURANGO;" - "UNICODE;" - "_UNICODE" - ">" - "$<$:" - "SPLIT_SAVES;" - "_LARGE_WORLDS;" - "_EXTENDED_ACHIEVEMENTS;" - "PROFILE;" - "NDEBUG;" - "UNICODE;" - "_UNICODE;" - "__WRL_NO_DEFAULT_LIB__;" - "WINAPI_FAMILY=WINAPI_FAMILY_TV_TITLE;" - "WIN32_LEAN_AND_MEAN;" - "_XM_AVX_INTRINSICS_;" - "_DEBUG_MENUS_ENABLED;" - "_CRT_NON_CONFORMING_SWPRINTFS;" - "_CRT_SECURE_NO_WARNINGS;" - "_DURANGO;" - "UNICODE;" - "_UNICODE" - ">" - "$<$:" - "_TU_BUILD;" - "_FINAL_BUILD;" - "_ITERATOR_DEBUG_LEVEL=0;" - "NDEBUG;" - "_XBOX;" - "_CONTENT_PACKAGE;" - ";" - "_MBCS" - ">" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "ORBIS") - target_compile_definitions(${PROJECT_NAME} PRIVATE - "$<$:" - "SPLIT_SAVES;" - "_LARGE_WORLDS;" - "_EXTENDED_ACHIEVEMENTS;" - "_CONTENT_PACKAGE;" - "_FINAL_BUILD" - ">" - "$<$:" - "SPLIT_SAVES;" - "_LARGE_WORLDS;" - "_EXTENDED_ACHIEVEMENTS;" - "_CONTENT_PACKAGE;" - "_FINAL_BUILD" - ">" - "$<$:" - "SPLIT_SAVES;" - "_LARGE_WORLDS;" - "_EXTENDED_ACHIEVEMENTS;" - "_DEBUG_MENUS_ENABLED;" - "_DEBUG" - ">" - "$<$:" - "SPLIT_SAVES;" - "_LARGE_WORLDS;" - "_EXTENDED_ACHIEVEMENTS;" - "_DEBUG_MENUS_ENABLED" - ">" - "$<$:" - "SPLIT_SAVES;" - "_LARGE_WORLDS;" - "_EXTENDED_ACHIEVEMENTS;" - "_DEBUG_MENUS_ENABLED;" - "_ART_BUILD" - ">" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PS3") - target_compile_definitions(${PROJECT_NAME} PRIVATE - "$<$:" - "_TU_BUILD;" - "_FINAL_BUILD;" - "NDEBUG;" - "_XBOX;" - "_CONTENT_PACKAGE;" - "" - ">" - "$<$:" - "_CONTENT_PACKAGE;" - "_FINAL_BUILD;" - "_SECURE_SCL=0" - ">" - "$<$:" - "_CONTENT_PACKAGE;" - "_FINAL_BUILD;" - "_SECURE_SCL=0" - ">" - "$<$:" - "_DEBUG_MENUS_ENABLED;" - "_SECURE_SCL=0;" - "_DEBUG" - ">" - "$<$:" - "_DEBUG_MENUS_ENABLED;" - "_SECURE_SCL=0" - ">" - "$<$:" - "_RELEASE_FOR_ART;" - "_DEBUG_MENUS_ENABLED;" - "_SECURE_SCL=0" - ">" +target_compile_definitions(${PROJECT_NAME} PRIVATE + "$<$:" + "_TU_BUILD;" + "_FINAL_BUILD;" "_ITERATOR_DEBUG_LEVEL=0;" + "NDEBUG;" + "_LINUX;" + "_CONTENT_PACKAGE;" "_MBCS" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "PSVita") - target_compile_definitions(${PROJECT_NAME} PRIVATE - "$<$:" - "_TU_BUILD;" - "_FINAL_BUILD;" - "_ITERATOR_DEBUG_LEVEL=0;" - "NDEBUG;" - "_XBOX;" - "_CONTENT_PACKAGE" - ">" - "$<$:" - "_CONTENT_PACKAGE;" - "_FINAL_BUILD;" - "_ITERATOR_DEBUG_LEVEL=0;" - "_SECURE_SCL=0" - ">" - "$<$:" - "_CONTENT_PACKAGE;" - "_FINAL_BUILD" - ">" - "$<$:" - "_DEBUG_MENUS_ENABLED;" - "_ITERATOR_DEBUG_LEVEL=0;" - "_SECURE_SCL=0;" - "_DEBUG" - ">" - "$<$:" - "_DEBUG_MENUS_ENABLED;" - "_ITERATOR_DEBUG_LEVEL=0;" - "_SECURE_SCL=0" - ">" - "$<$:" - "_RELEASE_FOR_ART;" - "_DEBUG_MENUS_ENABLED;" - "_ITERATOR_DEBUG_LEVEL=0;" - "_SECURE_SCL=0" - ">" + ">" + "$<$:" + "_TU_BUILD;" + "_FINAL_BUILD;" + "_ITERATOR_DEBUG_LEVEL=0;" + "NDEBUG;" + "_LINUX;" + "_CONTENT_PACKAGE;" + "_MBCS" + ">" + "$<$:" + "SPLIT_SAVES;" + "_LARGE_WORLDS;" "_EXTENDED_ACHIEVEMENTS;" - "__PSVITA__;" - "_MBCS" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Windows64") - target_compile_definitions(${PROJECT_NAME} PRIVATE - "$<$:" - "_TU_BUILD;" - "_FINAL_BUILD;" - "_ITERATOR_DEBUG_LEVEL=0;" - "NDEBUG;" - "_XBOX;" - "_CONTENT_PACKAGE;" - "" - ">" - "$<$:" - "_TU_BUILD;" - "_FINAL_BUILD;" - "_ITERATOR_DEBUG_LEVEL=0;" - "NDEBUG;" - "_CONTENT_PACKAGE" - ">" - "$<$:" - "_TU_BUILD;" - "_FINAL_BUILD;" - "_ITERATOR_DEBUG_LEVEL=0;" - "NDEBUG;" - "_XBOX;" - "_CONTENT_PACKAGE;" - "" - ">" - "$<$:" - "_LARGE_WORLDS;" - "_DEBUG_MENUS_ENABLED;" - "_DEBUG;" - "_CRT_NON_CONFORMING_SWPRINTFS;" - "_CRT_SECURE_NO_WARNINGS;" - "_WINDOWS64" - ">" - "$<$:" - "_LARGE_WORLDS;" - "_DEBUG_MENUS_ENABLED;" - "_CRT_NON_CONFORMING_SWPRINTFS;" - "_CRT_SECURE_NO_WARNINGS;" - "_WINDOWS64" - ">" - "$<$:" - "_TU_BUILD;" - "_FINAL_BUILD;" - "_ITERATOR_DEBUG_LEVEL=0;" - "NDEBUG;" - "_XBOX;" - "_CONTENT_PACKAGE;" - "" - ">" - "_MBCS" - ) -elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Xbox 360") - target_compile_definitions(${PROJECT_NAME} PRIVATE - "$<$:" - "_FINAL_BUILD;" - "_CONTENT_PACKAGE;" - "NDEBUG" - ">" - "$<$:" - "_TU_BUILD;" - "_FINAL_BUILD;" - "NDEBUG;" - "_CONTENT_PACKAGE;" - "" - ">" - "$<$:" - "_TU_BUILD;" - "_FINAL_BUILD;" - "NDEBUG;" - "_CONTENT_PACKAGE;" - "" - ">" - "$<$:" - "_DEBUG_MENUS_ENABLED;" - "_SECURE_SCL=0;" - "_DEBUG" - ">" - "$<$:" - "_DEBUG_MENUS_ENABLED;" - "NDEBUG;" - "PROFILE" - ">" - "$<$:" - "_DEBUG_MENUS_ENABLED;" - "NDEBUG;" - "PROFILE" - ">" + "_FINAL_BUILD;" + "_CONTENT_PACKAGE;" + "NDEBUG;" + "UNICODE;" + "_UNICODE" + ">" + "$<$:" + "SPLIT_SAVES;" + "_LARGE_WORLDS;" + "_EXTENDED_ACHIEVEMENTS;" + "UNICODE;" + "_UNICODE;" + "_DEBUG_MENUS_ENABLED;" + "_DEBUG;" + "_LINUX;" + "UNICODE;" + "_UNICODE" + ">" + "$<$:" + "SPLIT_SAVES;" + "_LARGE_WORLDS;" + "_EXTENDED_ACHIEVEMENTS;" + "PROFILE;" + "NDEBUG;" + "UNICODE;" + "_UNICODE;" + "_DEBUG_MENUS_ENABLED;" + "_CRT_NON_CONFORMING_SWPRINTFS;" + "_LINUX;" + "UNICODE;" + "_UNICODE" + ">" + "$<$:" + "_TU_BUILD;" + "_FINAL_BUILD;" "_ITERATOR_DEBUG_LEVEL=0;" - "_XBOX;" + "NDEBUG;" + "_LINUX;" + "_CONTENT_PACKAGE;" + ";" "_MBCS" - ) -endif() + ">" +) ################################################################################ # Compile and link options