diff --git a/CMakeLists.txt b/CMakeLists.txt index 970e657..3e8482c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,13 +7,18 @@ set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_FLAGS "/EHsc /D_AMD64_ /DWIN32_LEAN_AND_MEAN") # Set C++ exception handler, define platform and ignore some unused headers set(CMAKE_CXX_FLAGS_RELEASE "/O2 /DNDEBUG") # Release debug flags -project(dbd-unlocker LANGUAGES CXX CSharp) +project(dbd-unlocker LANGUAGES CXX) set_property(GLOBAL PROPERTY USE_FOLDERS ON) +if(CMAKE_GENERATOR MATCHES "Visual Studio") + enable_language(CSharp) +endif() # ------------------------------ # msvc stuff # ------------------------------ -set(CMAKE_CSharp_PROJECT_TYPE_GUID "9A19103F-16F7-4668-BE54-9A1E7A4F7556") +if(CMAKE_GENERATOR MATCHES "Visual Studio") + set(CMAKE_CSharp_PROJECT_TYPE_GUID "9A19103F-16F7-4668-BE54-9A1E7A4F7556") +endif() if(CMAKE_GENERATOR MATCHES "Visual Studio") string(APPEND CMAKE_CXX_FLAGS " /EHsc /DWIN32_LEAN_AND_MEAN /utf-8 /Zc:char8_t") @@ -96,17 +101,14 @@ add_custom_command(TARGET dbd-unlocker POST_BUILD ) # ------------------------------ -# dumper +# dumper (VS only) # ------------------------------ -include_external_msproject(dbd-dumper "${CMAKE_CURRENT_SOURCE_DIR}/src/dumper/dbd-dumper.csproj") - -include_external_msproject(CUE4Parse "${CMAKE_CURRENT_SOURCE_DIR}/vendor/CUE4Parse/CUE4Parse/CUE4Parse.csproj") - -set_target_properties(dbd-dumper PROPERTIES VS_PROJECT_TYPE "9A19103F-16F7-4668-BE54-9A1E7A4F7556") -set_target_properties(CUE4Parse PROPERTIES VS_PROJECT_TYPE "9A19103F-16F7-4668-BE54-9A1E7A4F7556") - - -add_dependencies(dbd-dumper CUE4Parse) - -set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT dbd-unlocker) +if(CMAKE_GENERATOR MATCHES "Visual Studio") + include_external_msproject(dbd-dumper "${CMAKE_CURRENT_SOURCE_DIR}/src/dumper/dbd-dumper.csproj") + include_external_msproject(CUE4Parse "${CMAKE_CURRENT_SOURCE_DIR}/vendor/CUE4Parse/CUE4Parse/CUE4Parse.csproj") + set_target_properties(dbd-dumper PROPERTIES VS_PROJECT_TYPE "9A19103F-16F7-4668-BE54-9A1E7A4F7556") + set_target_properties(CUE4Parse PROPERTIES VS_PROJECT_TYPE "9A19103F-16F7-4668-BE54-9A1E7A4F7556") + add_dependencies(dbd-dumper CUE4Parse) + set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT dbd-unlocker) +endif()